diff --git a/.sdk-version b/.sdk-version
index 1be1028..848b85e 100644
--- a/.sdk-version
+++ b/.sdk-version
@@ -1 +1 @@
-v4.72.2
+v4.73.0
diff --git a/README.md b/README.md
index f366e99..b3cfd7f 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Add this dependency to your project's POM:
ai.reveng
sdk
- 4.72.2
+ 4.73.0
compile
```
@@ -31,7 +31,7 @@ repositories {
}
dependencies {
- implementation "ai.reveng:sdk:4.72.2"
+ implementation "ai.reveng:sdk:4.73.0"
}
```
@@ -100,6 +100,7 @@ Class | Method | HTTP request | Description
*AgentApi* | [**v3GetCapabilitiesOperation**](docs/AgentApi.md#v3GetCapabilitiesOperation) | **GET** /v3/operations/capabilities/{analysis_id} | Get a capabilities operation.
*AgentApi* | [**v3GetCryptoExplainOperation**](docs/AgentApi.md#v3GetCryptoExplainOperation) | **GET** /v3/operations/crypto-explain/{function_id} | Get a crypto-explain operation.
*AgentApi* | [**v3GetCryptoScanOperation**](docs/AgentApi.md#v3GetCryptoScanOperation) | **GET** /v3/operations/crypto-scan/{analysis_id} | Get a crypto-scan operation.
+*AgentApi* | [**v3GetCryptographyOperation**](docs/AgentApi.md#v3GetCryptographyOperation) | **GET** /v3/operations/cryptography/{analysis_id} | Get a cryptography operation.
*AgentApi* | [**v3GetExecutionExplainOperation**](docs/AgentApi.md#v3GetExecutionExplainOperation) | **GET** /v3/operations/execution-explain/{function_id} | Get an execution-explain operation.
*AgentApi* | [**v3GetExecutionScanOperation**](docs/AgentApi.md#v3GetExecutionScanOperation) | **GET** /v3/operations/execution-scan/{analysis_id} | Get an execution-scan operation.
*AgentApi* | [**v3GetFilesystemAnalyseOperation**](docs/AgentApi.md#v3GetFilesystemAnalyseOperation) | **GET** /v3/operations/filesystem-analyse/{function_id} | Get a filesystem-analyse operation.
@@ -108,15 +109,18 @@ Class | Method | HTTP request | Description
*AgentApi* | [**v3GetNetworkingScanOperation**](docs/AgentApi.md#v3GetNetworkingScanOperation) | **GET** /v3/operations/networking-scan/{analysis_id} | Get a networking-scan operation.
*AgentApi* | [**v3GetProtocolsOperation**](docs/AgentApi.md#v3GetProtocolsOperation) | **GET** /v3/operations/protocols/{analysis_id} | Get a protocols operation.
*AgentApi* | [**v3GetRemediationOperation**](docs/AgentApi.md#v3GetRemediationOperation) | **GET** /v3/operations/remediation/{analysis_id} | Get a remediation operation.
+*AgentApi* | [**v3GetRenameUnnamedFunctionsOperation**](docs/AgentApi.md#v3GetRenameUnnamedFunctionsOperation) | **GET** /v3/operations/rename-unnamed-functions/{analysis_id} | Get a rename-unnamed-functions operation.
*AgentApi* | [**v3GetRenameUnnamedFunctionsResult**](docs/AgentApi.md#v3GetRenameUnnamedFunctionsResult) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions | Get rename-unnamed-functions agent result.
*AgentApi* | [**v3GetRenameUnnamedFunctionsStatus**](docs/AgentApi.md#v3GetRenameUnnamedFunctionsStatus) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions/status | Get rename-unnamed-functions agent status.
*AgentApi* | [**v3GetReportAnalysisOperation**](docs/AgentApi.md#v3GetReportAnalysisOperation) | **GET** /v3/operations/report-analysis/{analysis_id} | Get a report-analysis operation.
*AgentApi* | [**v3GetSecretsOperation**](docs/AgentApi.md#v3GetSecretsOperation) | **GET** /v3/operations/secrets/{analysis_id} | Get a secrets operation.
*AgentApi* | [**v3GetSecurityScanOperation**](docs/AgentApi.md#v3GetSecurityScanOperation) | **GET** /v3/operations/security-scan/{analysis_id} | Get a security-scan operation.
*AgentApi* | [**v3GetTriageOperation**](docs/AgentApi.md#v3GetTriageOperation) | **GET** /v3/operations/triage/{analysis_id} | Get a triage operation.
+*AgentApi* | [**v3ListOperationPrerequisites**](docs/AgentApi.md#v3ListOperationPrerequisites) | **GET** /v3/operation-prerequisites | List operation prerequisites.
*AgentApi* | [**v3RunCapabilities**](docs/AgentApi.md#v3RunCapabilities) | **POST** /v3/analyses/{analysis_id}/capabilities:run | Run the capabilities agent.
*AgentApi* | [**v3RunCryptoExplain**](docs/AgentApi.md#v3RunCryptoExplain) | **POST** /v3/functions/{function_id}/crypto-explain:run | Run the crypto-explain agent.
*AgentApi* | [**v3RunCryptoScan**](docs/AgentApi.md#v3RunCryptoScan) | **POST** /v3/analyses/{analysis_id}/crypto-scan:run | Run the crypto-scan agent.
+*AgentApi* | [**v3RunCryptography**](docs/AgentApi.md#v3RunCryptography) | **POST** /v3/analyses/{analysis_id}/cryptography:run | Run the cryptography agent.
*AgentApi* | [**v3RunExecutionExplain**](docs/AgentApi.md#v3RunExecutionExplain) | **POST** /v3/functions/{function_id}/execution-explain:run | Run the execution-explain agent.
*AgentApi* | [**v3RunExecutionScan**](docs/AgentApi.md#v3RunExecutionScan) | **POST** /v3/analyses/{analysis_id}/execution-scan:run | Run the execution-scan agent.
*AgentApi* | [**v3RunFilesystemAnalyse**](docs/AgentApi.md#v3RunFilesystemAnalyse) | **POST** /v3/functions/{function_id}/filesystem-analyse:run | Run the filesystem-analyse agent.
@@ -167,17 +171,37 @@ Class | Method | HTTP request | Description
*AnalysesCoreApi* | [**v3GetAnalysis**](docs/AnalysesCoreApi.md#v3GetAnalysis) | **GET** /v3/analyses/{analysis_id} | Get an analysis.
*AnalysesCoreApi* | [**v3GetAnalysisAutoUnstripStatus**](docs/AnalysesCoreApi.md#v3GetAnalysisAutoUnstripStatus) | **GET** /v3/analyses/{analysis_id}/auto-unstrip/status | Get the auto-unstrip status for an analysis.
*AnalysesCoreApi* | [**v3GetAnalysisFunctionsProgress**](docs/AnalysesCoreApi.md#v3GetAnalysisFunctionsProgress) | **GET** /v3/analyses/{analysis_id}/progress/functions | Get function embedding progress for an analysis.
+*AnalysesCoreApi* | [**v3GetAnalysisGlobal**](docs/AnalysesCoreApi.md#v3GetAnalysisGlobal) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr} | Get one global variable.
+*AnalysesCoreApi* | [**v3GetAnalysisGlobalHistory**](docs/AnalysesCoreApi.md#v3GetAnalysisGlobalHistory) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr}/history | List a global variable's replaced values.
*AnalysesCoreApi* | [**v3GetAnalysisLogs**](docs/AnalysesCoreApi.md#v3GetAnalysisLogs) | **GET** /v3/analyses/{analysis_id}/logs | Get the Analysis log
*AnalysesCoreApi* | [**v3GetAnalysisOperation**](docs/AnalysesCoreApi.md#v3GetAnalysisOperation) | **GET** /v3/operations/analyses/{analysis_id} | Get an Analysis-creation operation
*AnalysesCoreApi* | [**v3GetAnalysisStrings**](docs/AnalysesCoreApi.md#v3GetAnalysisStrings) | **GET** /v3/analyses/{analysis_id}/functions/strings | List strings for an analysis.
*AnalysesCoreApi* | [**v3GetAnalysisStringsStatus**](docs/AnalysesCoreApi.md#v3GetAnalysisStringsStatus) | **GET** /v3/analyses/{analysis_id}/functions/strings/status | Get the string-extraction status for an analysis.
*AnalysesCoreApi* | [**v3GetBinaryExportOperation**](docs/AnalysesCoreApi.md#v3GetBinaryExportOperation) | **GET** /v3/operations/binary-export/{task_id} | Get a binary export operation
+*AnalysesCoreApi* | [**v3GetDynamicExecutionArtifact**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionArtifact) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/artifacts/{sha256} | Download an artifact.
+*AnalysesCoreApi* | [**v3GetDynamicExecutionLogsDownload**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionLogsDownload) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/logs/download | Download the execution logs archive.
+*AnalysesCoreApi* | [**v3GetDynamicExecutionMemdump**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionMemdump) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/memdumps/{sha256} | Download a memory dump.
+*AnalysesCoreApi* | [**v3GetDynamicExecutionOperation**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionOperation) | **GET** /v3/operations/dynamic-execution/{analysis_id} | Get a dynamic execution operation.
+*AnalysesCoreApi* | [**v3GetDynamicExecutionPcap**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionPcap) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/pcap | Download the network capture.
+*AnalysesCoreApi* | [**v3GetDynamicExecutionReport**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionReport) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/report | Get the dynamic execution report.
+*AnalysesCoreApi* | [**v3GetDynamicExecutionScreenshot**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionScreenshot) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/screenshots/{index} | Download a screenshot.
+*AnalysesCoreApi* | [**v3GetDynamicExecutionSummary**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionSummary) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/summary | Get the dynamic execution summary.
+*AnalysesCoreApi* | [**v3GetDynamicExecutionSummaryOperation**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionSummaryOperation) | **GET** /v3/operations/dynamic-execution-summary/{analysis_id} | Get a dynamic execution summary operation.
+*AnalysesCoreApi* | [**v3GetDynamicExecutionWiresharkKeys**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionWiresharkKeys) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/wireshark-keys | Download Wireshark TLS session keys.
*AnalysesCoreApi* | [**v3ListAnalyses**](docs/AnalysesCoreApi.md#v3ListAnalyses) | **GET** /v3/analyses | List analyses
+*AnalysesCoreApi* | [**v3ListAnalysisGlobals**](docs/AnalysesCoreApi.md#v3ListAnalysisGlobals) | **GET** /v3/analyses/{analysis_id}/globals | List the global variables in an analysis.
+*AnalysesCoreApi* | [**v3ListAnalysisOperations**](docs/AnalysesCoreApi.md#v3ListAnalysisOperations) | **GET** /v3/analyses/{analysis_id}/operations | List the operations run on an analysis.
+*AnalysesCoreApi* | [**v3ListDynamicExecutionScreenshots**](docs/AnalysesCoreApi.md#v3ListDynamicExecutionScreenshots) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/screenshots | List the screenshots captured during execution.
*AnalysesCoreApi* | [**v3ListExampleAnalyses**](docs/AnalysesCoreApi.md#v3ListExampleAnalyses) | **GET** /v3/analyses/examples | List example analyses
+*AnalysesCoreApi* | [**v3ListGlobalFunctions**](docs/AnalysesCoreApi.md#v3ListGlobalFunctions) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr}/functions | List the functions referencing a global variable.
*AnalysesCoreApi* | [**v3LookupAnalysisByBinaryId**](docs/AnalysesCoreApi.md#v3LookupAnalysisByBinaryId) | **GET** /v3/analyses/lookup/{binary_id} | Look up the most recent analysis for a binary.
*AnalysesCoreApi* | [**v3QueueBinaryExport**](docs/AnalysesCoreApi.md#v3QueueBinaryExport) | **POST** /v3/analyses/{analysis_id}/binary-export | Queue a binary export
+*AnalysesCoreApi* | [**v3RequeueAnalysis**](docs/AnalysesCoreApi.md#v3RequeueAnalysis) | **POST** /v3/analyses/{analysis_id}/requeue | Requeue an analysis
+*AnalysesCoreApi* | [**v3RunDynamicExecution**](docs/AnalysesCoreApi.md#v3RunDynamicExecution) | **POST** /v3/analyses/{analysis_id}/dynamic-execution:run | Trigger a dynamic execution run.
+*AnalysesCoreApi* | [**v3RunDynamicExecutionSummary**](docs/AnalysesCoreApi.md#v3RunDynamicExecutionSummary) | **POST** /v3/analyses/{analysis_id}/dynamic-execution/summary:run | Regenerate the dynamic execution summary.
*AnalysesCoreApi* | [**v3SearchTags**](docs/AnalysesCoreApi.md#v3SearchTags) | **GET** /v3/tags | Search tags
*AnalysesCoreApi* | [**v3UpdateAnalysis**](docs/AnalysesCoreApi.md#v3UpdateAnalysis) | **PATCH** /v3/analyses/{analysis_id} | Update an analysis.
+*AnalysesCoreApi* | [**v3UpdateAnalysisGlobal**](docs/AnalysesCoreApi.md#v3UpdateAnalysisGlobal) | **PATCH** /v3/analyses/{analysis_id}/globals/{vaddr} | Edit a global variable.
*AnalysesCoreApi* | [**v3UpdateAnalysisTags**](docs/AnalysesCoreApi.md#v3UpdateAnalysisTags) | **PATCH** /v3/analyses/{analysis_id}/tags | Replace an analysis' tags.
*AnalysesCoreApi* | [**v3UpgradeAnalysisModel**](docs/AnalysesCoreApi.md#v3UpgradeAnalysisModel) | **POST** /v3/analyses/{analysis_id}/upgrade-model | Re-analyse on the latest model
*AnalysesResultsMetadataApi* | [**getAnalysisFunctionsPaginated**](docs/AnalysesResultsMetadataApi.md#getAnalysisFunctionsPaginated) | **GET** /v2/analyses/{analysis_id}/functions | Get functions from analysis
@@ -193,6 +217,7 @@ Class | Method | HTTP request | Description
*AuthenticationUsersApi* | [**submitUserFeedback**](docs/AuthenticationUsersApi.md#submitUserFeedback) | **POST** /v2/users/feedback | Submit feedback about the application
*AuthenticationUsersApi* | [**v3GetUser**](docs/AuthenticationUsersApi.md#v3GetUser) | **GET** /v3/users/{user_id} | Get a user's public information
*AuthenticationUsersApi* | [**v3GetUserActivity**](docs/AuthenticationUsersApi.md#v3GetUserActivity) | **GET** /v3/users/activity | Get the caller's activity feed
+*AuthenticationUsersApi* | [**v3ListUsers**](docs/AuthenticationUsersApi.md#v3ListUsers) | **GET** /v3/users | Search users
*AuthenticationUsersApi* | [**v3SubmitUserFeedback**](docs/AuthenticationUsersApi.md#v3SubmitUserFeedback) | **POST** /v3/users/feedback | Submit feedback
*BinariesApi* | [**downloadZippedBinary**](docs/BinariesApi.md#downloadZippedBinary) | **GET** /v2/binaries/{binary_id}/download-zipped | Downloads a zipped binary with password protection
*BinariesApi* | [**getBinaryAdditionalDetails**](docs/BinariesApi.md#getBinaryAdditionalDetails) | **GET** /v2/binaries/{binary_id}/additional-details | Gets the additional details of a binary
@@ -301,6 +326,7 @@ Class | Method | HTTP request | Description
*FunctionsCoreApi* | [**startFunctionsMatching**](docs/FunctionsCoreApi.md#startFunctionsMatching) | **POST** /v3/functions/matches | Start function matching for an explicit set of functions
*FunctionsCoreApi* | [**v3CanonicalizeFunctionNames**](docs/FunctionsCoreApi.md#v3CanonicalizeFunctionNames) | **POST** /v3/functions/canonical-names | Canonicalize a batch of function names
*FunctionsCoreApi* | [**v3GetAnalysisFuncMaps**](docs/FunctionsCoreApi.md#v3GetAnalysisFuncMaps) | **GET** /v3/analyses/{analysis_id}/func-maps | Get function ID/address maps for an analysis
+*FunctionsCoreApi* | [**v3ListFunctionGlobals**](docs/FunctionsCoreApi.md#v3ListFunctionGlobals) | **GET** /v3/functions/{function_id}/globals | List the global variables a function references.
*FunctionsCoreApi* | [**v3SearchFunctions**](docs/FunctionsCoreApi.md#v3SearchFunctions) | **GET** /v3/functions | Search functions
*FunctionsRenamingHistoryApi* | [**batchRenameFunction**](docs/FunctionsRenamingHistoryApi.md#batchRenameFunction) | **POST** /v2/functions/rename/batch | Batch Rename Functions
*FunctionsRenamingHistoryApi* | [**batchRenameFunctions**](docs/FunctionsRenamingHistoryApi.md#batchRenameFunctions) | **POST** /v3/functions/rename | Batch rename functions
@@ -324,6 +350,7 @@ Class | Method | HTTP request | Description
## Documentation for Models
+ - [APICombinationEvidence](docs/APICombinationEvidence.md)
- [APIError](docs/APIError.md)
- [AcceptTypeSuggestionsInputBody](docs/AcceptTypeSuggestionsInputBody.md)
- [AcceptTypeSuggestionsOutputBody](docs/AcceptTypeSuggestionsOutputBody.md)
@@ -363,6 +390,8 @@ Class | Method | HTTP request | Description
- [AnalysisLogEntry](docs/AnalysisLogEntry.md)
- [AnalysisLogMessage](docs/AnalysisLogMessage.md)
- [AnalysisLogs](docs/AnalysisLogs.md)
+ - [AnalysisOperationBody](docs/AnalysisOperationBody.md)
+ - [AnalysisOperationsOutputBody](docs/AnalysisOperationsOutputBody.md)
- [AnalysisRecord](docs/AnalysisRecord.md)
- [AnalysisRecordBody](docs/AnalysisRecordBody.md)
- [AnalysisReport](docs/AnalysisReport.md)
@@ -596,14 +625,17 @@ Class | Method | HTTP request | Description
- [DecompilerSummaryEvidence](docs/DecompilerSummaryEvidence.md)
- [DieMatch](docs/DieMatch.md)
- [DisassemblyOutputBody](docs/DisassemblyOutputBody.md)
+ - [DisassemblySummaryEvidence](docs/DisassemblySummaryEvidence.md)
- [Display](docs/Display.md)
- [DnsQuery](docs/DnsQuery.md)
- [DrakvufFileMetadata](docs/DrakvufFileMetadata.md)
- [DynamicExecutionMetadata](docs/DynamicExecutionMetadata.md)
+ - [DynamicExecutionResult](docs/DynamicExecutionResult.md)
- [DynamicExecutionStatus](docs/DynamicExecutionStatus.md)
- [DynamicExecutionStatusResponse](docs/DynamicExecutionStatusResponse.md)
- [DynamicExecutionSummary](docs/DynamicExecutionSummary.md)
- [DynamicExecutionSummaryMetadata](docs/DynamicExecutionSummaryMetadata.md)
+ - [DynamicExecutionSummaryResult](docs/DynamicExecutionSummaryResult.md)
- [ELFImportModel](docs/ELFImportModel.md)
- [ELFModel](docs/ELFModel.md)
- [ELFRelocation](docs/ELFRelocation.md)
@@ -691,6 +723,7 @@ Class | Method | HTTP request | Description
- [FunctionCapabilityResponse](docs/FunctionCapabilityResponse.md)
- [FunctionDataType](docs/FunctionDataType.md)
- [FunctionDetailsOutputBody](docs/FunctionDetailsOutputBody.md)
+ - [FunctionGlobalVariable](docs/FunctionGlobalVariable.md)
- [FunctionListItem](docs/FunctionListItem.md)
- [FunctionLocalVariableResponse](docs/FunctionLocalVariableResponse.md)
- [FunctionMapping](docs/FunctionMapping.md)
@@ -712,6 +745,7 @@ Class | Method | HTTP request | Description
- [FunctionStringItem](docs/FunctionStringItem.md)
- [FunctionStringsResponse](docs/FunctionStringsResponse.md)
- [FunctionTypeDefinition](docs/FunctionTypeDefinition.md)
+ - [FunctionUsage](docs/FunctionUsage.md)
- [FunctionsDetailResponse](docs/FunctionsDetailResponse.md)
- [FunctionsListRename](docs/FunctionsListRename.md)
- [FunctionsProgressOutputBody](docs/FunctionsProgressOutputBody.md)
@@ -729,6 +763,7 @@ Class | Method | HTTP request | Description
- [GetDieInfoOutputBody](docs/GetDieInfoOutputBody.md)
- [GetFunctionMapsOutputBody](docs/GetFunctionMapsOutputBody.md)
- [GetFunctionSignatureHistoryBody](docs/GetFunctionSignatureHistoryBody.md)
+ - [GetGlobalHistoryOutputBody](docs/GetGlobalHistoryOutputBody.md)
- [GetMatchesOutputBody](docs/GetMatchesOutputBody.md)
- [GetMatchesStatusOutputBody](docs/GetMatchesStatusOutputBody.md)
- [GetModelsOutputBody](docs/GetModelsOutputBody.md)
@@ -740,6 +775,8 @@ Class | Method | HTTP request | Description
- [GetSubscriptionOutputBody](docs/GetSubscriptionOutputBody.md)
- [GetTokensResponse](docs/GetTokensResponse.md)
- [GetUserActivityOutputBody](docs/GetUserActivityOutputBody.md)
+ - [GlobalHistoryEntry](docs/GlobalHistoryEntry.md)
+ - [GlobalVariable](docs/GlobalVariable.md)
- [HardcodedSecretEvidence](docs/HardcodedSecretEvidence.md)
- [HistoryActor](docs/HistoryActor.md)
- [HistoryEntry](docs/HistoryEntry.md)
@@ -749,6 +786,7 @@ Class | Method | HTTP request | Description
- [IconModel](docs/IconModel.md)
- [ImportDynamicExecutionFileOutputBody](docs/ImportDynamicExecutionFileOutputBody.md)
- [ImportModel](docs/ImportModel.md)
+ - [ImportedAPICallEvidence](docs/ImportedAPICallEvidence.md)
- [ImportedApi](docs/ImportedApi.md)
- [ImportedApiCall](docs/ImportedApiCall.md)
- [ImportedApiCallEvidence](docs/ImportedApiCallEvidence.md)
@@ -767,15 +805,20 @@ Class | Method | HTTP request | Description
- [ListAnalysesOutputBody](docs/ListAnalysesOutputBody.md)
- [ListAnalysisDataTypesOutputBody](docs/ListAnalysisDataTypesOutputBody.md)
- [ListAnalysisFunctionsOutputBody](docs/ListAnalysisFunctionsOutputBody.md)
+ - [ListAnalysisGlobalsOutputBody](docs/ListAnalysisGlobalsOutputBody.md)
- [ListAnalysisStringsOutputBody](docs/ListAnalysisStringsOutputBody.md)
- [ListArchiveContentsOutputBody](docs/ListArchiveContentsOutputBody.md)
- [ListCollectionResults](docs/ListCollectionResults.md)
- [ListCollectionsOutputBody](docs/ListCollectionsOutputBody.md)
- [ListDataTypeFunctionsBody](docs/ListDataTypeFunctionsBody.md)
- [ListExampleAnalysesOutputBody](docs/ListExampleAnalysesOutputBody.md)
+ - [ListFunctionGlobalsOutputBody](docs/ListFunctionGlobalsOutputBody.md)
- [ListFunctionSignaturesOutputBody](docs/ListFunctionSignaturesOutputBody.md)
- [ListFunctionStringsOutputBody](docs/ListFunctionStringsOutputBody.md)
+ - [ListGlobalFunctionsOutputBody](docs/ListGlobalFunctionsOutputBody.md)
- [ListImportedFunctionsOutputBody](docs/ListImportedFunctionsOutputBody.md)
+ - [ListOperationPrerequisitesOutputBody](docs/ListOperationPrerequisitesOutputBody.md)
+ - [ListPublicUsersOutputBody](docs/ListPublicUsersOutputBody.md)
- [ListSecretStoreOutputBody](docs/ListSecretStoreOutputBody.md)
- [ListTeamsOutputBody](docs/ListTeamsOutputBody.md)
- [ListUsersOutputBody](docs/ListUsersOutputBody.md)
@@ -828,6 +871,8 @@ Class | Method | HTTP request | Description
- [OperationMetadataTriageResult](docs/OperationMetadataTriageResult.md)
- [OperationNetworkingExplainMetadataNetworkingExplainResult](docs/OperationNetworkingExplainMetadataNetworkingExplainResult.md)
- [OperationNetworkingScanMetadataNetworkingScanResult](docs/OperationNetworkingScanMetadataNetworkingScanResult.md)
+ - [OperationPrerequisitesBody](docs/OperationPrerequisitesBody.md)
+ - [OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult](docs/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.md)
- [OperationSecurityScanMetadataSecurityScanResult](docs/OperationSecurityScanMetadataSecurityScanResult.md)
- [OperationVirusTotalScanMetadataVirusTotalScanResult](docs/OperationVirusTotalScanMetadataVirusTotalScanResult.md)
- [OperationWorkflowProgressResultBody](docs/OperationWorkflowProgressResultBody.md)
@@ -864,6 +909,7 @@ Class | Method | HTTP request | Description
- [ProgressMessage](docs/ProgressMessage.md)
- [ProseEvent](docs/ProseEvent.md)
- [ProtocolsAgentResponse](docs/ProtocolsAgentResponse.md)
+ - [PublicUserBody](docs/PublicUserBody.md)
- [PutAnalysisStringsRequest](docs/PutAnalysisStringsRequest.md)
- [QueuedWorkflowTaskResponse](docs/QueuedWorkflowTaskResponse.md)
- [RatingOutputBody](docs/RatingOutputBody.md)
@@ -883,16 +929,31 @@ Class | Method | HTTP request | Description
- [RenameAppliedEvent](docs/RenameAppliedEvent.md)
- [RenameInputBody](docs/RenameInputBody.md)
- [RenameOutputBody](docs/RenameOutputBody.md)
+ - [RenameUnnamedFunctionsMetadata](docs/RenameUnnamedFunctionsMetadata.md)
- [RenameUnnamedFunctionsResult](docs/RenameUnnamedFunctionsResult.md)
- [RenderedToken](docs/RenderedToken.md)
- [ReportAnalysisBody](docs/ReportAnalysisBody.md)
- [ReportAnalysisResponse](docs/ReportAnalysisResponse.md)
+ - [ReportBytesConstant](docs/ReportBytesConstant.md)
+ - [ReportCallChain](docs/ReportCallChain.md)
+ - [ReportCodeSummary](docs/ReportCodeSummary.md)
- [ReportEvent](docs/ReportEvent.md)
+ - [ReportFinding](docs/ReportFinding.md)
+ - [ReportFindingEvidenceInner](docs/ReportFindingEvidenceInner.md)
+ - [ReportFunctionSimilarity](docs/ReportFunctionSimilarity.md)
+ - [ReportImportedAPI](docs/ReportImportedAPI.md)
+ - [ReportImportedAPICall](docs/ReportImportedAPICall.md)
- [ReportInfo](docs/ReportInfo.md)
+ - [ReportMeta](docs/ReportMeta.md)
+ - [ReportModelInterpretation](docs/ReportModelInterpretation.md)
- [ReportOptions](docs/ReportOptions.md)
- [ReportReachabilityStatus](docs/ReportReachabilityStatus.md)
+ - [ReportReferencedConstant](docs/ReportReferencedConstant.md)
- [ReportResult](docs/ReportResult.md)
+ - [ReportStringMatch](docs/ReportStringMatch.md)
+ - [ReportSubject](docs/ReportSubject.md)
- [RequestedConfigBody](docs/RequestedConfigBody.md)
+ - [RequeueAnalysisRequest](docs/RequeueAnalysisRequest.md)
- [ResendVerificationEmailInputBody](docs/ResendVerificationEmailInputBody.md)
- [ResolvedEntity](docs/ResolvedEntity.md)
- [ResultBody](docs/ResultBody.md)
@@ -1026,6 +1087,7 @@ Class | Method | HTTP request | Description
- [UnionDefinition](docs/UnionDefinition.md)
- [UnknownDataType](docs/UnknownDataType.md)
- [UpdateAnalysisDataTypesInputBody](docs/UpdateAnalysisDataTypesInputBody.md)
+ - [UpdateAnalysisGlobalInputBody](docs/UpdateAnalysisGlobalInputBody.md)
- [UpdateAnalysisInputBody](docs/UpdateAnalysisInputBody.md)
- [UpdateArrayDataType](docs/UpdateArrayDataType.md)
- [UpdateBaseDataType](docs/UpdateBaseDataType.md)
diff --git a/build.gradle b/build.gradle
index b13c39c..f95ed49 100644
--- a/build.gradle
+++ b/build.gradle
@@ -19,7 +19,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'
group = 'ai.reveng'
-version = '4.72.2'
+version = '4.73.0'
@@ -174,7 +174,7 @@ mavenPublishing {
// key, and signing without one fails the build.
if (project.hasProperty("signingInMemoryKey")) signAllPublications()
- coordinates("ai.reveng", "sdk", "4.72.2")
+ coordinates("ai.reveng", "sdk", "4.73.0")
pom {
name = "sdk"
diff --git a/build.sbt b/build.sbt
index 81616af..a512488 100644
--- a/build.sbt
+++ b/build.sbt
@@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "ai.reveng",
name := "sdk",
- version := "4.72.2",
+ version := "4.73.0",
scalaVersion := "2.11.12",
scalacOptions ++= Seq("-feature"),
compile / javacOptions ++= Seq("-Xlint:deprecation"),
diff --git a/docs/APICombinationEvidence.md b/docs/APICombinationEvidence.md
new file mode 100644
index 0000000..6dc666c
--- /dev/null
+++ b/docs/APICombinationEvidence.md
@@ -0,0 +1,54 @@
+
+
+# APICombinationEvidence
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**apis** | **List<ReportImportedAPI>** | The APIs in the combination. | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: EvidenceKindEnum
+
+| Name | Value |
+|---- | -----|
+| API_COMBINATION | "api_combination" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: KindEnum
+
+| Name | Value |
+|---- | -----|
+| DETERMINISTIC_DERIVATION | "deterministic_derivation" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: StrengthEnum
+
+| Name | Value |
+|---- | -----|
+| INDIRECT | "indirect" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/AgentApi.md b/docs/AgentApi.md
index 062c981..3e614b4 100644
--- a/docs/AgentApi.md
+++ b/docs/AgentApi.md
@@ -28,6 +28,7 @@ All URIs are relative to *https://api.reveng.ai*
| [**v3GetCapabilitiesOperation**](AgentApi.md#v3GetCapabilitiesOperation) | **GET** /v3/operations/capabilities/{analysis_id} | Get a capabilities operation. |
| [**v3GetCryptoExplainOperation**](AgentApi.md#v3GetCryptoExplainOperation) | **GET** /v3/operations/crypto-explain/{function_id} | Get a crypto-explain operation. |
| [**v3GetCryptoScanOperation**](AgentApi.md#v3GetCryptoScanOperation) | **GET** /v3/operations/crypto-scan/{analysis_id} | Get a crypto-scan operation. |
+| [**v3GetCryptographyOperation**](AgentApi.md#v3GetCryptographyOperation) | **GET** /v3/operations/cryptography/{analysis_id} | Get a cryptography operation. |
| [**v3GetExecutionExplainOperation**](AgentApi.md#v3GetExecutionExplainOperation) | **GET** /v3/operations/execution-explain/{function_id} | Get an execution-explain operation. |
| [**v3GetExecutionScanOperation**](AgentApi.md#v3GetExecutionScanOperation) | **GET** /v3/operations/execution-scan/{analysis_id} | Get an execution-scan operation. |
| [**v3GetFilesystemAnalyseOperation**](AgentApi.md#v3GetFilesystemAnalyseOperation) | **GET** /v3/operations/filesystem-analyse/{function_id} | Get a filesystem-analyse operation. |
@@ -36,15 +37,18 @@ All URIs are relative to *https://api.reveng.ai*
| [**v3GetNetworkingScanOperation**](AgentApi.md#v3GetNetworkingScanOperation) | **GET** /v3/operations/networking-scan/{analysis_id} | Get a networking-scan operation. |
| [**v3GetProtocolsOperation**](AgentApi.md#v3GetProtocolsOperation) | **GET** /v3/operations/protocols/{analysis_id} | Get a protocols operation. |
| [**v3GetRemediationOperation**](AgentApi.md#v3GetRemediationOperation) | **GET** /v3/operations/remediation/{analysis_id} | Get a remediation operation. |
+| [**v3GetRenameUnnamedFunctionsOperation**](AgentApi.md#v3GetRenameUnnamedFunctionsOperation) | **GET** /v3/operations/rename-unnamed-functions/{analysis_id} | Get a rename-unnamed-functions operation. |
| [**v3GetRenameUnnamedFunctionsResult**](AgentApi.md#v3GetRenameUnnamedFunctionsResult) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions | Get rename-unnamed-functions agent result. |
| [**v3GetRenameUnnamedFunctionsStatus**](AgentApi.md#v3GetRenameUnnamedFunctionsStatus) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions/status | Get rename-unnamed-functions agent status. |
| [**v3GetReportAnalysisOperation**](AgentApi.md#v3GetReportAnalysisOperation) | **GET** /v3/operations/report-analysis/{analysis_id} | Get a report-analysis operation. |
| [**v3GetSecretsOperation**](AgentApi.md#v3GetSecretsOperation) | **GET** /v3/operations/secrets/{analysis_id} | Get a secrets operation. |
| [**v3GetSecurityScanOperation**](AgentApi.md#v3GetSecurityScanOperation) | **GET** /v3/operations/security-scan/{analysis_id} | Get a security-scan operation. |
| [**v3GetTriageOperation**](AgentApi.md#v3GetTriageOperation) | **GET** /v3/operations/triage/{analysis_id} | Get a triage operation. |
+| [**v3ListOperationPrerequisites**](AgentApi.md#v3ListOperationPrerequisites) | **GET** /v3/operation-prerequisites | List operation prerequisites. |
| [**v3RunCapabilities**](AgentApi.md#v3RunCapabilities) | **POST** /v3/analyses/{analysis_id}/capabilities:run | Run the capabilities agent. |
| [**v3RunCryptoExplain**](AgentApi.md#v3RunCryptoExplain) | **POST** /v3/functions/{function_id}/crypto-explain:run | Run the crypto-explain agent. |
| [**v3RunCryptoScan**](AgentApi.md#v3RunCryptoScan) | **POST** /v3/analyses/{analysis_id}/crypto-scan:run | Run the crypto-scan agent. |
+| [**v3RunCryptography**](AgentApi.md#v3RunCryptography) | **POST** /v3/analyses/{analysis_id}/cryptography:run | Run the cryptography agent. |
| [**v3RunExecutionExplain**](AgentApi.md#v3RunExecutionExplain) | **POST** /v3/functions/{function_id}/execution-explain:run | Run the execution-explain agent. |
| [**v3RunExecutionScan**](AgentApi.md#v3RunExecutionScan) | **POST** /v3/analyses/{analysis_id}/execution-scan:run | Run the execution-scan agent. |
| [**v3RunFilesystemAnalyse**](AgentApi.md#v3RunFilesystemAnalyse) | **POST** /v3/functions/{function_id}/filesystem-analyse:run | Run the filesystem-analyse agent. |
@@ -1573,7 +1577,7 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **analysisId** | **Long**| Analysis ID | |
-| **agent** | **String**| Which agent's output the feedback is about | [enum: triage, capabilities, report-analysis, remediation, protocols, secrets] |
+| **agent** | **String**| Which agent's output the feedback is about | [enum: triage, capabilities, report-analysis, remediation, protocols, secrets, cryptography] |
### Return type
@@ -1829,6 +1833,84 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
+
+# **v3GetCryptographyOperation**
+> OperationMetadataReportResult v3GetCryptographyOperation(analysisId)
+
+Get a cryptography operation.
+
+Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AgentApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AgentApi apiInstance = new AgentApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ OperationMetadataReportResult result = apiInstance.v3GetCryptographyOperation(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AgentApi#v3GetCryptographyOperation");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**OperationMetadataReportResult**](OperationMetadataReportResult.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
# **v3GetExecutionExplainOperation**
> OperationExecutionExplainMetadataExecutionExplainResult v3GetExecutionExplainOperation(functionId)
@@ -2297,7 +2379,7 @@ public class Example {
Get a protocols operation.
-Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
### Example
```java
@@ -2447,6 +2529,83 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
+
+# **v3GetRenameUnnamedFunctionsOperation**
+> OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult v3GetRenameUnnamedFunctionsOperation(analysisId)
+
+Get a rename-unnamed-functions operation.
+
+Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AgentApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AgentApi apiInstance = new AgentApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult result = apiInstance.v3GetRenameUnnamedFunctionsOperation(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AgentApi#v3GetRenameUnnamedFunctionsOperation");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult**](OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
# **v3GetRenameUnnamedFunctionsResult**
> RenameUnnamedFunctionsResult v3GetRenameUnnamedFunctionsResult(analysisId)
@@ -2686,7 +2845,7 @@ public class Example {
Get a secrets operation.
-Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
### Example
```java
@@ -2913,13 +3072,83 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
+
+# **v3ListOperationPrerequisites**
+> ListOperationPrerequisitesOutputBody v3ListOperationPrerequisites()
+
+List operation prerequisites.
+
+Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`.
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AgentApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AgentApi apiInstance = new AgentApi(defaultClient);
+ try {
+ ListOperationPrerequisitesOutputBody result = apiInstance.v3ListOperationPrerequisites();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AgentApi#v3ListOperationPrerequisites");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+[**ListOperationPrerequisitesOutputBody**](ListOperationPrerequisitesOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **0** | Error | - |
+
# **v3RunCapabilities**
> OperationMetadataCapabilitiesResult v3RunCapabilities(analysisId)
Run the capabilities agent.
-Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -3077,7 +3306,7 @@ public class Example {
Run the crypto-scan agent.
-Starts an agent that name-matches the analysis' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+Starts an agent that name-matches the analysis' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -3151,6 +3380,85 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
+
+# **v3RunCryptography**
+> OperationMetadataReportResult v3RunCryptography(analysisId)
+
+Run the cryptography agent.
+
+Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AgentApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AgentApi apiInstance = new AgentApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ OperationMetadataReportResult result = apiInstance.v3RunCryptography(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AgentApi#v3RunCryptography");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**OperationMetadataReportResult**](OperationMetadataReportResult.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **402** | Payment Required | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
# **v3RunExecutionExplain**
> OperationExecutionExplainMetadataExecutionExplainResult v3RunExecutionExplain(functionId, triggerExecutionExplainInputBody)
@@ -3238,7 +3546,7 @@ public class Example {
Run the execution-scan agent.
-Starts an agent that name-matches the analysis' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+Starts an agent that name-matches the analysis' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -3399,7 +3707,7 @@ public class Example {
Run the filesystem-scan agent.
-Starts an agent that name-matches the analysis' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+Starts an agent that name-matches the analysis' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -3560,7 +3868,7 @@ public class Example {
Run the networking-scan agent.
-Starts an agent that name-matches the analysis' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+Starts an agent that name-matches the analysis' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -3640,7 +3948,7 @@ public class Example {
Run the protocols agent.
-Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -3719,7 +4027,7 @@ public class Example {
Run the remediation agent.
-Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -3798,7 +4106,7 @@ public class Example {
Run the report-analysis agent.
-Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -3877,7 +4185,7 @@ public class Example {
Run the secrets agent.
-Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -4037,7 +4345,7 @@ public class Example {
Run the triage agent.
-Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
### Example
```java
@@ -4246,7 +4554,7 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **analysisId** | **Long**| Analysis ID | |
-| **agent** | **String**| Which agent's output the feedback is about | [enum: triage, capabilities, report-analysis, remediation, protocols, secrets] |
+| **agent** | **String**| Which agent's output the feedback is about | [enum: triage, capabilities, report-analysis, remediation, protocols, secrets, cryptography] |
| **submitFeedbackInputBody** | [**SubmitFeedbackInputBody**](SubmitFeedbackInputBody.md)| | |
### Return type
diff --git a/docs/AnalysesCoreApi.md b/docs/AnalysesCoreApi.md
index 662c4ea..467e7e1 100644
--- a/docs/AnalysesCoreApi.md
+++ b/docs/AnalysesCoreApi.md
@@ -32,17 +32,37 @@ All URIs are relative to *https://api.reveng.ai*
| [**v3GetAnalysis**](AnalysesCoreApi.md#v3GetAnalysis) | **GET** /v3/analyses/{analysis_id} | Get an analysis. |
| [**v3GetAnalysisAutoUnstripStatus**](AnalysesCoreApi.md#v3GetAnalysisAutoUnstripStatus) | **GET** /v3/analyses/{analysis_id}/auto-unstrip/status | Get the auto-unstrip status for an analysis. |
| [**v3GetAnalysisFunctionsProgress**](AnalysesCoreApi.md#v3GetAnalysisFunctionsProgress) | **GET** /v3/analyses/{analysis_id}/progress/functions | Get function embedding progress for an analysis. |
+| [**v3GetAnalysisGlobal**](AnalysesCoreApi.md#v3GetAnalysisGlobal) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr} | Get one global variable. |
+| [**v3GetAnalysisGlobalHistory**](AnalysesCoreApi.md#v3GetAnalysisGlobalHistory) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr}/history | List a global variable's replaced values. |
| [**v3GetAnalysisLogs**](AnalysesCoreApi.md#v3GetAnalysisLogs) | **GET** /v3/analyses/{analysis_id}/logs | Get the Analysis log |
| [**v3GetAnalysisOperation**](AnalysesCoreApi.md#v3GetAnalysisOperation) | **GET** /v3/operations/analyses/{analysis_id} | Get an Analysis-creation operation |
| [**v3GetAnalysisStrings**](AnalysesCoreApi.md#v3GetAnalysisStrings) | **GET** /v3/analyses/{analysis_id}/functions/strings | List strings for an analysis. |
| [**v3GetAnalysisStringsStatus**](AnalysesCoreApi.md#v3GetAnalysisStringsStatus) | **GET** /v3/analyses/{analysis_id}/functions/strings/status | Get the string-extraction status for an analysis. |
| [**v3GetBinaryExportOperation**](AnalysesCoreApi.md#v3GetBinaryExportOperation) | **GET** /v3/operations/binary-export/{task_id} | Get a binary export operation |
+| [**v3GetDynamicExecutionArtifact**](AnalysesCoreApi.md#v3GetDynamicExecutionArtifact) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/artifacts/{sha256} | Download an artifact. |
+| [**v3GetDynamicExecutionLogsDownload**](AnalysesCoreApi.md#v3GetDynamicExecutionLogsDownload) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/logs/download | Download the execution logs archive. |
+| [**v3GetDynamicExecutionMemdump**](AnalysesCoreApi.md#v3GetDynamicExecutionMemdump) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/memdumps/{sha256} | Download a memory dump. |
+| [**v3GetDynamicExecutionOperation**](AnalysesCoreApi.md#v3GetDynamicExecutionOperation) | **GET** /v3/operations/dynamic-execution/{analysis_id} | Get a dynamic execution operation. |
+| [**v3GetDynamicExecutionPcap**](AnalysesCoreApi.md#v3GetDynamicExecutionPcap) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/pcap | Download the network capture. |
+| [**v3GetDynamicExecutionReport**](AnalysesCoreApi.md#v3GetDynamicExecutionReport) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/report | Get the dynamic execution report. |
+| [**v3GetDynamicExecutionScreenshot**](AnalysesCoreApi.md#v3GetDynamicExecutionScreenshot) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/screenshots/{index} | Download a screenshot. |
+| [**v3GetDynamicExecutionSummary**](AnalysesCoreApi.md#v3GetDynamicExecutionSummary) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/summary | Get the dynamic execution summary. |
+| [**v3GetDynamicExecutionSummaryOperation**](AnalysesCoreApi.md#v3GetDynamicExecutionSummaryOperation) | **GET** /v3/operations/dynamic-execution-summary/{analysis_id} | Get a dynamic execution summary operation. |
+| [**v3GetDynamicExecutionWiresharkKeys**](AnalysesCoreApi.md#v3GetDynamicExecutionWiresharkKeys) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/wireshark-keys | Download Wireshark TLS session keys. |
| [**v3ListAnalyses**](AnalysesCoreApi.md#v3ListAnalyses) | **GET** /v3/analyses | List analyses |
+| [**v3ListAnalysisGlobals**](AnalysesCoreApi.md#v3ListAnalysisGlobals) | **GET** /v3/analyses/{analysis_id}/globals | List the global variables in an analysis. |
+| [**v3ListAnalysisOperations**](AnalysesCoreApi.md#v3ListAnalysisOperations) | **GET** /v3/analyses/{analysis_id}/operations | List the operations run on an analysis. |
+| [**v3ListDynamicExecutionScreenshots**](AnalysesCoreApi.md#v3ListDynamicExecutionScreenshots) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/screenshots | List the screenshots captured during execution. |
| [**v3ListExampleAnalyses**](AnalysesCoreApi.md#v3ListExampleAnalyses) | **GET** /v3/analyses/examples | List example analyses |
+| [**v3ListGlobalFunctions**](AnalysesCoreApi.md#v3ListGlobalFunctions) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr}/functions | List the functions referencing a global variable. |
| [**v3LookupAnalysisByBinaryId**](AnalysesCoreApi.md#v3LookupAnalysisByBinaryId) | **GET** /v3/analyses/lookup/{binary_id} | Look up the most recent analysis for a binary. |
| [**v3QueueBinaryExport**](AnalysesCoreApi.md#v3QueueBinaryExport) | **POST** /v3/analyses/{analysis_id}/binary-export | Queue a binary export |
+| [**v3RequeueAnalysis**](AnalysesCoreApi.md#v3RequeueAnalysis) | **POST** /v3/analyses/{analysis_id}/requeue | Requeue an analysis |
+| [**v3RunDynamicExecution**](AnalysesCoreApi.md#v3RunDynamicExecution) | **POST** /v3/analyses/{analysis_id}/dynamic-execution:run | Trigger a dynamic execution run. |
+| [**v3RunDynamicExecutionSummary**](AnalysesCoreApi.md#v3RunDynamicExecutionSummary) | **POST** /v3/analyses/{analysis_id}/dynamic-execution/summary:run | Regenerate the dynamic execution summary. |
| [**v3SearchTags**](AnalysesCoreApi.md#v3SearchTags) | **GET** /v3/tags | Search tags |
| [**v3UpdateAnalysis**](AnalysesCoreApi.md#v3UpdateAnalysis) | **PATCH** /v3/analyses/{analysis_id} | Update an analysis. |
+| [**v3UpdateAnalysisGlobal**](AnalysesCoreApi.md#v3UpdateAnalysisGlobal) | **PATCH** /v3/analyses/{analysis_id}/globals/{vaddr} | Edit a global variable. |
| [**v3UpdateAnalysisTags**](AnalysesCoreApi.md#v3UpdateAnalysisTags) | **PATCH** /v3/analyses/{analysis_id}/tags | Replace an analysis' tags. |
| [**v3UpgradeAnalysisModel**](AnalysesCoreApi.md#v3UpgradeAnalysisModel) | **POST** /v3/analyses/{analysis_id}/upgrade-model | Re-analyse on the latest model |
@@ -1959,7 +1979,7 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **analysisId** | **Long**| Analysis ID | |
-| **taskId** | **String**| Task ID returned by queueing the export | [optional] |
+| **taskId** | **String**| Task ID returned by queueing the export | |
### Return type
@@ -2214,6 +2234,164 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
+
+# **v3GetAnalysisGlobal**
+> GlobalVariable v3GetAnalysisGlobal(analysisId, vaddr)
+
+Get one global variable.
+
+Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ Long vaddr = 56L; // Long | Virtual address of the global variable.
+ try {
+ GlobalVariable result = apiInstance.v3GetAnalysisGlobal(analysisId, vaddr);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetAnalysisGlobal");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+| **vaddr** | **Long**| Virtual address of the global variable. | |
+
+### Return type
+
+[**GlobalVariable**](GlobalVariable.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3GetAnalysisGlobalHistory**
+> GetGlobalHistoryOutputBody v3GetAnalysisGlobalHistory(analysisId, vaddr)
+
+List a global variable's replaced values.
+
+Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ Long vaddr = 56L; // Long | Virtual address of the global variable.
+ try {
+ GetGlobalHistoryOutputBody result = apiInstance.v3GetAnalysisGlobalHistory(analysisId, vaddr);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetAnalysisGlobalHistory");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+| **vaddr** | **Long**| Virtual address of the global variable. | |
+
+### Return type
+
+[**GetGlobalHistoryOutputBody**](GetGlobalHistoryOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
# **v3GetAnalysisLogs**
> GetAnalysisLogsOutputBody v3GetAnalysisLogs(analysisId)
@@ -2613,13 +2791,13 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
-
-# **v3ListAnalyses**
-> ListAnalysesOutputBody v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order)
+
+# **v3GetDynamicExecutionArtifact**
+> v3GetDynamicExecutionArtifact(analysisId, sha256, filename)
-List analyses
+Download an artifact.
-Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request
+Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
### Example
```java
@@ -2647,24 +2825,13 @@ public class Example {
bearerAuth.setBearerToken("BEARER TOKEN");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
- String searchTerm = "searchTerm_example"; // String |
- List analysisScope = Arrays.asList(); // List | Leave empty to search your own, your team's and all public analyses
- List status = Arrays.asList(); // List |
- List modelName = Arrays.asList(); // List |
- List usernames = Arrays.asList(); // List |
- String sha256Hash = "sha256Hash_example"; // String |
- Long binaryId = 56L; // Long | Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort
- List platform = Arrays.asList(); // List | Restrict to binaries running on one of these operating-system platforms. Matches the uploader's override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter
- List architecture = Arrays.asList(); // List | Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter
- Long pageSize = 20L; // Long |
- String nextPageToken = "nextPageToken_example"; // String | Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination).
- String orderBy = "created"; // String |
- String order = "ASC"; // String |
+ Long analysisId = 56L; // Long | Analysis ID
+ String sha256 = "sha256_example"; // String | SHA-256 hex digest of the artifact
+ String filename = "filename_example"; // String | Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted.
try {
- ListAnalysesOutputBody result = apiInstance.v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order);
- System.out.println(result);
+ apiInstance.v3GetDynamicExecutionArtifact(analysisId, sha256, filename);
} catch (ApiException e) {
- System.err.println("Exception when calling AnalysesCoreApi#v3ListAnalyses");
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionArtifact");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -2678,23 +2845,13 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
-| **searchTerm** | **String**| | [optional] |
-| **analysisScope** | [**List<String>**](String.md)| Leave empty to search your own, your team's and all public analyses | [optional] [enum: PRIVATE, PUBLIC, TEAM] |
-| **status** | [**List<String>**](String.md)| | [optional] [enum: Uploaded, Queued, Complete, Error, Processing] |
-| **modelName** | [**List<String>**](String.md)| | [optional] |
-| **usernames** | [**List<String>**](String.md)| | [optional] |
-| **sha256Hash** | **String**| | [optional] |
-| **binaryId** | **Long**| Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort | [optional] |
-| **platform** | [**List<String>**](String.md)| Restrict to binaries running on one of these operating-system platforms. Matches the uploader's override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter | [optional] [enum: windows, linux, android] |
-| **architecture** | [**List<String>**](String.md)| Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter | [optional] [enum: x86_64, x86_32, arm_64] |
-| **pageSize** | **Long**| | [optional] [default to 20] |
-| **nextPageToken** | **String**| Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). | [optional] |
-| **orderBy** | **String**| | [optional] [default to created] [enum: created, binary_name, binary_size] |
-| **order** | **String**| | [optional] [default to DESC] [enum: ASC, DESC] |
+| **analysisId** | **Long**| Analysis ID | |
+| **sha256** | **String**| SHA-256 hex digest of the artifact | |
+| **filename** | **String**| Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. | [optional] |
### Return type
-[**ListAnalysesOutputBody**](ListAnalysesOutputBody.md)
+null (empty response body)
### Authorization
@@ -2709,17 +2866,19 @@ public class Example {
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
-| **400** | Bad Request | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
-
-# **v3ListExampleAnalyses**
-> ListExampleAnalysesOutputBody v3ListExampleAnalyses()
+
+# **v3GetDynamicExecutionLogsDownload**
+> v3GetDynamicExecutionLogsDownload(analysisId)
-List example analyses
+Download the execution logs archive.
-Returns the curated example Analyses.
+Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
### Example
```java
@@ -2747,11 +2906,11 @@ public class Example {
bearerAuth.setBearerToken("BEARER TOKEN");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
try {
- ListExampleAnalysesOutputBody result = apiInstance.v3ListExampleAnalyses();
- System.out.println(result);
+ apiInstance.v3GetDynamicExecutionLogsDownload(analysisId);
} catch (ApiException e) {
- System.err.println("Exception when calling AnalysesCoreApi#v3ListExampleAnalyses");
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionLogsDownload");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -2762,11 +2921,14 @@ public class Example {
```
### Parameters
-This endpoint does not need any parameter.
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
### Return type
-[**ListExampleAnalysesOutputBody**](ListExampleAnalysesOutputBody.md)
+null (empty response body)
### Authorization
@@ -2781,15 +2943,19 @@ This endpoint does not need any parameter.
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
-| **0** | Error | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
-
-# **v3LookupAnalysisByBinaryId**
-> LookupAnalysisByBinaryIDOutputBody v3LookupAnalysisByBinaryId(binaryId)
+
+# **v3GetDynamicExecutionMemdump**
+> v3GetDynamicExecutionMemdump(analysisId, sha256, filename)
-Look up the most recent analysis for a binary.
+Download a memory dump.
-Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team's, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found
+Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
### Example
```java
@@ -2817,12 +2983,13 @@ public class Example {
bearerAuth.setBearerToken("BEARER TOKEN");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
- Long binaryId = 56L; // Long | Binary ID
+ Long analysisId = 56L; // Long | Analysis ID
+ String sha256 = "sha256_example"; // String | SHA-256 hex digest of the artifact
+ String filename = "filename_example"; // String | Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted.
try {
- LookupAnalysisByBinaryIDOutputBody result = apiInstance.v3LookupAnalysisByBinaryId(binaryId);
- System.out.println(result);
+ apiInstance.v3GetDynamicExecutionMemdump(analysisId, sha256, filename);
} catch (ApiException e) {
- System.err.println("Exception when calling AnalysesCoreApi#v3LookupAnalysisByBinaryId");
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionMemdump");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -2836,11 +3003,13 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
-| **binaryId** | **Long**| Binary ID | |
+| **analysisId** | **Long**| Analysis ID | |
+| **sha256** | **String**| SHA-256 hex digest of the artifact | |
+| **filename** | **String**| Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. | [optional] |
### Return type
-[**LookupAnalysisByBinaryIDOutputBody**](LookupAnalysisByBinaryIDOutputBody.md)
+null (empty response body)
### Authorization
@@ -2855,17 +3024,19 @@ public class Example {
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
+| **403** | Forbidden | - |
| **404** | Not Found | - |
+| **409** | Conflict | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
-
-# **v3QueueBinaryExport**
-> OperationBinaryExportMetadataBinaryExportResult v3QueueBinaryExport(analysisId)
+
+# **v3GetDynamicExecutionOperation**
+> OperationDynamicExecutionMetadataDynamicExecutionResult v3GetDynamicExecutionOperation(analysisId)
-Queue a binary export
+Get a dynamic execution operation.
-Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
### Example
```java
@@ -2895,10 +3066,10 @@ public class Example {
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
try {
- OperationBinaryExportMetadataBinaryExportResult result = apiInstance.v3QueueBinaryExport(analysisId);
+ OperationDynamicExecutionMetadataDynamicExecutionResult result = apiInstance.v3GetDynamicExecutionOperation(analysisId);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling AnalysesCoreApi#v3QueueBinaryExport");
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionOperation");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -2916,7 +3087,7 @@ public class Example {
### Return type
-[**OperationBinaryExportMetadataBinaryExportResult**](OperationBinaryExportMetadataBinaryExportResult.md)
+[**OperationDynamicExecutionMetadataDynamicExecutionResult**](OperationDynamicExecutionMetadataDynamicExecutionResult.md)
### Authorization
@@ -2930,19 +3101,19 @@ public class Example {
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-| **202** | Accepted | - |
+| **200** | OK | - |
| **403** | Forbidden | - |
| **404** | Not Found | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
-
-# **v3SearchTags**
-> SearchTagsOutputBody v3SearchTags(partialName, limit, offset)
+
+# **v3GetDynamicExecutionPcap**
+> v3GetDynamicExecutionPcap(analysisId)
-Search tags
+Download the network capture.
-Searches for tags by name. partial_name is required and must be at least 3 characters. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed
+Streams the pcap of the analysis VM's traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
### Example
```java
@@ -2970,14 +3141,11 @@ public class Example {
bearerAuth.setBearerToken("BEARER TOKEN");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
- String partialName = "partialName_example"; // String | Partial or full tag name to search for, at least 3 characters
- Long limit = 10L; // Long | Maximum results to return
- Long offset = 0L; // Long | Number of results to skip
+ Long analysisId = 56L; // Long | Analysis ID
try {
- SearchTagsOutputBody result = apiInstance.v3SearchTags(partialName, limit, offset);
- System.out.println(result);
+ apiInstance.v3GetDynamicExecutionPcap(analysisId);
} catch (ApiException e) {
- System.err.println("Exception when calling AnalysesCoreApi#v3SearchTags");
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionPcap");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -2991,13 +3159,11 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
-| **partialName** | **String**| Partial or full tag name to search for, at least 3 characters | [optional] |
-| **limit** | **Long**| Maximum results to return | [optional] [default to 10] |
-| **offset** | **Long**| Number of results to skip | [optional] [default to 0] |
+| **analysisId** | **Long**| Analysis ID | |
### Return type
-[**SearchTagsOutputBody**](SearchTagsOutputBody.md)
+null (empty response body)
### Authorization
@@ -3012,16 +3178,19 @@ public class Example {
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
-
-# **v3UpdateAnalysis**
-> AnalysisDetailOutputBody v3UpdateAnalysis(analysisId, updateAnalysisInputBody)
+
+# **v3GetDynamicExecutionReport**
+> AnalysisReport v3GetDynamicExecutionReport(analysisId)
-Update an analysis.
+Get the dynamic execution report.
-Renames the analysis' binary and/or changes its scope. Only the owner may call it. Changing to a non-PUBLIC scope requires a subscription tier that supports private analyses. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
### Example
```java
@@ -3050,7 +3219,1371 @@ public class Example {
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
- UpdateAnalysisInputBody updateAnalysisInputBody = new UpdateAnalysisInputBody(); // UpdateAnalysisInputBody |
+ try {
+ AnalysisReport result = apiInstance.v3GetDynamicExecutionReport(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionReport");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**AnalysisReport**](AnalysisReport.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3GetDynamicExecutionScreenshot**
+> v3GetDynamicExecutionScreenshot(analysisId, index)
+
+Download a screenshot.
+
+Streams one screenshot, 1-indexed as listed by the screenshots endpoint. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ Long index = 56L; // Long | Index of the screenshot, as listed by the screenshots endpoint
+ try {
+ apiInstance.v3GetDynamicExecutionScreenshot(analysisId, index);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionScreenshot");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+| **index** | **Long**| Index of the screenshot, as listed by the screenshots endpoint | |
+
+### Return type
+
+null (empty response body)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3GetDynamicExecutionSummary**
+> DynamicExecutionSummary v3GetDynamicExecutionSummary(analysisId)
+
+Get the dynamic execution summary.
+
+Returns the LLM-generated Markdown summary of the run. Requires the run to be COMPLETED. Returns 404 if no summary has been generated. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ DynamicExecutionSummary result = apiInstance.v3GetDynamicExecutionSummary(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionSummary");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**DynamicExecutionSummary**](DynamicExecutionSummary.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3GetDynamicExecutionSummaryOperation**
+> OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult v3GetDynamicExecutionSummaryOperation(analysisId)
+
+Get a dynamic execution summary operation.
+
+Returns the state of the most recent summary attempt for this analysis, whether made by its run or by a regenerate. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult result = apiInstance.v3GetDynamicExecutionSummaryOperation(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionSummaryOperation");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult**](OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3GetDynamicExecutionWiresharkKeys**
+> v3GetDynamicExecutionWiresharkKeys(analysisId)
+
+Download Wireshark TLS session keys.
+
+Returns the Wireshark-format TLS session key log for decrypting HTTPS traffic in the pcap. Returns 404 if no keys were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ apiInstance.v3GetDynamicExecutionWiresharkKeys(analysisId);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetDynamicExecutionWiresharkKeys");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+null (empty response body)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3ListAnalyses**
+> ListAnalysesOutputBody v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order)
+
+List analyses
+
+Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ String searchTerm = "searchTerm_example"; // String |
+ List analysisScope = Arrays.asList(); // List | Leave empty to search your own, your team's and all public analyses
+ List status = Arrays.asList(); // List |
+ List modelName = Arrays.asList(); // List |
+ List usernames = Arrays.asList(); // List |
+ String sha256Hash = "sha256Hash_example"; // String |
+ Long binaryId = 56L; // Long | Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort
+ List platform = Arrays.asList(); // List | Restrict to binaries running on one of these operating-system platforms. Matches the uploader's override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter
+ List architecture = Arrays.asList(); // List | Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter
+ Long pageSize = 20L; // Long |
+ String nextPageToken = "nextPageToken_example"; // String | Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination).
+ String orderBy = "created"; // String |
+ String order = "ASC"; // String |
+ try {
+ ListAnalysesOutputBody result = apiInstance.v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3ListAnalyses");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **searchTerm** | **String**| | [optional] |
+| **analysisScope** | [**List<String>**](String.md)| Leave empty to search your own, your team's and all public analyses | [optional] [enum: PRIVATE, PUBLIC, TEAM] |
+| **status** | [**List<String>**](String.md)| | [optional] [enum: Uploaded, Queued, Complete, Error, Processing] |
+| **modelName** | [**List<String>**](String.md)| | [optional] |
+| **usernames** | [**List<String>**](String.md)| | [optional] |
+| **sha256Hash** | **String**| | [optional] |
+| **binaryId** | **Long**| Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort | [optional] |
+| **platform** | [**List<String>**](String.md)| Restrict to binaries running on one of these operating-system platforms. Matches the uploader's override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter | [optional] [enum: windows, linux, android] |
+| **architecture** | [**List<String>**](String.md)| Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter | [optional] [enum: x86_64, x86_32, arm_64] |
+| **pageSize** | **Long**| | [optional] [default to 20] |
+| **nextPageToken** | **String**| Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). | [optional] |
+| **orderBy** | **String**| | [optional] [default to created] [enum: created, binary_name, binary_size] |
+| **order** | **String**| | [optional] [default to DESC] [enum: ASC, DESC] |
+
+### Return type
+
+[**ListAnalysesOutputBody**](ListAnalysesOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad Request | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3ListAnalysisGlobals**
+> ListAnalysisGlobalsOutputBody v3ListAnalysisGlobals(analysisId, page, pageSize, search, named, dataTypeId, valueKind, referenced, orderBy, sortOrder)
+
+List the global variables in an analysis.
+
+Returns the analysis's global variables as first-class rows, with the recovered name, data type, decoded initial value and the provenance of each. Supports name search, filtering by data type, value kind, named-ness and whether any function references the global, plus sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ Long page = 1L; // Long | Page number (1-indexed).
+ Long pageSize = 100L; // Long | Number of results per page.
+ String search = "search_example"; // String | Filter by name (case-insensitive substring match).
+ String named = "true"; // String | Keep only globals that have a name (true) or only those that don't (false). Omit for both.
+ Long dataTypeId = 56L; // Long | Keep only globals carrying this analysis data type.
+ List valueKind = Arrays.asList(); // List | Keep only globals whose decoded value is of these kinds.
+ String referenced = "true"; // String | Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both.
+ String orderBy = "vaddr"; // String | Field to order results by.
+ String sortOrder = "ASC"; // String | Sort direction.
+ try {
+ ListAnalysisGlobalsOutputBody result = apiInstance.v3ListAnalysisGlobals(analysisId, page, pageSize, search, named, dataTypeId, valueKind, referenced, orderBy, sortOrder);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3ListAnalysisGlobals");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+| **page** | **Long**| Page number (1-indexed). | [optional] [default to 1] |
+| **pageSize** | **Long**| Number of results per page. | [optional] [default to 100] |
+| **search** | **String**| Filter by name (case-insensitive substring match). | [optional] |
+| **named** | **String**| Keep only globals that have a name (true) or only those that don't (false). Omit for both. | [optional] [enum: true, false] |
+| **dataTypeId** | **Long**| Keep only globals carrying this analysis data type. | [optional] |
+| **valueKind** | [**List<String>**](String.md)| Keep only globals whose decoded value is of these kinds. | [optional] [enum: BSS, STRING, SHORT_STRING, FLOAT, POINTER, DYNAMIC_INIT, HEX, INT, BOOL] |
+| **referenced** | **String**| Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both. | [optional] [enum: true, false] |
+| **orderBy** | **String**| Field to order results by. | [optional] [default to vaddr] [enum: vaddr, name, size, ref_count] |
+| **sortOrder** | **String**| Sort direction. | [optional] [default to ASC] [enum: ASC, DESC] |
+
+### Return type
+
+[**ListAnalysisGlobalsOutputBody**](ListAnalysisGlobalsOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad Request | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3ListAnalysisOperations**
+> AnalysisOperationsOutputBody v3ListAnalysisOperations(analysisId)
+
+List the operations run on an analysis.
+
+Returns the analysis' `static-analysis` operation, followed by the latest run of each other operation started on its binary: the binary agents, the script-agent scans and dynamic execution. The `static-analysis` operation is always included, even when no other operations have run. Each entry's `name` is the operation's resource name, polled at `/v3/{name}`. Other operations that have never run are omitted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ AnalysisOperationsOutputBody result = apiInstance.v3ListAnalysisOperations(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3ListAnalysisOperations");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**AnalysisOperationsOutputBody**](AnalysisOperationsOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3ListDynamicExecutionScreenshots**
+> ScreenshotsIndex v3ListDynamicExecutionScreenshots(analysisId)
+
+List the screenshots captured during execution.
+
+Returns the screenshots captured from the analysis VM, in capture order. Requires the run to be COMPLETED. Returns an empty list when the run captured none. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ ScreenshotsIndex result = apiInstance.v3ListDynamicExecutionScreenshots(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3ListDynamicExecutionScreenshots");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**ScreenshotsIndex**](ScreenshotsIndex.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3ListExampleAnalyses**
+> ListExampleAnalysesOutputBody v3ListExampleAnalyses()
+
+List example analyses
+
+Returns the curated example Analyses.
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ try {
+ ListExampleAnalysesOutputBody result = apiInstance.v3ListExampleAnalyses();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3ListExampleAnalyses");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+[**ListExampleAnalysesOutputBody**](ListExampleAnalysesOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **0** | Error | - |
+
+
+# **v3ListGlobalFunctions**
+> ListGlobalFunctionsOutputBody v3ListGlobalFunctions(analysisId, vaddr, page, pageSize)
+
+List the functions referencing a global variable.
+
+Returns the functions that reference the global at the given virtual address, each with the number of times it is referenced. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ Long vaddr = 56L; // Long | Virtual address of the global variable.
+ Long page = 1L; // Long | Page number (1-indexed).
+ Long pageSize = 100L; // Long | Number of results per page.
+ try {
+ ListGlobalFunctionsOutputBody result = apiInstance.v3ListGlobalFunctions(analysisId, vaddr, page, pageSize);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3ListGlobalFunctions");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+| **vaddr** | **Long**| Virtual address of the global variable. | |
+| **page** | **Long**| Page number (1-indexed). | [optional] [default to 1] |
+| **pageSize** | **Long**| Number of results per page. | [optional] [default to 100] |
+
+### Return type
+
+[**ListGlobalFunctionsOutputBody**](ListGlobalFunctionsOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3LookupAnalysisByBinaryId**
+> LookupAnalysisByBinaryIDOutputBody v3LookupAnalysisByBinaryId(binaryId)
+
+Look up the most recent analysis for a binary.
+
+Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team's, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long binaryId = 56L; // Long | Binary ID
+ try {
+ LookupAnalysisByBinaryIDOutputBody result = apiInstance.v3LookupAnalysisByBinaryId(binaryId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3LookupAnalysisByBinaryId");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **binaryId** | **Long**| Binary ID | |
+
+### Return type
+
+[**LookupAnalysisByBinaryIDOutputBody**](LookupAnalysisByBinaryIDOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3QueueBinaryExport**
+> OperationBinaryExportMetadataBinaryExportResult v3QueueBinaryExport(analysisId)
+
+Queue a binary export
+
+Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ OperationBinaryExportMetadataBinaryExportResult result = apiInstance.v3QueueBinaryExport(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3QueueBinaryExport");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**OperationBinaryExportMetadataBinaryExportResult**](OperationBinaryExportMetadataBinaryExportResult.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **202** | Accepted | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3RequeueAnalysis**
+> OperationCreateMetadataCreateResult v3RequeueAnalysis(analysisId, requeueAnalysisRequest)
+
+Requeue an analysis
+
+Creates a new Analysis and a new Binary sharing this Analysis's SHA-256, and runs the pipeline against them, leaving this Analysis and its Binary unchanged. Only the owner may call it. Poll the returned Operation for status, same as a normal create. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ RequeueAnalysisRequest requeueAnalysisRequest = new RequeueAnalysisRequest(); // RequeueAnalysisRequest |
+ try {
+ OperationCreateMetadataCreateResult result = apiInstance.v3RequeueAnalysis(analysisId, requeueAnalysisRequest);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3RequeueAnalysis");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+| **requeueAnalysisRequest** | [**RequeueAnalysisRequest**](RequeueAnalysisRequest.md)| | |
+
+### Return type
+
+[**OperationCreateMetadataCreateResult**](OperationCreateMetadataCreateResult.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **201** | Created | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3RunDynamicExecution**
+> OperationDynamicExecutionMetadataDynamicExecutionResult v3RunDynamicExecution(analysisId, runDynamicExecutionInputBody)
+
+Trigger a dynamic execution run.
+
+Submits the analysis's binary to the sandbox and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ RunDynamicExecutionInputBody runDynamicExecutionInputBody = new RunDynamicExecutionInputBody(); // RunDynamicExecutionInputBody |
+ try {
+ OperationDynamicExecutionMetadataDynamicExecutionResult result = apiInstance.v3RunDynamicExecution(analysisId, runDynamicExecutionInputBody);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3RunDynamicExecution");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+| **runDynamicExecutionInputBody** | [**RunDynamicExecutionInputBody**](RunDynamicExecutionInputBody.md)| | [optional] |
+
+### Return type
+
+[**OperationDynamicExecutionMetadataDynamicExecutionResult**](OperationDynamicExecutionMetadataDynamicExecutionResult.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad Request | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3RunDynamicExecutionSummary**
+> OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult v3RunDynamicExecutionSummary(analysisId)
+
+Regenerate the dynamic execution summary.
+
+Starts a new LLM summary of the analysis's completed run and returns the operation to poll. The new summary replaces the stored one once it succeeds. Only the analysis owner may regenerate. Returns 409 while the run is incomplete or a summary is already in progress. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult result = apiInstance.v3RunDynamicExecutionSummary(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3RunDynamicExecutionSummary");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+
+### Return type
+
+[**OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult**](OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad Request | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3SearchTags**
+> SearchTagsOutputBody v3SearchTags(partialName, limit, offset)
+
+Search tags
+
+Searches for tags by name. partial_name is required and must be at least 3 characters. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ String partialName = "partialName_example"; // String | Partial or full tag name to search for, at least 3 characters
+ Long limit = 10L; // Long | Maximum results to return
+ Long offset = 0L; // Long | Number of results to skip
+ try {
+ SearchTagsOutputBody result = apiInstance.v3SearchTags(partialName, limit, offset);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3SearchTags");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **partialName** | **String**| Partial or full tag name to search for, at least 3 characters | [optional] |
+| **limit** | **Long**| Maximum results to return | [optional] [default to 10] |
+| **offset** | **Long**| Number of results to skip | [optional] [default to 0] |
+
+### Return type
+
+[**SearchTagsOutputBody**](SearchTagsOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3UpdateAnalysis**
+> AnalysisDetailOutputBody v3UpdateAnalysis(analysisId, updateAnalysisInputBody)
+
+Update an analysis.
+
+Renames the analysis' binary and/or changes its scope. Only the owner may call it. Changing to a non-PUBLIC scope requires a subscription tier that supports private analyses. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ UpdateAnalysisInputBody updateAnalysisInputBody = new UpdateAnalysisInputBody(); // UpdateAnalysisInputBody |
try {
AnalysisDetailOutputBody result = apiInstance.v3UpdateAnalysis(analysisId, updateAnalysisInputBody);
System.out.println(result);
@@ -3095,6 +4628,89 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
+
+# **v3UpdateAnalysisGlobal**
+> GlobalVariable v3UpdateAnalysisGlobal(analysisId, vaddr, updateAnalysisGlobalInputBody)
+
+Edit a global variable.
+
+Renames a global, assigns it an analysis data type, or both. Each field the request sets stamps its own provenance `USER`, which a later re-extraction carries forward instead of overwriting. A name another global in the analysis already holds is rejected. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`ALREADY_EXISTS`](/errors/ALREADY_EXISTS) — Already Exists
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AnalysesCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ Long vaddr = 56L; // Long | Virtual address of the global variable.
+ UpdateAnalysisGlobalInputBody updateAnalysisGlobalInputBody = new UpdateAnalysisGlobalInputBody(); // UpdateAnalysisGlobalInputBody |
+ try {
+ GlobalVariable result = apiInstance.v3UpdateAnalysisGlobal(analysisId, vaddr, updateAnalysisGlobalInputBody);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3UpdateAnalysisGlobal");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analysisId** | **Long**| Analysis ID | |
+| **vaddr** | **Long**| Virtual address of the global variable. | |
+| **updateAnalysisGlobalInputBody** | [**UpdateAnalysisGlobalInputBody**](UpdateAnalysisGlobalInputBody.md)| | |
+
+### Return type
+
+[**GlobalVariable**](GlobalVariable.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad Request | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **409** | Conflict | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
# **v3UpdateAnalysisTags**
> AnalysisTagsOutputBody v3UpdateAnalysisTags(analysisId, updateTagsInputBody)
diff --git a/docs/AnalysisBasicInfoOutputBody.md b/docs/AnalysisBasicInfoOutputBody.md
index d4614d6..cbf4ca4 100644
--- a/docs/AnalysisBasicInfoOutputBody.md
+++ b/docs/AnalysisBasicInfoOutputBody.md
@@ -18,6 +18,7 @@
|**detectedArchitecture** | **String** | Detected instruction-set architecture; empty when unavailable | |
|**detectedBinaryFormat** | **String** | Detected binary container format; empty when unavailable | |
|**detectedBinaryType** | **String** | Detected operating-system platform; empty when unavailable | |
+|**detectedLanguage** | **String** | Detected source language; empty when unavailable | |
|**functionCount** | **Long** | Number of functions in the binary | |
|**isAdvanced** | **Boolean** | True when the analysis was run in advanced mode | |
|**isOwner** | **Boolean** | True when the caller is the analysis owner | |
diff --git a/docs/AnalysisDetailOutputBody.md b/docs/AnalysisDetailOutputBody.md
index 2216a6a..e93b80b 100644
--- a/docs/AnalysisDetailOutputBody.md
+++ b/docs/AnalysisDetailOutputBody.md
@@ -17,12 +17,15 @@
|**binaryName** | **String** | | |
|**binarySize** | **Long** | | |
|**binaryType** | **String** | | |
+|**capabilityCount** | **Long** | Number of capabilities in the latest capabilities agent result. Null when the agent has not produced a result | |
|**creation** | **String** | | |
|**dashboardUrl** | **String** | URL to view this analysis in the dashboard | |
|**debug** | **Boolean** | | |
|**modelName** | **String** | | |
|**requestedConfig** | **RequestedConfigBody** | Snapshot of the configuration the analysis was submitted with | |
+|**securityFindingCount** | **Long** | Number of HIGH or CRITICAL findings in the latest security scan. Null when the scan has not produced a result | |
|**sha256Hash** | **String** | | |
+|**threatScore** | **Double** | Software threat score from the latest triage result, from 0 to 1. Null when triage has not produced a result | |
diff --git a/docs/AnalysisOperationBody.md b/docs/AnalysisOperationBody.md
new file mode 100644
index 0000000..1adb1a1
--- /dev/null
+++ b/docs/AnalysisOperationBody.md
@@ -0,0 +1,28 @@
+
+
+# AnalysisOperationBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**name** | **String** | Resource name of the operation, polled at /v3/{name} | |
+|**operation** | **String** | Operation slug, the collection the operation is polled under | |
+|**status** | [**StatusEnum**](#StatusEnum) | Status of the operation's latest run | |
+
+
+
+## Enum: StatusEnum
+
+| Name | Value |
+|---- | -----|
+| UNINITIALISED | "UNINITIALISED" |
+| PENDING | "PENDING" |
+| RUNNING | "RUNNING" |
+| COMPLETED | "COMPLETED" |
+| FAILED | "FAILED" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/AnalysisOperationsOutputBody.md b/docs/AnalysisOperationsOutputBody.md
new file mode 100644
index 0000000..56bb0c4
--- /dev/null
+++ b/docs/AnalysisOperationsOutputBody.md
@@ -0,0 +1,13 @@
+
+
+# AnalysisOperationsOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**operations** | **List<AnalysisOperationBody>** | The analysis' static-analysis operation, followed by the latest run of each other operation started on its binary. Operations that have never run are omitted | |
+
+
+
diff --git a/docs/AnalysisRecordBody.md b/docs/AnalysisRecordBody.md
index 4009e5e..1019ab8 100644
--- a/docs/AnalysisRecordBody.md
+++ b/docs/AnalysisRecordBody.md
@@ -17,6 +17,7 @@
|**detectedArchitecture** | **String** | Detected instruction-set architecture; empty when unavailable | |
|**detectedBinaryFormat** | **String** | Detected binary container format; empty when unavailable | |
|**detectedBinaryType** | **String** | Detected operating-system platform; empty when unavailable | |
+|**detectedLanguage** | **String** | Detected source language; empty when unavailable | |
|**functionBoundariesHash** | **String** | Hash of the binary's provided function boundaries | |
|**isOwner** | **Boolean** | True when the caller owns the analysis | |
|**modelId** | **Long** | Model ID | |
diff --git a/docs/AuthenticationUsersApi.md b/docs/AuthenticationUsersApi.md
index 0ab964d..929d728 100644
--- a/docs/AuthenticationUsersApi.md
+++ b/docs/AuthenticationUsersApi.md
@@ -9,6 +9,7 @@ All URIs are relative to *https://api.reveng.ai*
| [**submitUserFeedback**](AuthenticationUsersApi.md#submitUserFeedback) | **POST** /v2/users/feedback | Submit feedback about the application |
| [**v3GetUser**](AuthenticationUsersApi.md#v3GetUser) | **GET** /v3/users/{user_id} | Get a user's public information |
| [**v3GetUserActivity**](AuthenticationUsersApi.md#v3GetUserActivity) | **GET** /v3/users/activity | Get the caller's activity feed |
+| [**v3ListUsers**](AuthenticationUsersApi.md#v3ListUsers) | **GET** /v3/users | Search users |
| [**v3SubmitUserFeedback**](AuthenticationUsersApi.md#v3SubmitUserFeedback) | **POST** /v3/users/feedback | Submit feedback |
@@ -372,6 +373,80 @@ This endpoint does not need any parameter.
| **200** | OK | - |
| **0** | Error | - |
+
+# **v3ListUsers**
+> ListPublicUsersOutputBody v3ListUsers(searchTerm)
+
+Search users
+
+Returns up to 5 active users whose username contains the search term (case-insensitive), with their ID and username, ordered by username.
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.AuthenticationUsersApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ AuthenticationUsersApi apiInstance = new AuthenticationUsersApi(defaultClient);
+ String searchTerm = "searchTerm_example"; // String | Text the username contains (case-insensitive)
+ try {
+ ListPublicUsersOutputBody result = apiInstance.v3ListUsers(searchTerm);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AuthenticationUsersApi#v3ListUsers");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **searchTerm** | **String**| Text the username contains (case-insensitive) | |
+
+### Return type
+
+[**ListPublicUsersOutputBody**](ListPublicUsersOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **0** | Error | - |
+
# **v3SubmitUserFeedback**
> SubmitFeedbackOutputBody v3SubmitUserFeedback(submitFeedbackBody)
diff --git a/docs/Binary.md b/docs/Binary.md
index 4b1c358..c492c9a 100644
--- a/docs/Binary.md
+++ b/docs/Binary.md
@@ -13,6 +13,7 @@
|**createdAt** | **OffsetDateTime** | | |
|**detectedArchitecture** | **String** | Detected instruction-set architecture; empty when unavailable | |
|**detectedBinaryType** | **String** | Detected operating-system platform; empty when unavailable | |
+|**detectedLanguage** | **String** | Detected source language; empty when unavailable | |
|**isSystemAnalysis** | **Boolean** | | |
|**modelName** | **String** | Name of the model the analysis ran on | |
|**ownerId** | **Long** | | |
diff --git a/docs/CallChainEvidence.md b/docs/CallChainEvidence.md
index a0b0663..79e542e 100644
--- a/docs/CallChainEvidence.md
+++ b/docs/CallChainEvidence.md
@@ -2,17 +2,26 @@
# CallChainEvidence
-A concrete sequence of calls connecting program locations.
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | | [optional] |
-|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
-|**effect** | **EvidenceEffect** | | |
-|**strength** | [**StrengthEnum**](#StrengthEnum) | | [optional] |
-|**callChain** | **List<Integer>** | | |
+|**callChain** | **List<Long>** | Addresses along the call chain. | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
diff --git a/docs/DecompilerSummaryEvidence.md b/docs/DecompilerSummaryEvidence.md
index f3d2d18..0359a0e 100644
--- a/docs/DecompilerSummaryEvidence.md
+++ b/docs/DecompilerSummaryEvidence.md
@@ -2,17 +2,26 @@
# DecompilerSummaryEvidence
-Semantic summaries derived from decompiler output.
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | | [optional] |
-|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
-|**effect** | **EvidenceEffect** | | |
-|**strength** | [**StrengthEnum**](#StrengthEnum) | | [optional] |
-|**summaries** | [**List<DecompilerSummary>**](DecompilerSummary.md) | | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+|**summaries** | **List<ReportCodeSummary>** | Summaries of the decompiled code. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
diff --git a/docs/DisassemblySummaryEvidence.md b/docs/DisassemblySummaryEvidence.md
new file mode 100644
index 0000000..9243dae
--- /dev/null
+++ b/docs/DisassemblySummaryEvidence.md
@@ -0,0 +1,54 @@
+
+
+# DisassemblySummaryEvidence
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+|**summaries** | **List<ReportCodeSummary>** | Summaries of the disassembled code. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: EvidenceKindEnum
+
+| Name | Value |
+|---- | -----|
+| DISASSEMBLY_SUMMARY | "disassembly_summary" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: KindEnum
+
+| Name | Value |
+|---- | -----|
+| MODEL_INTERPRETATION | "model_interpretation" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: StrengthEnum
+
+| Name | Value |
+|---- | -----|
+| INDIRECT | "indirect" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/DynamicExecutionResult.md b/docs/DynamicExecutionResult.md
new file mode 100644
index 0000000..280eac3
--- /dev/null
+++ b/docs/DynamicExecutionResult.md
@@ -0,0 +1,13 @@
+
+
+# DynamicExecutionResult
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**reportAvailable** | **Boolean** | Whether the run's report can be fetched from the report endpoint. Always true when the operation succeeded. | |
+
+
+
diff --git a/docs/DynamicExecutionSummaryResult.md b/docs/DynamicExecutionSummaryResult.md
new file mode 100644
index 0000000..b57068f
--- /dev/null
+++ b/docs/DynamicExecutionSummaryResult.md
@@ -0,0 +1,13 @@
+
+
+# DynamicExecutionSummaryResult
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**summaryAvailable** | **Boolean** | Whether the summary can be fetched from the summary endpoint. Always true when the operation succeeded. | |
+
+
+
diff --git a/docs/ErrorBody.md b/docs/ErrorBody.md
index 24217e0..768081c 100644
--- a/docs/ErrorBody.md
+++ b/docs/ErrorBody.md
@@ -26,6 +26,7 @@
| CLIENT_CLOSED_REQUEST | "CLIENT_CLOSED_REQUEST" |
| CONFLICT | "CONFLICT" |
| CONVERSATION_NOT_FOUND | "CONVERSATION_NOT_FOUND" |
+| DISPOSABLE_EMAIL_NOT_ALLOWED | "DISPOSABLE_EMAIL_NOT_ALLOWED" |
| DOMAIN_ALREADY_CLAIMED | "DOMAIN_ALREADY_CLAIMED" |
| DOMAIN_VERIFICATION_PENDING | "DOMAIN_VERIFICATION_PENDING" |
| DYNAMIC_EXECUTION_INCOMPLETE | "DYNAMIC_EXECUTION_INCOMPLETE" |
@@ -53,6 +54,7 @@
| NO_PENDING_CONFIRMATION | "NO_PENDING_CONFIRMATION" |
| NO_VIRUSTOTAL_KEY | "NO_VIRUSTOTAL_KEY" |
| OIDC_DISCOVERY_FAILED | "OIDC_DISCOVERY_FAILED" |
+| OPERATION_PREREQUISITE_NOT_MET | "OPERATION_PREREQUISITE_NOT_MET" |
| PASSWORD_RESET_REQUIRED | "PASSWORD_RESET_REQUIRED" |
| PAYMENT_REQUIRED | "PAYMENT_REQUIRED" |
| PRECONDITION_FAILED | "PRECONDITION_FAILED" |
diff --git a/docs/EvidenceInner.md b/docs/EvidenceInner.md
index de87d36..bce4c4e 100644
--- a/docs/EvidenceInner.md
+++ b/docs/EvidenceInner.md
@@ -7,26 +7,35 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | | [optional] |
-|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
-|**effect** | [**EffectEnum**](#EffectEnum) | | |
-|**strength** | **EvidenceStrength** | | |
-|**callChain** | **List<Integer>** | | |
-|**constants** | [**List<ReferencedConstant>**](ReferencedConstant.md) | | |
+|**callChain** | **List<Long>** | Addresses along the call chain. | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+|**constants** | **List<ReportReferencedConstant>** | The constants and where they are referenced. | |
|**calls** | [**List<ImportedApiCall>**](ImportedApiCall.md) | | |
-|**strings** | [**List<StringMatch>**](StringMatch.md) | | |
-|**similarities** | [**List<FunctionSimilarity>**](FunctionSimilarity.md) | | |
+|**strings** | **List<ReportStringMatch>** | The matched strings. | |
+|**similarities** | **List<ReportFunctionSimilarity>** | The similar functions. | |
|**apis** | [**List<ImportedApi>**](ImportedApi.md) | | |
-|**summaries** | [**List<DecompilerSummary>**](DecompilerSummary.md) | | |
-|**interpretations** | [**List<ModelInterpretation>**](ModelInterpretation.md) | | |
-|**values** | **List<BytesConstant>** | | |
-|**ruleId** | **String** | | |
-|**description** | **String** | | |
-|**secretKind** | **RuleKind** | | |
-|**secret** | **String** | | |
-|**entropy** | **BigDecimal** | | |
-|**size** | **Integer** | | |
-|**references** | **List<Integer>** | | |
+|**summaries** | **List<ReportCodeSummary>** | Summaries of the decompiled code. | |
+|**interpretations** | **List<ReportModelInterpretation>** | Interpretations of the code by an AI model. | |
+|**values** | **List<ReportBytesConstant>** | The well-known constants found in the binary. | |
+|**description** | **String** | What the rule detects. | |
+|**entropy** | **Double** | Shannon entropy of the secret, in bits per byte. | |
+|**references** | **List<Long>** | Address of the secret in the binary's data. | |
+|**ruleId** | **String** | Identifier of the secret-scanning rule that matched. | |
+|**secret** | **String** | The secret as it appears in the binary. | |
+|**secretKind** | [**SecretKindEnum**](#SecretKindEnum) | Category of the secret. | |
+|**size** | **Long** | Size of the secret in bytes. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
@@ -48,11 +57,29 @@
-## Enum: EffectEnum
+## Enum: StrengthEnum
| Name | Value |
|---- | -----|
-| SUPPORTS | "supports" |
+| DIRECT | "direct" |
+| INDIRECT | "indirect" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: SecretKindEnum
+
+| Name | Value |
+|---- | -----|
+| CREDENTIALS | "credentials" |
+| API_CREDENTIALS | "api-credentials" |
+| OAUTH_CREDENTIALS | "oauth-credentials" |
+| ENCRYPTION_KEY | "encryption-key" |
+| JWT_TOKEN | "jwt-token" |
+| WEBHOOK_URL | "webhook-url" |
+| PRIVATE_KEY | "private-key" |
+| SIGNED_URL | "signed-url" |
+| GENERIC | "generic" |
| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
diff --git a/docs/FunctionGlobalVariable.md b/docs/FunctionGlobalVariable.md
new file mode 100644
index 0000000..55e561a
--- /dev/null
+++ b/docs/FunctionGlobalVariable.md
@@ -0,0 +1,98 @@
+
+
+# FunctionGlobalVariable
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**dType** | **String** | Name of the assigned data type. | [optional] |
+|**dataTypeId** | **Long** | Analysis data type, when one is assigned. | [optional] |
+|**decompLines** | **List<Integer>** | 1-indexed lines of the function's AI decompilation that reference the global. | |
+|**functionCount** | **Long** | How many functions' AI decompilations reference the global. | |
+|**indirectTarget** | **Long** | Address a pointer slot resolves to. | [optional] |
+|**isBss** | **Boolean** | Whether the address falls in a zero-initialised section. | |
+|**name** | **String** | Recovered name, absent when nothing named the address. | [optional] |
+|**nameSource** | [**NameSourceEnum**](#NameSourceEnum) | What named it. | [optional] |
+|**refCount** | **Long** | How many times the function's AI decompilation references the global. | |
+|**size** | **Long** | Size in bytes, when known. | [optional] |
+|**sourceFunctionId** | **Long** | Function a constructed static was initialised in. | [optional] |
+|**totalRefCount** | **Long** | How many times those AI decompilations reference the global, summed across functions. | |
+|**typeSource** | [**TypeSourceEnum**](#TypeSourceEnum) | What typed it. | [optional] |
+|**vaddr** | **Long** | Virtual address the global lives at. | |
+|**value** | **String** | Decoded initial value, rendered for display. | [optional] |
+|**valueConfidence** | **String** | How much to trust the decoded value. | [optional] |
+|**valueKind** | [**ValueKindEnum**](#ValueKindEnum) | How the value was interpreted. | [optional] |
+|**valueSource** | [**ValueSourceEnum**](#ValueSourceEnum) | What produced the value. | [optional] |
+
+
+
+## Enum: NameSourceEnum
+
+| Name | Value |
+|---- | -----|
+| SYSTEM | "SYSTEM" |
+| RESOLVER | "RESOLVER" |
+| DEBUG | "DEBUG" |
+| CONSTRUCTOR | "CONSTRUCTOR" |
+| VALUE | "VALUE" |
+| AI_DECOMP | "AI_DECOMP" |
+| AI_AGENT | "AI_AGENT" |
+| USER | "USER" |
+| ACCESS | "ACCESS" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: TypeSourceEnum
+
+| Name | Value |
+|---- | -----|
+| SYSTEM | "SYSTEM" |
+| RESOLVER | "RESOLVER" |
+| DEBUG | "DEBUG" |
+| CONSTRUCTOR | "CONSTRUCTOR" |
+| VALUE | "VALUE" |
+| AI_DECOMP | "AI_DECOMP" |
+| AI_AGENT | "AI_AGENT" |
+| USER | "USER" |
+| ACCESS | "ACCESS" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: ValueKindEnum
+
+| Name | Value |
+|---- | -----|
+| BSS | "BSS" |
+| STRING | "STRING" |
+| SHORT_STRING | "SHORT_STRING" |
+| FLOAT | "FLOAT" |
+| POINTER | "POINTER" |
+| DYNAMIC_INIT | "DYNAMIC_INIT" |
+| HEX | "HEX" |
+| INT | "INT" |
+| BOOL | "BOOL" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: ValueSourceEnum
+
+| Name | Value |
+|---- | -----|
+| SYSTEM | "SYSTEM" |
+| RESOLVER | "RESOLVER" |
+| DEBUG | "DEBUG" |
+| CONSTRUCTOR | "CONSTRUCTOR" |
+| VALUE | "VALUE" |
+| AI_DECOMP | "AI_DECOMP" |
+| AI_AGENT | "AI_AGENT" |
+| USER | "USER" |
+| ACCESS | "ACCESS" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/FunctionSimilarityEvidence.md b/docs/FunctionSimilarityEvidence.md
index 7a1f565..dd63b97 100644
--- a/docs/FunctionSimilarityEvidence.md
+++ b/docs/FunctionSimilarityEvidence.md
@@ -2,17 +2,26 @@
# FunctionSimilarityEvidence
-Function-similarity results suggestive of a capability.
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | | [optional] |
-|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
-|**effect** | **EvidenceEffect** | | |
-|**strength** | [**StrengthEnum**](#StrengthEnum) | | [optional] |
-|**similarities** | [**List<FunctionSimilarity>**](FunctionSimilarity.md) | | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**similarities** | **List<ReportFunctionSimilarity>** | The similar functions. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
diff --git a/docs/FunctionUsage.md b/docs/FunctionUsage.md
new file mode 100644
index 0000000..798fe5f
--- /dev/null
+++ b/docs/FunctionUsage.md
@@ -0,0 +1,17 @@
+
+
+# FunctionUsage
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**decompLines** | **List<Integer>** | | |
+|**functionId** | **Long** | | |
+|**functionName** | **String** | | |
+|**functionVaddr** | **Long** | | |
+|**refCount** | **Long** | | |
+
+
+
diff --git a/docs/FunctionsAiDecompilationApi.md b/docs/FunctionsAiDecompilationApi.md
index 132e9fd..9eefe97 100644
--- a/docs/FunctionsAiDecompilationApi.md
+++ b/docs/FunctionsAiDecompilationApi.md
@@ -31,11 +31,11 @@ All URIs are relative to *https://api.reveng.ai*
# **createAiDecompilation**
-> CreateAIDecompOutputBody createAiDecompilation(functionId, temperature, typeSuggestions, applyTypes)
+> CreateAIDecompOutputBody createAiDecompilation(functionId, temperature, typeSuggestions, naming, applyTypes)
Start AI decompilation
-Begins the AI decompilation process for a function. Charges team credits and starts the workflow. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+Begins the AI decompilation process for a function. Charges team credits and starts the workflow. Replacing an existing completed decompilation requires write access to the analysis; any caller with read access can decompile a function that has no completed result. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
### Example
```java
@@ -66,9 +66,10 @@ public class Example {
Long functionId = 56L; // Long | Function ID
Double temperature = -1D; // Double | LLM temperature (0.0-1.0). Overrides the server default when set. Omit or set to -1 to use the server default.
Boolean typeSuggestions = true; // Boolean | Ask the language model to name the suggested types and their members. Set to false to skip the model call; the statically derived layouts are still computed and stored. Cannot re-enable the pass when the server has it off.
+ Boolean naming = true; // Boolean | Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off.
Boolean applyTypes = true; // Boolean | Store the suggested types as data types of this function's analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off.
try {
- CreateAIDecompOutputBody result = apiInstance.createAiDecompilation(functionId, temperature, typeSuggestions, applyTypes);
+ CreateAIDecompOutputBody result = apiInstance.createAiDecompilation(functionId, temperature, typeSuggestions, naming, applyTypes);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FunctionsAiDecompilationApi#createAiDecompilation");
@@ -88,6 +89,7 @@ public class Example {
| **functionId** | **Long**| Function ID | |
| **temperature** | **Double**| LLM temperature (0.0-1.0). Overrides the server default when set. Omit or set to -1 to use the server default. | [optional] [default to -1] |
| **typeSuggestions** | **Boolean**| Ask the language model to name the suggested types and their members. Set to false to skip the model call; the statically derived layouts are still computed and stored. Cannot re-enable the pass when the server has it off. | [optional] [default to true] |
+| **naming** | **Boolean**| Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off. | [optional] [default to true] |
| **applyTypes** | **Boolean**| Store the suggested types as data types of this function's analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. | [optional] [default to true] |
### Return type
@@ -110,6 +112,7 @@ public class Example {
| **400** | Bad Request | - |
| **402** | Payment Required | - |
| **403** | Forbidden | - |
+| **404** | Not Found | - |
| **409** | Conflict | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
@@ -120,7 +123,7 @@ public class Example {
Delete a single inline comment
-Removes the comment for the given line number. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found
+Removes the comment for the given line number. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found
### Example
```java
@@ -733,7 +736,7 @@ public class Example {
Update a single inline comment
-Merges a single line comment into the existing AI-generated inline comments. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found
+Merges a single line comment into the existing AI-generated inline comments. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found
### Example
```java
@@ -812,7 +815,7 @@ public class Example {
Regenerate AI decompilation inline comments
-Starts a new inline comments generation workflow for the function. Requires an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+Starts a new inline comments generation workflow for the function. Requires write access to the analysis and an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
### Example
```java
@@ -891,7 +894,7 @@ public class Example {
Regenerate AI decompilation summary
-Starts a new summary generation workflow for the function. Requires an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+Starts a new summary generation workflow for the function. Requires write access to the analysis and an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
### Example
```java
@@ -1583,7 +1586,7 @@ public class Example {
Regenerate AI decompilation type suggestions
-Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error
+Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires write access to the analysis and a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error
### Example
```java
@@ -1663,7 +1666,7 @@ public class Example {
Upsert variable/function name overrides
-Applies user-provided name overrides to placeholder tokens in the decompilation. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error
+Applies user-provided name overrides to placeholder tokens in the decompilation. Requires write access to the analysis. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error
### Example
```java
diff --git a/docs/FunctionsCoreApi.md b/docs/FunctionsCoreApi.md
index 313737e..0dfefd1 100644
--- a/docs/FunctionsCoreApi.md
+++ b/docs/FunctionsCoreApi.md
@@ -29,6 +29,7 @@ All URIs are relative to *https://api.reveng.ai*
| [**startFunctionsMatching**](FunctionsCoreApi.md#startFunctionsMatching) | **POST** /v3/functions/matches | Start function matching for an explicit set of functions |
| [**v3CanonicalizeFunctionNames**](FunctionsCoreApi.md#v3CanonicalizeFunctionNames) | **POST** /v3/functions/canonical-names | Canonicalize a batch of function names |
| [**v3GetAnalysisFuncMaps**](FunctionsCoreApi.md#v3GetAnalysisFuncMaps) | **GET** /v3/analyses/{analysis_id}/func-maps | Get function ID/address maps for an analysis |
+| [**v3ListFunctionGlobals**](FunctionsCoreApi.md#v3ListFunctionGlobals) | **GET** /v3/functions/{function_id}/globals | List the global variables a function references. |
| [**v3SearchFunctions**](FunctionsCoreApi.md#v3SearchFunctions) | **GET** /v3/functions | Search functions |
@@ -1975,6 +1976,83 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
+
+# **v3ListFunctionGlobals**
+> ListFunctionGlobalsOutputBody v3ListFunctionGlobals(functionId)
+
+List the global variables a function references.
+
+Returns the global variables referenced by the function, ordered by address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+
+### Example
+```java
+// Import classes:
+import ai.reveng.invoker.ApiClient;
+import ai.reveng.invoker.ApiException;
+import ai.reveng.invoker.Configuration;
+import ai.reveng.invoker.auth.*;
+import ai.reveng.invoker.models.*;
+import ai.reveng.api.FunctionsCoreApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://api.reveng.ai");
+
+ // Configure API key authorization: APIKey
+ ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
+ APIKey.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //APIKey.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: bearerAuth
+ HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
+ bearerAuth.setBearerToken("BEARER TOKEN");
+
+ FunctionsCoreApi apiInstance = new FunctionsCoreApi(defaultClient);
+ Long functionId = 56L; // Long | Function ID
+ try {
+ ListFunctionGlobalsOutputBody result = apiInstance.v3ListFunctionGlobals(functionId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FunctionsCoreApi#v3ListFunctionGlobals");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **functionId** | **Long**| Function ID | |
+
+### Return type
+
+[**ListFunctionGlobalsOutputBody**](ListFunctionGlobalsOutputBody.md)
+
+### Authorization
+
+[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
# **v3SearchFunctions**
> SearchFunctionsOutputBody v3SearchFunctions(partialName, modelName, limit, offset)
diff --git a/docs/FunctionsRenamingHistoryApi.md b/docs/FunctionsRenamingHistoryApi.md
index 774c477..6be7768 100644
--- a/docs/FunctionsRenamingHistoryApi.md
+++ b/docs/FunctionsRenamingHistoryApi.md
@@ -94,7 +94,7 @@ public class Example {
Batch rename functions
-Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request
+Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed
### Example
```java
@@ -322,7 +322,7 @@ public class Example {
Rename a function
-Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found
+Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed
### Example
```java
diff --git a/docs/GetGlobalHistoryOutputBody.md b/docs/GetGlobalHistoryOutputBody.md
new file mode 100644
index 0000000..4c2c4c2
--- /dev/null
+++ b/docs/GetGlobalHistoryOutputBody.md
@@ -0,0 +1,13 @@
+
+
+# GetGlobalHistoryOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**history** | **List<GlobalHistoryEntry>** | Replaced values, oldest first. | |
+
+
+
diff --git a/docs/GlobalHistoryEntry.md b/docs/GlobalHistoryEntry.md
new file mode 100644
index 0000000..8eff953
--- /dev/null
+++ b/docs/GlobalHistoryEntry.md
@@ -0,0 +1,15 @@
+
+
+# GlobalHistoryEntry
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**previous** | **GlobalVariable** | The global as it stood before that edit. | |
+|**replacedAt** | **OffsetDateTime** | When the value below was replaced. | |
+|**replacedByUserId** | **Long** | Who replaced it. | |
+
+
+
diff --git a/docs/GlobalVariable.md b/docs/GlobalVariable.md
new file mode 100644
index 0000000..cf78a7d
--- /dev/null
+++ b/docs/GlobalVariable.md
@@ -0,0 +1,96 @@
+
+
+# GlobalVariable
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**dType** | **String** | Name of the assigned data type. | [optional] |
+|**dataTypeId** | **Long** | Analysis data type, when one is assigned. | [optional] |
+|**functionCount** | **Long** | How many functions' AI decompilations reference the global. | |
+|**indirectTarget** | **Long** | Address a pointer slot resolves to. | [optional] |
+|**isBss** | **Boolean** | Whether the address falls in a zero-initialised section. | |
+|**name** | **String** | Recovered name, absent when nothing named the address. | [optional] |
+|**nameSource** | [**NameSourceEnum**](#NameSourceEnum) | What named it. | [optional] |
+|**size** | **Long** | Size in bytes, when known. | [optional] |
+|**sourceFunctionId** | **Long** | Function a constructed static was initialised in. | [optional] |
+|**totalRefCount** | **Long** | How many times those AI decompilations reference the global, summed across functions. | |
+|**typeSource** | [**TypeSourceEnum**](#TypeSourceEnum) | What typed it. | [optional] |
+|**vaddr** | **Long** | Virtual address the global lives at. | |
+|**value** | **String** | Decoded initial value, rendered for display. | [optional] |
+|**valueConfidence** | **String** | How much to trust the decoded value. | [optional] |
+|**valueKind** | [**ValueKindEnum**](#ValueKindEnum) | How the value was interpreted. | [optional] |
+|**valueSource** | [**ValueSourceEnum**](#ValueSourceEnum) | What produced the value. | [optional] |
+
+
+
+## Enum: NameSourceEnum
+
+| Name | Value |
+|---- | -----|
+| SYSTEM | "SYSTEM" |
+| RESOLVER | "RESOLVER" |
+| DEBUG | "DEBUG" |
+| CONSTRUCTOR | "CONSTRUCTOR" |
+| VALUE | "VALUE" |
+| AI_DECOMP | "AI_DECOMP" |
+| AI_AGENT | "AI_AGENT" |
+| USER | "USER" |
+| ACCESS | "ACCESS" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: TypeSourceEnum
+
+| Name | Value |
+|---- | -----|
+| SYSTEM | "SYSTEM" |
+| RESOLVER | "RESOLVER" |
+| DEBUG | "DEBUG" |
+| CONSTRUCTOR | "CONSTRUCTOR" |
+| VALUE | "VALUE" |
+| AI_DECOMP | "AI_DECOMP" |
+| AI_AGENT | "AI_AGENT" |
+| USER | "USER" |
+| ACCESS | "ACCESS" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: ValueKindEnum
+
+| Name | Value |
+|---- | -----|
+| BSS | "BSS" |
+| STRING | "STRING" |
+| SHORT_STRING | "SHORT_STRING" |
+| FLOAT | "FLOAT" |
+| POINTER | "POINTER" |
+| DYNAMIC_INIT | "DYNAMIC_INIT" |
+| HEX | "HEX" |
+| INT | "INT" |
+| BOOL | "BOOL" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: ValueSourceEnum
+
+| Name | Value |
+|---- | -----|
+| SYSTEM | "SYSTEM" |
+| RESOLVER | "RESOLVER" |
+| DEBUG | "DEBUG" |
+| CONSTRUCTOR | "CONSTRUCTOR" |
+| VALUE | "VALUE" |
+| AI_DECOMP | "AI_DECOMP" |
+| AI_AGENT | "AI_AGENT" |
+| USER | "USER" |
+| ACCESS | "ACCESS" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/HardcodedSecretEvidence.md b/docs/HardcodedSecretEvidence.md
index 7dbe049..50aee7b 100644
--- a/docs/HardcodedSecretEvidence.md
+++ b/docs/HardcodedSecretEvidence.md
@@ -2,23 +2,31 @@
# HardcodedSecretEvidence
-A hard-coded secret identified in the binary's data.
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | | [optional] |
-|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
-|**effect** | [**EffectEnum**](#EffectEnum) | | [optional] |
-|**strength** | **EvidenceStrength** | | |
-|**ruleId** | **String** | | |
-|**description** | **String** | | |
-|**secretKind** | **RuleKind** | | |
-|**secret** | **String** | | |
-|**entropy** | **BigDecimal** | | |
-|**size** | **Integer** | | |
-|**references** | **List<Integer>** | | |
+|**description** | **String** | What the rule detects. | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**entropy** | **Double** | Shannon entropy of the secret, in bits per byte. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**references** | **List<Long>** | Address of the secret in the binary's data. | |
+|**ruleId** | **String** | Identifier of the secret-scanning rule that matched. | |
+|**secret** | **String** | The secret as it appears in the binary. | |
+|**secretKind** | [**SecretKindEnum**](#SecretKindEnum) | Category of the secret. | |
+|**size** | **Long** | Size of the secret in bytes. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
@@ -40,11 +48,29 @@ A hard-coded secret identified in the binary's data.
-## Enum: EffectEnum
+## Enum: SecretKindEnum
| Name | Value |
|---- | -----|
-| SUPPORTS | "supports" |
+| CREDENTIALS | "credentials" |
+| API_CREDENTIALS | "api-credentials" |
+| OAUTH_CREDENTIALS | "oauth-credentials" |
+| ENCRYPTION_KEY | "encryption-key" |
+| JWT_TOKEN | "jwt-token" |
+| WEBHOOK_URL | "webhook-url" |
+| PRIVATE_KEY | "private-key" |
+| SIGNED_URL | "signed-url" |
+| GENERIC | "generic" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: StrengthEnum
+
+| Name | Value |
+|---- | -----|
+| DIRECT | "direct" |
+| INDIRECT | "indirect" |
| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
diff --git a/docs/ImportedAPICallEvidence.md b/docs/ImportedAPICallEvidence.md
new file mode 100644
index 0000000..09c1787
--- /dev/null
+++ b/docs/ImportedAPICallEvidence.md
@@ -0,0 +1,54 @@
+
+
+# ImportedAPICallEvidence
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**calls** | **List<ReportImportedAPICall>** | The observed calls. | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: EvidenceKindEnum
+
+| Name | Value |
+|---- | -----|
+| IMPORTED_API_CALL | "imported_api_call" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: KindEnum
+
+| Name | Value |
+|---- | -----|
+| DETERMINISTIC_DERIVATION | "deterministic_derivation" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: StrengthEnum
+
+| Name | Value |
+|---- | -----|
+| DIRECT | "direct" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/KnownConstantEvidence.md b/docs/KnownConstantEvidence.md
index 165e18f..65a5a76 100644
--- a/docs/KnownConstantEvidence.md
+++ b/docs/KnownConstantEvidence.md
@@ -2,17 +2,26 @@
# KnownConstantEvidence
-A known constant whose semantic use has not been demonstrated.
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | | [optional] |
-|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
-|**effect** | **EvidenceEffect** | | |
-|**strength** | [**StrengthEnum**](#StrengthEnum) | | [optional] |
-|**values** | **List<BytesConstant>** | | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+|**values** | **List<ReportBytesConstant>** | The well-known constants found in the binary. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
diff --git a/docs/ListAnalysisGlobalsOutputBody.md b/docs/ListAnalysisGlobalsOutputBody.md
new file mode 100644
index 0000000..316a239
--- /dev/null
+++ b/docs/ListAnalysisGlobalsOutputBody.md
@@ -0,0 +1,15 @@
+
+
+# ListAnalysisGlobalsOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**globals** | **List<GlobalVariable>** | | |
+|**total** | **Long** | | |
+|**totalUnfiltered** | **Long** | | |
+
+
+
diff --git a/docs/ListFunctionGlobalsOutputBody.md b/docs/ListFunctionGlobalsOutputBody.md
new file mode 100644
index 0000000..6774097
--- /dev/null
+++ b/docs/ListFunctionGlobalsOutputBody.md
@@ -0,0 +1,14 @@
+
+
+# ListFunctionGlobalsOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**decompiled** | **Boolean** | Whether the function has a successful AI decompilation. Its globals are recorded from that decompilation, so before one exists the list is empty however many globals the function uses. | |
+|**globals** | **List<FunctionGlobalVariable>** | | |
+
+
+
diff --git a/docs/ListGlobalFunctionsOutputBody.md b/docs/ListGlobalFunctionsOutputBody.md
new file mode 100644
index 0000000..6671243
--- /dev/null
+++ b/docs/ListGlobalFunctionsOutputBody.md
@@ -0,0 +1,13 @@
+
+
+# ListGlobalFunctionsOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**functions** | **List<FunctionUsage>** | | |
+
+
+
diff --git a/docs/ListOperationPrerequisitesOutputBody.md b/docs/ListOperationPrerequisitesOutputBody.md
new file mode 100644
index 0000000..f990278
--- /dev/null
+++ b/docs/ListOperationPrerequisitesOutputBody.md
@@ -0,0 +1,13 @@
+
+
+# ListOperationPrerequisitesOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**operations** | **List<OperationPrerequisitesBody>** | Operations that have prerequisites | |
+
+
+
diff --git a/docs/ListPublicUsersOutputBody.md b/docs/ListPublicUsersOutputBody.md
new file mode 100644
index 0000000..35beb09
--- /dev/null
+++ b/docs/ListPublicUsersOutputBody.md
@@ -0,0 +1,13 @@
+
+
+# ListPublicUsersOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**results** | **List<PublicUserBody>** | Up to 5 matching active users, ordered by username | |
+
+
+
diff --git a/docs/ModelInterpretation.md b/docs/ModelInterpretation.md
index 3685203..49cad19 100644
--- a/docs/ModelInterpretation.md
+++ b/docs/ModelInterpretation.md
@@ -7,7 +7,7 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**interpretation** | **String** | | [optional] |
+|**interpretation** | **String** | Search is applied to string value | [optional] |
diff --git a/docs/ModelInterpretationEvidence.md b/docs/ModelInterpretationEvidence.md
index 6b33f7c..1900a4e 100644
--- a/docs/ModelInterpretationEvidence.md
+++ b/docs/ModelInterpretationEvidence.md
@@ -2,17 +2,26 @@
# ModelInterpretationEvidence
-LLM interpretations of observations.
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | | [optional] |
-|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
-|**effect** | **EvidenceEffect** | | |
-|**strength** | **EvidenceStrength** | | [optional] |
-|**interpretations** | [**List<ModelInterpretation>**](ModelInterpretation.md) | | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**interpretations** | **List<ReportModelInterpretation>** | Interpretations of the code by an AI model. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
@@ -34,3 +43,13 @@ LLM interpretations of observations.
+## Enum: StrengthEnum
+
+| Name | Value |
+|---- | -----|
+| DIRECT | "direct" |
+| INDIRECT | "indirect" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/OperationDynamicExecutionMetadataDynamicExecutionResult.md b/docs/OperationDynamicExecutionMetadataDynamicExecutionResult.md
index 64e7802..c497931 100644
--- a/docs/OperationDynamicExecutionMetadataDynamicExecutionResult.md
+++ b/docs/OperationDynamicExecutionMetadataDynamicExecutionResult.md
@@ -11,7 +11,7 @@
|**error** | **Status** | Failure detail, populated only when done is true and the operation failed. | [optional] |
|**metadata** | **DynamicExecutionMetadata** | In-flight information and details. | [optional] |
|**name** | **String** | API resource name. | |
-|**response** | **Object** | Result, set only when done is true and the operation succeeded. | [optional] |
+|**response** | **DynamicExecutionResult** | Result, set only when done is true and the operation succeeded. | [optional] |
diff --git a/docs/OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.md b/docs/OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.md
index d2cb0e9..81d327a 100644
--- a/docs/OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.md
+++ b/docs/OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.md
@@ -11,7 +11,7 @@
|**error** | **Status** | Failure detail, populated only when done is true and the operation failed. | [optional] |
|**metadata** | **DynamicExecutionSummaryMetadata** | In-flight information and details. | [optional] |
|**name** | **String** | API resource name. | |
-|**response** | **Object** | Result, set only when done is true and the operation succeeded. | [optional] |
+|**response** | **DynamicExecutionSummaryResult** | Result, set only when done is true and the operation succeeded. | [optional] |
diff --git a/docs/OperationPrerequisitesBody.md b/docs/OperationPrerequisitesBody.md
new file mode 100644
index 0000000..bf0aa48
--- /dev/null
+++ b/docs/OperationPrerequisitesBody.md
@@ -0,0 +1,14 @@
+
+
+# OperationPrerequisitesBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**operation** | **String** | The operation | |
+|**prerequisites** | **List<String>** | Operations that must complete before this operation can start | |
+
+
+
diff --git a/docs/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.md b/docs/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.md
new file mode 100644
index 0000000..cc5bdb4
--- /dev/null
+++ b/docs/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.md
@@ -0,0 +1,17 @@
+
+
+# OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**done** | **Boolean** | Whether the operation has reached a terminal state. | |
+|**error** | **Status** | Failure detail, populated only when done is true and the operation failed. | [optional] |
+|**metadata** | **RenameUnnamedFunctionsMetadata** | In-flight information and details. | [optional] |
+|**name** | **String** | API resource name. | |
+|**response** | **RenameUnnamedFunctionsResult** | Result, set only when done is true and the operation succeeded. | [optional] |
+
+
+
diff --git a/docs/PublicUserBody.md b/docs/PublicUserBody.md
new file mode 100644
index 0000000..4280e0c
--- /dev/null
+++ b/docs/PublicUserBody.md
@@ -0,0 +1,14 @@
+
+
+# PublicUserBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**userId** | **Long** | The user's ID | |
+|**username** | **String** | The user's display name | |
+
+
+
diff --git a/docs/ReferencedConstantEvidence.md b/docs/ReferencedConstantEvidence.md
index b97581c..01df15a 100644
--- a/docs/ReferencedConstantEvidence.md
+++ b/docs/ReferencedConstantEvidence.md
@@ -2,17 +2,26 @@
# ReferencedConstantEvidence
-Constants and the instructions that reference them.
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | | [optional] |
-|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
-|**effect** | **EvidenceEffect** | | |
-|**strength** | [**StrengthEnum**](#StrengthEnum) | | [optional] |
-|**constants** | [**List<ReferencedConstant>**](ReferencedConstant.md) | | |
+|**constants** | **List<ReportReferencedConstant>** | The constants and where they are referenced. | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
diff --git a/docs/RenameUnnamedFunctionsMetadata.md b/docs/RenameUnnamedFunctionsMetadata.md
new file mode 100644
index 0000000..1e56a37
--- /dev/null
+++ b/docs/RenameUnnamedFunctionsMetadata.md
@@ -0,0 +1,27 @@
+
+
+# RenameUnnamedFunctionsMetadata
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**logHistory** | **List<List<Object>>** | Progress messages the run recorded, oldest first. | [optional] |
+|**status** | [**StatusEnum**](#StatusEnum) | Run status. UNINITIALISED means the agent has never been triggered for this analysis. | |
+
+
+
+## Enum: StatusEnum
+
+| Name | Value |
+|---- | -----|
+| UNINITIALISED | "UNINITIALISED" |
+| PENDING | "PENDING" |
+| RUNNING | "RUNNING" |
+| COMPLETED | "COMPLETED" |
+| FAILED | "FAILED" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/ReportBytesConstant.md b/docs/ReportBytesConstant.md
new file mode 100644
index 0000000..c6832d3
--- /dev/null
+++ b/docs/ReportBytesConstant.md
@@ -0,0 +1,41 @@
+
+
+# ReportBytesConstant
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**display** | [**DisplayEnum**](#DisplayEnum) | Suggested format for displaying the value. | |
+|**format** | [**FormatEnum**](#FormatEnum) | Encoding of the value. | |
+|**value** | **String** | The bytes of the constant, hex-encoded. | |
+
+
+
+## Enum: DisplayEnum
+
+| Name | Value |
+|---- | -----|
+| HEX | "hex" |
+| UINT8 | "uint8" |
+| UINT16 | "uint16" |
+| UINT32 | "uint32" |
+| UINT64 | "uint64" |
+| INT8 | "int8" |
+| INT16 | "int16" |
+| INT32 | "int32" |
+| INT64 | "int64" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: FormatEnum
+
+| Name | Value |
+|---- | -----|
+| BYTES | "bytes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/ReportCallChain.md b/docs/ReportCallChain.md
new file mode 100644
index 0000000..1090295
--- /dev/null
+++ b/docs/ReportCallChain.md
@@ -0,0 +1,13 @@
+
+
+# ReportCallChain
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**path** | **List<Long>** | Call addresses along the path, entry point first. | |
+
+
+
diff --git a/docs/ReportCodeSummary.md b/docs/ReportCodeSummary.md
new file mode 100644
index 0000000..d93ef5d
--- /dev/null
+++ b/docs/ReportCodeSummary.md
@@ -0,0 +1,15 @@
+
+
+# ReportCodeSummary
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**reachability** | **ReportCallChain** | A call chain reaching the entity, absent when none was found. | [optional] |
+|**subject** | **ReportSubject** | The program location whose code is summarised. | |
+|**summary** | **String** | What the code does. | |
+
+
+
diff --git a/docs/ReportFinding.md b/docs/ReportFinding.md
new file mode 100644
index 0000000..9cbb5d0
--- /dev/null
+++ b/docs/ReportFinding.md
@@ -0,0 +1,26 @@
+
+
+# ReportFinding
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**evidence** | [**List<ReportFindingEvidenceInner>**](ReportFindingEvidenceInner.md) | The evidence for or against the finding. | |
+|**propertyId** | **String** | Identifier of the property the finding asserts. | |
+|**reachability** | [**ReachabilityEnum**](#ReachabilityEnum) | Whether the code behind the finding is reachable from an entry point. | |
+
+
+
+## Enum: ReachabilityEnum
+
+| Name | Value |
+|---- | -----|
+| UNDETERMINED | "undetermined" |
+| REACHABLE | "reachable" |
+| UNREACHABLE | "unreachable" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/ReportFindingEvidenceInner.md b/docs/ReportFindingEvidenceInner.md
new file mode 100644
index 0000000..f30ed99
--- /dev/null
+++ b/docs/ReportFindingEvidenceInner.md
@@ -0,0 +1,86 @@
+
+
+# ReportFindingEvidenceInner
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**callChain** | **List<Long>** | Addresses along the call chain. | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+|**constants** | **List<ReportReferencedConstant>** | The constants and where they are referenced. | |
+|**calls** | **List<ReportImportedAPICall>** | The observed calls. | |
+|**strings** | **List<ReportStringMatch>** | The matched strings. | |
+|**similarities** | **List<ReportFunctionSimilarity>** | The similar functions. | |
+|**apis** | **List<ReportImportedAPI>** | The APIs in the combination. | |
+|**summaries** | **List<ReportCodeSummary>** | Summaries of the disassembled code. | |
+|**interpretations** | **List<ReportModelInterpretation>** | Interpretations of the code by an AI model. | |
+|**values** | **List<ReportBytesConstant>** | The well-known constants found in the binary. | |
+|**description** | **String** | What the rule detects. | |
+|**entropy** | **Double** | Shannon entropy of the secret, in bits per byte. | |
+|**references** | **List<Long>** | Address of the secret in the binary's data. | |
+|**ruleId** | **String** | Identifier of the secret-scanning rule that matched. | |
+|**secret** | **String** | The secret as it appears in the binary. | |
+|**secretKind** | [**SecretKindEnum**](#SecretKindEnum) | Category of the secret. | |
+|**size** | **Long** | Size of the secret in bytes. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: EvidenceKindEnum
+
+| Name | Value |
+|---- | -----|
+| HARDCODED_SECRET | "hardcoded_secret" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: KindEnum
+
+| Name | Value |
+|---- | -----|
+| DETERMINISTIC_DERIVATION | "deterministic_derivation" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: StrengthEnum
+
+| Name | Value |
+|---- | -----|
+| DIRECT | "direct" |
+| INDIRECT | "indirect" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
+## Enum: SecretKindEnum
+
+| Name | Value |
+|---- | -----|
+| CREDENTIALS | "credentials" |
+| API_CREDENTIALS | "api-credentials" |
+| OAUTH_CREDENTIALS | "oauth-credentials" |
+| ENCRYPTION_KEY | "encryption-key" |
+| JWT_TOKEN | "jwt-token" |
+| WEBHOOK_URL | "webhook-url" |
+| PRIVATE_KEY | "private-key" |
+| SIGNED_URL | "signed-url" |
+| GENERIC | "generic" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/ReportFunctionSimilarity.md b/docs/ReportFunctionSimilarity.md
new file mode 100644
index 0000000..2b476f0
--- /dev/null
+++ b/docs/ReportFunctionSimilarity.md
@@ -0,0 +1,15 @@
+
+
+# ReportFunctionSimilarity
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**name** | **String** | Name of the known function. | |
+|**similarity** | **Double** | Similarity score, from 0 to 1. | |
+|**subject** | **ReportSubject** | The matching function in the analysed binary. | |
+
+
+
diff --git a/docs/ReportImportedAPI.md b/docs/ReportImportedAPI.md
new file mode 100644
index 0000000..fcd8071
--- /dev/null
+++ b/docs/ReportImportedAPI.md
@@ -0,0 +1,14 @@
+
+
+# ReportImportedAPI
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**api** | **String** | Name of the API. | |
+|**module** | **String** | Module the API is imported from, or null when unknown. | |
+
+
+
diff --git a/docs/ReportImportedAPICall.md b/docs/ReportImportedAPICall.md
new file mode 100644
index 0000000..2005502
--- /dev/null
+++ b/docs/ReportImportedAPICall.md
@@ -0,0 +1,15 @@
+
+
+# ReportImportedAPICall
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**importedApi** | **ReportImportedAPI** | The API called. | |
+|**reachability** | **ReportCallChain** | A call chain reaching the call, absent when none was found. | [optional] |
+|**subject** | **ReportSubject** | Where the call is made. | |
+
+
+
diff --git a/docs/ReportMeta.md b/docs/ReportMeta.md
new file mode 100644
index 0000000..148ab47
--- /dev/null
+++ b/docs/ReportMeta.md
@@ -0,0 +1,24 @@
+
+
+# ReportMeta
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**endianness** | [**EndiannessEnum**](#EndiannessEnum) | Byte order of the analysed binary. | |
+
+
+
+## Enum: EndiannessEnum
+
+| Name | Value |
+|---- | -----|
+| UNSPECIFIED | "unspecified" |
+| LITTLE | "little" |
+| BIG | "big" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/ReportModelInterpretation.md b/docs/ReportModelInterpretation.md
new file mode 100644
index 0000000..84c79e3
--- /dev/null
+++ b/docs/ReportModelInterpretation.md
@@ -0,0 +1,13 @@
+
+
+# ReportModelInterpretation
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**interpretation** | **String** | The interpretation, or null when the model did not provide one. | |
+
+
+
diff --git a/docs/ReportReferencedConstant.md b/docs/ReportReferencedConstant.md
new file mode 100644
index 0000000..369e5d4
--- /dev/null
+++ b/docs/ReportReferencedConstant.md
@@ -0,0 +1,32 @@
+
+
+# ReportReferencedConstant
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**display** | [**DisplayEnum**](#DisplayEnum) | Suggested format for displaying the value at this reference, absent to use the constant's own. | [optional] |
+|**subject** | **ReportSubject** | Where the constant is referenced. | |
+|**value** | **ReportBytesConstant** | The constant. | |
+
+
+
+## Enum: DisplayEnum
+
+| Name | Value |
+|---- | -----|
+| HEX | "hex" |
+| UINT8 | "uint8" |
+| UINT16 | "uint16" |
+| UINT32 | "uint32" |
+| UINT64 | "uint64" |
+| INT8 | "int8" |
+| INT16 | "int16" |
+| INT32 | "int32" |
+| INT64 | "int64" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/ReportResult.md b/docs/ReportResult.md
index 384812a..4434404 100644
--- a/docs/ReportResult.md
+++ b/docs/ReportResult.md
@@ -7,8 +7,8 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**findings** | **Object** | | |
-|**meta** | **Object** | | |
+|**findings** | **List<ReportFinding>** | The findings the agent reported, each with its supporting evidence. | |
+|**meta** | **ReportMeta** | Report-level metadata. | |
diff --git a/docs/ReportStringMatch.md b/docs/ReportStringMatch.md
new file mode 100644
index 0000000..ec4173d
--- /dev/null
+++ b/docs/ReportStringMatch.md
@@ -0,0 +1,14 @@
+
+
+# ReportStringMatch
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**subject** | **ReportSubject** | Where the string is located, absent when unknown. | [optional] |
+|**value** | **String** | The matched string. | |
+
+
+
diff --git a/docs/ReportSubject.md b/docs/ReportSubject.md
new file mode 100644
index 0000000..a2d0e7e
--- /dev/null
+++ b/docs/ReportSubject.md
@@ -0,0 +1,16 @@
+
+
+# ReportSubject
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**callSite** | **Long** | Call-site address. | [optional] |
+|**data** | **Long** | Data address. | [optional] |
+|**function** | **Long** | Function entry address. | [optional] |
+|**instruction** | **Long** | Instruction address. | [optional] |
+
+
+
diff --git a/docs/RequeueAnalysisRequest.md b/docs/RequeueAnalysisRequest.md
new file mode 100644
index 0000000..aff40d8
--- /dev/null
+++ b/docs/RequeueAnalysisRequest.md
@@ -0,0 +1,18 @@
+
+
+# RequeueAnalysisRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**commandLineArgs** | **String** | Command-line arguments passed to the sample when enable_dynamic_execution is set | [optional] |
+|**enableDynamicExecution** | **Boolean** | Run the new Analysis with dynamic execution (sandbox) enabled | [optional] |
+|**generateCapabilities** | **Boolean** | Regenerate capabilities for the new Analysis instead of copying the original Binary's existing ones | [optional] |
+|**noCache** | **Boolean** | | [optional] |
+|**scrapeTags** | **Boolean** | Re-scrape third-party tags for the new Analysis instead of copying the original Binary's existing ones | [optional] |
+|**tags** | **List<String>** | Additional Tags to apply to the requeued Binary, on top of any carried over because generate_capabilities/scrape_tags are false | [optional] |
+
+
+
diff --git a/docs/ResolvedEntity.md b/docs/ResolvedEntity.md
index 2017719..fa7714a 100644
--- a/docs/ResolvedEntity.md
+++ b/docs/ResolvedEntity.md
@@ -28,9 +28,11 @@
|**suggestionConfidence** | **String** | | |
|**token** | **String** | Search is applied to string value | |
|**typeIndex** | **Long** | | |
+|**typeSource** | **String** | | |
|**vaddr** | **Long** | | |
|**value** | **String** | | |
|**valueConfidence** | **String** | | |
+|**valueKind** | **String** | | |
|**valueType** | **String** | | |
diff --git a/docs/Status.md b/docs/Status.md
index 448c3b0..1f44e29 100644
--- a/docs/Status.md
+++ b/docs/Status.md
@@ -26,6 +26,7 @@
| CLIENT_CLOSED_REQUEST | "CLIENT_CLOSED_REQUEST" |
| CONFLICT | "CONFLICT" |
| CONVERSATION_NOT_FOUND | "CONVERSATION_NOT_FOUND" |
+| DISPOSABLE_EMAIL_NOT_ALLOWED | "DISPOSABLE_EMAIL_NOT_ALLOWED" |
| DOMAIN_ALREADY_CLAIMED | "DOMAIN_ALREADY_CLAIMED" |
| DOMAIN_VERIFICATION_PENDING | "DOMAIN_VERIFICATION_PENDING" |
| DYNAMIC_EXECUTION_INCOMPLETE | "DYNAMIC_EXECUTION_INCOMPLETE" |
@@ -53,6 +54,7 @@
| NO_PENDING_CONFIRMATION | "NO_PENDING_CONFIRMATION" |
| NO_VIRUSTOTAL_KEY | "NO_VIRUSTOTAL_KEY" |
| OIDC_DISCOVERY_FAILED | "OIDC_DISCOVERY_FAILED" |
+| OPERATION_PREREQUISITE_NOT_MET | "OPERATION_PREREQUISITE_NOT_MET" |
| PASSWORD_RESET_REQUIRED | "PASSWORD_RESET_REQUIRED" |
| PAYMENT_REQUIRED | "PAYMENT_REQUIRED" |
| PRECONDITION_FAILED | "PRECONDITION_FAILED" |
diff --git a/docs/StringMatchEvidence.md b/docs/StringMatchEvidence.md
index b630bbc..d418502 100644
--- a/docs/StringMatchEvidence.md
+++ b/docs/StringMatchEvidence.md
@@ -2,17 +2,26 @@
# StringMatchEvidence
-String matches without demonstrated semantic use.
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | | [optional] |
-|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
-|**effect** | **EvidenceEffect** | | |
-|**strength** | [**StrengthEnum**](#StrengthEnum) | | [optional] |
-|**strings** | [**List<StringMatch>**](StringMatch.md) | | |
+|**effect** | [**EffectEnum**](#EffectEnum) | Whether the evidence supports or refutes the finding. | |
+|**evidenceKind** | [**EvidenceKindEnum**](#EvidenceKindEnum) | Kind of evidence. | |
+|**kind** | [**KindEnum**](#KindEnum) | How the evidence was derived. | |
+|**strength** | [**StrengthEnum**](#StrengthEnum) | How directly the evidence bears on the finding. | |
+|**strings** | **List<ReportStringMatch>** | The matched strings. | |
+
+
+
+## Enum: EffectEnum
+
+| Name | Value |
+|---- | -----|
+| SUPPORTS | "supports" |
+| REFUTES | "refutes" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
diff --git a/docs/UpdateAnalysisGlobalInputBody.md b/docs/UpdateAnalysisGlobalInputBody.md
new file mode 100644
index 0000000..06daadc
--- /dev/null
+++ b/docs/UpdateAnalysisGlobalInputBody.md
@@ -0,0 +1,14 @@
+
+
+# UpdateAnalysisGlobalInputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**dataTypeId** | **Long** | Analysis data type to assign. Omit to leave the type as it is. | [optional] |
+|**name** | **String** | New name for the global. Omit to leave the name as it is. | [optional] |
+
+
+
diff --git a/pom.xml b/pom.xml
index 8bac465..6cb0faf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
sdk
jar
sdk
- 4.72.2
+ 4.73.0
https://github.com/RevEngAI/sdk-java
Java SDK for the RevEng.AI API
diff --git a/src/main/java/ai/reveng/api/AgentApi.java b/src/main/java/ai/reveng/api/AgentApi.java
index 1fd7f49..c7ede99 100644
--- a/src/main/java/ai/reveng/api/AgentApi.java
+++ b/src/main/java/ai/reveng/api/AgentApi.java
@@ -37,6 +37,7 @@
import ai.reveng.model.BaseResponseTriageReportResponse;
import ai.reveng.model.ErrorModel;
import ai.reveng.model.FeedbackOutputBody;
+import ai.reveng.model.ListOperationPrerequisitesOutputBody;
import ai.reveng.model.OperationCryptoExplainMetadataCryptoExplainResult;
import ai.reveng.model.OperationCryptoScanMetadataCryptoScanResult;
import ai.reveng.model.OperationExecutionExplainMetadataExecutionExplainResult;
@@ -50,6 +51,7 @@
import ai.reveng.model.OperationMetadataTriageResult;
import ai.reveng.model.OperationNetworkingExplainMetadataNetworkingExplainResult;
import ai.reveng.model.OperationNetworkingScanMetadataNetworkingScanResult;
+import ai.reveng.model.OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult;
import ai.reveng.model.OperationSecurityScanMetadataSecurityScanResult;
import ai.reveng.model.QueuedWorkflowTaskResponse;
import ai.reveng.model.RenameUnnamedFunctionsResult;
@@ -3497,6 +3499,153 @@ public okhttp3.Call v3GetCryptoScanOperationAsync(@javax.annotation.Nonnull Long
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for v3GetCryptographyOperation
+ * @param analysisId Analysis ID (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetCryptographyOperationCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/operations/cryptography/{analysis_id}"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3GetCryptographyOperationValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetCryptographyOperation(Async)");
+ }
+
+ return v3GetCryptographyOperationCall(analysisId, _callback);
+
+ }
+
+ /**
+ * Get a cryptography operation.
+ * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+ * @param analysisId Analysis ID (required)
+ * @return OperationMetadataReportResult
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public OperationMetadataReportResult v3GetCryptographyOperation(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetCryptographyOperationWithHttpInfo(analysisId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get a cryptography operation.
+ * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+ * @param analysisId Analysis ID (required)
+ * @return ApiResponse<OperationMetadataReportResult>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetCryptographyOperationWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetCryptographyOperationValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get a cryptography operation. (asynchronously)
+ * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+ * @param analysisId Analysis ID (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetCryptographyOperationAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetCryptographyOperationValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for v3GetExecutionExplainOperation
* @param functionId Function ID (required)
@@ -4431,7 +4580,7 @@ private okhttp3.Call v3GetProtocolsOperationValidateBeforeCall(@javax.annotation
/**
* Get a protocols operation.
- * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+ * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
* @param analysisId Analysis ID (required)
* @return OperationMetadataReportResult
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -4454,7 +4603,7 @@ public OperationMetadataReportResult v3GetProtocolsOperation(@javax.annotation.N
/**
* Get a protocols operation.
- * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+ * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
* @param analysisId Analysis ID (required)
* @return ApiResponse<OperationMetadataReportResult>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -4478,7 +4627,7 @@ public ApiResponse v3GetProtocolsOperationWithHtt
/**
* Get a protocols operation. (asynchronously)
- * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+ * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
* @param analysisId Analysis ID (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -4649,6 +4798,149 @@ public okhttp3.Call v3GetRemediationOperationAsync(@javax.annotation.Nonnull Lon
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for v3GetRenameUnnamedFunctionsOperation
+ * @param analysisId Analysis ID (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetRenameUnnamedFunctionsOperationCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/operations/rename-unnamed-functions/{analysis_id}"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3GetRenameUnnamedFunctionsOperationValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetRenameUnnamedFunctionsOperation(Async)");
+ }
+
+ return v3GetRenameUnnamedFunctionsOperationCall(analysisId, _callback);
+
+ }
+
+ /**
+ * Get a rename-unnamed-functions operation.
+ * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @return OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult v3GetRenameUnnamedFunctionsOperation(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetRenameUnnamedFunctionsOperationWithHttpInfo(analysisId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get a rename-unnamed-functions operation.
+ * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @return ApiResponse<OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetRenameUnnamedFunctionsOperationWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetRenameUnnamedFunctionsOperationValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get a rename-unnamed-functions operation. (asynchronously)
+ * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetRenameUnnamedFunctionsOperationAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetRenameUnnamedFunctionsOperationValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for v3GetRenameUnnamedFunctionsResult
* @param analysisId Analysis ID (required)
@@ -5162,7 +5454,7 @@ private okhttp3.Call v3GetSecretsOperationValidateBeforeCall(@javax.annotation.N
/**
* Get a secrets operation.
- * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+ * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
* @param analysisId Analysis ID (required)
* @return OperationMetadataReportResult
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -5185,7 +5477,7 @@ public OperationMetadataReportResult v3GetSecretsOperation(@javax.annotation.Non
/**
* Get a secrets operation.
- * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+ * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
* @param analysisId Analysis ID (required)
* @return ApiResponse<OperationMetadataReportResult>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -5209,7 +5501,7 @@ public ApiResponse v3GetSecretsOperationWithHttpI
/**
* Get a secrets operation. (asynchronously)
- * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
+ * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready
* @param analysisId Analysis ID (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -5523,6 +5815,127 @@ public okhttp3.Call v3GetTriageOperationAsync(@javax.annotation.Nonnull Long ana
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for v3ListOperationPrerequisites
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 0 | Error | - |
+
+ */
+ public okhttp3.Call v3ListOperationPrerequisitesCall(final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "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/v3/operation-prerequisites";
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3ListOperationPrerequisitesValidateBeforeCall(final ApiCallback _callback) throws ApiException {
+ return v3ListOperationPrerequisitesCall(_callback);
+
+ }
+
+ /**
+ * List operation prerequisites.
+ * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`.
+ * @return ListOperationPrerequisitesOutputBody
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 0 | Error | - |
+
+ */
+ public ListOperationPrerequisitesOutputBody v3ListOperationPrerequisites() throws ApiException {
+ ApiResponse localVarResp = v3ListOperationPrerequisitesWithHttpInfo();
+ return localVarResp.getData();
+ }
+
+ /**
+ * List operation prerequisites.
+ * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`.
+ * @return ApiResponse<ListOperationPrerequisitesOutputBody>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 0 | Error | - |
+
+ */
+ public ApiResponse v3ListOperationPrerequisitesWithHttpInfo() throws ApiException {
+ okhttp3.Call localVarCall = v3ListOperationPrerequisitesValidateBeforeCall(null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * List operation prerequisites. (asynchronously)
+ * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`.
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 0 | Error | - |
+
+ */
+ public okhttp3.Call v3ListOperationPrerequisitesAsync(final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3ListOperationPrerequisitesValidateBeforeCall(_callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for v3RunCapabilities
* @param analysisId Analysis ID (required)
@@ -5600,7 +6013,7 @@ private okhttp3.Call v3RunCapabilitiesValidateBeforeCall(@javax.annotation.Nonnu
/**
* Run the capabilities agent.
- * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return OperationMetadataCapabilitiesResult
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -5624,7 +6037,7 @@ public OperationMetadataCapabilitiesResult v3RunCapabilities(@javax.annotation.N
/**
* Run the capabilities agent.
- * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return ApiResponse<OperationMetadataCapabilitiesResult>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -5649,7 +6062,7 @@ public ApiResponse v3RunCapabilitiesWithHtt
/**
* Run the capabilities agent. (asynchronously)
- * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -5908,7 +6321,7 @@ private okhttp3.Call v3RunCryptoScanValidateBeforeCall(@javax.annotation.Nonnull
/**
* Run the crypto-scan agent.
- * Starts an agent that name-matches the analysis' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerCryptoScanInputBody (required)
* @return OperationCryptoScanMetadataCryptoScanResult
@@ -5932,7 +6345,7 @@ public OperationCryptoScanMetadataCryptoScanResult v3RunCryptoScan(@javax.annota
/**
* Run the crypto-scan agent.
- * Starts an agent that name-matches the analysis' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerCryptoScanInputBody (required)
* @return ApiResponse<OperationCryptoScanMetadataCryptoScanResult>
@@ -5957,7 +6370,7 @@ public ApiResponse v3RunCryptoScanW
/**
* Run the crypto-scan agent. (asynchronously)
- * Starts an agent that name-matches the analysis' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerCryptoScanInputBody (required)
* @param _callback The callback to be executed when the API call finishes
@@ -5982,6 +6395,157 @@ public okhttp3.Call v3RunCryptoScanAsync(@javax.annotation.Nonnull Long analysis
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for v3RunCryptography
+ * @param analysisId Analysis ID (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 402 | Payment Required | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3RunCryptographyCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/analyses/{analysis_id}/cryptography:run"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3RunCryptographyValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3RunCryptography(Async)");
+ }
+
+ return v3RunCryptographyCall(analysisId, _callback);
+
+ }
+
+ /**
+ * Run the cryptography agent.
+ * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
+ * @param analysisId Analysis ID (required)
+ * @return OperationMetadataReportResult
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 402 | Payment Required | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public OperationMetadataReportResult v3RunCryptography(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3RunCryptographyWithHttpInfo(analysisId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Run the cryptography agent.
+ * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
+ * @param analysisId Analysis ID (required)
+ * @return ApiResponse<OperationMetadataReportResult>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 402 | Payment Required | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3RunCryptographyWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3RunCryptographyValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Run the cryptography agent. (asynchronously)
+ * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
+ * @param analysisId Analysis ID (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 402 | Payment Required | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3RunCryptographyAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3RunCryptographyValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for v3RunExecutionExplain
* @param functionId Function ID (required)
@@ -6226,7 +6790,7 @@ private okhttp3.Call v3RunExecutionScanValidateBeforeCall(@javax.annotation.Nonn
/**
* Run the execution-scan agent.
- * Starts an agent that name-matches the analysis' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerExecutionScanInputBody (required)
* @return OperationExecutionScanMetadataExecutionScanResult
@@ -6250,7 +6814,7 @@ public OperationExecutionScanMetadataExecutionScanResult v3RunExecutionScan(@jav
/**
* Run the execution-scan agent.
- * Starts an agent that name-matches the analysis' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerExecutionScanInputBody (required)
* @return ApiResponse<OperationExecutionScanMetadataExecutionScanResult>
@@ -6275,7 +6839,7 @@ public ApiResponse v3RunExecu
/**
* Run the execution-scan agent. (asynchronously)
- * Starts an agent that name-matches the analysis' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerExecutionScanInputBody (required)
* @param _callback The callback to be executed when the API call finishes
@@ -6544,7 +7108,7 @@ private okhttp3.Call v3RunFilesystemScanValidateBeforeCall(@javax.annotation.Non
/**
* Run the filesystem-scan agent.
- * Starts an agent that name-matches the analysis' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerFilesystemScanInputBody (required)
* @return OperationFilesystemScanMetadataFilesystemScanResult
@@ -6568,7 +7132,7 @@ public OperationFilesystemScanMetadataFilesystemScanResult v3RunFilesystemScan(@
/**
* Run the filesystem-scan agent.
- * Starts an agent that name-matches the analysis' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerFilesystemScanInputBody (required)
* @return ApiResponse<OperationFilesystemScanMetadataFilesystemScanResult>
@@ -6593,7 +7157,7 @@ public ApiResponse v3RunFil
/**
* Run the filesystem-scan agent. (asynchronously)
- * Starts an agent that name-matches the analysis' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerFilesystemScanInputBody (required)
* @param _callback The callback to be executed when the API call finishes
@@ -6862,7 +7426,7 @@ private okhttp3.Call v3RunNetworkingScanValidateBeforeCall(@javax.annotation.Non
/**
* Run the networking-scan agent.
- * Starts an agent that name-matches the analysis' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerNetworkingScanInputBody (required)
* @return OperationNetworkingScanMetadataNetworkingScanResult
@@ -6886,7 +7450,7 @@ public OperationNetworkingScanMetadataNetworkingScanResult v3RunNetworkingScan(@
/**
* Run the networking-scan agent.
- * Starts an agent that name-matches the analysis' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerNetworkingScanInputBody (required)
* @return ApiResponse<OperationNetworkingScanMetadataNetworkingScanResult>
@@ -6911,7 +7475,7 @@ public ApiResponse v3RunNet
/**
* Run the networking-scan agent. (asynchronously)
- * Starts an agent that name-matches the analysis' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict
+ * Starts an agent that name-matches the analysis' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param triggerNetworkingScanInputBody (required)
* @param _callback The callback to be executed when the API call finishes
@@ -7013,7 +7577,7 @@ private okhttp3.Call v3RunProtocolsValidateBeforeCall(@javax.annotation.Nonnull
/**
* Run the protocols agent.
- * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return OperationMetadataReportResult
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7037,7 +7601,7 @@ public OperationMetadataReportResult v3RunProtocols(@javax.annotation.Nonnull Lo
/**
* Run the protocols agent.
- * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return ApiResponse<OperationMetadataReportResult>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7062,7 +7626,7 @@ public ApiResponse v3RunProtocolsWithHttpInfo(@ja
/**
* Run the protocols agent. (asynchronously)
- * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -7164,7 +7728,7 @@ private okhttp3.Call v3RunRemediationValidateBeforeCall(@javax.annotation.Nonnul
/**
* Run the remediation agent.
- * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return OperationMetadataRemediationResult
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7188,7 +7752,7 @@ public OperationMetadataRemediationResult v3RunRemediation(@javax.annotation.Non
/**
* Run the remediation agent.
- * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return ApiResponse<OperationMetadataRemediationResult>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7213,7 +7777,7 @@ public ApiResponse v3RunRemediationWithHttpI
/**
* Run the remediation agent. (asynchronously)
- * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -7315,7 +7879,7 @@ private okhttp3.Call v3RunReportAnalysisValidateBeforeCall(@javax.annotation.Non
/**
* Run the report-analysis agent.
- * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return OperationMetadataThreatReportResult
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7339,7 +7903,7 @@ public OperationMetadataThreatReportResult v3RunReportAnalysis(@javax.annotation
/**
* Run the report-analysis agent.
- * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return ApiResponse<OperationMetadataThreatReportResult>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7364,7 +7928,7 @@ public ApiResponse v3RunReportAnalysisWithH
/**
* Run the report-analysis agent. (asynchronously)
- * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -7466,7 +8030,7 @@ private okhttp3.Call v3RunSecretsValidateBeforeCall(@javax.annotation.Nonnull Lo
/**
* Run the secrets agent.
- * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return OperationMetadataReportResult
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7490,7 +8054,7 @@ public OperationMetadataReportResult v3RunSecrets(@javax.annotation.Nonnull Long
/**
* Run the secrets agent.
- * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return ApiResponse<OperationMetadataReportResult>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7515,7 +8079,7 @@ public ApiResponse v3RunSecretsWithHttpInfo(@java
/**
* Run the secrets agent. (asynchronously)
- * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -7778,7 +8342,7 @@ private okhttp3.Call v3RunTriageValidateBeforeCall(@javax.annotation.Nonnull Lon
/**
* Run the triage agent.
- * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return OperationMetadataTriageResult
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7802,7 +8366,7 @@ public OperationMetadataTriageResult v3RunTriage(@javax.annotation.Nonnull Long
/**
* Run the triage agent.
- * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @return ApiResponse<OperationMetadataTriageResult>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -7827,7 +8391,7 @@ public ApiResponse v3RunTriageWithHttpInfo(@javax
/**
* Run the triage agent. (asynchronously)
- * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits
+ * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met
* @param analysisId Analysis ID (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
diff --git a/src/main/java/ai/reveng/api/AnalysesCoreApi.java b/src/main/java/ai/reveng/api/AnalysesCoreApi.java
index f9069e1..e57a0bf 100644
--- a/src/main/java/ai/reveng/api/AnalysesCoreApi.java
+++ b/src/main/java/ai/reveng/api/AnalysesCoreApi.java
@@ -31,6 +31,7 @@
import ai.reveng.model.AnalysisBasicInfoOutputBody;
import ai.reveng.model.AnalysisCreateRequest;
import ai.reveng.model.AnalysisDetailOutputBody;
+import ai.reveng.model.AnalysisOperationsOutputBody;
import ai.reveng.model.AnalysisReport;
import ai.reveng.model.AnalysisTagsOutputBody;
import ai.reveng.model.AnalysisUpdateRequest;
@@ -52,27 +53,38 @@
import ai.reveng.model.BaseResponseUploadResponse;
import ai.reveng.model.DynamicExecutionStatus;
import ai.reveng.model.DynamicExecutionStatusResponse;
+import ai.reveng.model.DynamicExecutionSummary;
import java.io.File;
import ai.reveng.model.FunctionsProgressOutputBody;
import ai.reveng.model.GetAnalysisLogsOutputBody;
import ai.reveng.model.GetAnalysisStringsStatusOutputBody;
+import ai.reveng.model.GetGlobalHistoryOutputBody;
import ai.reveng.model.GetMatchesOutputBody;
import ai.reveng.model.GetMatchesStatusOutputBody;
+import ai.reveng.model.GlobalVariable;
import ai.reveng.model.InsertAnalysisLogRequest;
import ai.reveng.model.ListAnalysesOutputBody;
+import ai.reveng.model.ListAnalysisGlobalsOutputBody;
import ai.reveng.model.ListAnalysisStringsOutputBody;
import ai.reveng.model.ListExampleAnalysesOutputBody;
+import ai.reveng.model.ListGlobalFunctionsOutputBody;
import ai.reveng.model.LookupAnalysisByBinaryIDOutputBody;
import ai.reveng.model.ModelName;
import ai.reveng.model.OperationBinaryExportMetadataBinaryExportResult;
import ai.reveng.model.OperationCreateMetadataCreateResult;
+import ai.reveng.model.OperationDynamicExecutionMetadataDynamicExecutionResult;
+import ai.reveng.model.OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult;
import ai.reveng.model.Order;
import ai.reveng.model.PutAnalysisStringsRequest;
import ai.reveng.model.ReAnalysisForm;
+import ai.reveng.model.RequeueAnalysisRequest;
+import ai.reveng.model.RunDynamicExecutionInputBody;
+import ai.reveng.model.ScreenshotsIndex;
import ai.reveng.model.SearchTagsOutputBody;
import ai.reveng.model.StartMatchingForAnalysisInputBody;
import ai.reveng.model.StartMatchingOutputBody;
import ai.reveng.model.StatusInput;
+import ai.reveng.model.UpdateAnalysisGlobalInputBody;
import ai.reveng.model.UpdateAnalysisInputBody;
import ai.reveng.model.UpdateTagsInputBody;
import ai.reveng.model.UpgradeAnalysisModelOutputBody;
@@ -3772,7 +3784,7 @@ public okhttp3.Call v3DeleteAnalysisAsync(@javax.annotation.Nonnull Long analysi
/**
* Build call for v3DownloadBinaryExport
* @param analysisId Analysis ID (required)
- * @param taskId Task ID returned by queueing the export (optional)
+ * @param taskId Task ID returned by queueing the export (required)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -3787,7 +3799,7 @@ public okhttp3.Call v3DeleteAnalysisAsync(@javax.annotation.Nonnull Long analysi
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3DownloadBinaryExportCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable String taskId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3DownloadBinaryExportCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String taskId, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -3837,12 +3849,17 @@ public okhttp3.Call v3DownloadBinaryExportCall(@javax.annotation.Nonnull Long an
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call v3DownloadBinaryExportValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable String taskId, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call v3DownloadBinaryExportValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String taskId, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'analysisId' is set
if (analysisId == null) {
throw new ApiException("Missing the required parameter 'analysisId' when calling v3DownloadBinaryExport(Async)");
}
+ // verify the required parameter 'taskId' is set
+ if (taskId == null) {
+ throw new ApiException("Missing the required parameter 'taskId' when calling v3DownloadBinaryExport(Async)");
+ }
+
return v3DownloadBinaryExportCall(analysisId, taskId, _callback);
}
@@ -3851,7 +3868,7 @@ private okhttp3.Call v3DownloadBinaryExportValidateBeforeCall(@javax.annotation.
* Download a binary export
* Streams the exported binary. Returns 404 if the task is not complete or its result has expired -- export again in either case. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @param taskId Task ID returned by queueing the export (optional)
+ * @param taskId Task ID returned by queueing the export (required)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -3864,7 +3881,7 @@ private okhttp3.Call v3DownloadBinaryExportValidateBeforeCall(@javax.annotation.
| 500 | Internal Server Error | - |
*/
- public void v3DownloadBinaryExport(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable String taskId) throws ApiException {
+ public void v3DownloadBinaryExport(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String taskId) throws ApiException {
v3DownloadBinaryExportWithHttpInfo(analysisId, taskId);
}
@@ -3872,7 +3889,7 @@ public void v3DownloadBinaryExport(@javax.annotation.Nonnull Long analysisId, @j
* Download a binary export
* Streams the exported binary. Returns 404 if the task is not complete or its result has expired -- export again in either case. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @param taskId Task ID returned by queueing the export (optional)
+ * @param taskId Task ID returned by queueing the export (required)
* @return ApiResponse<Void>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -3886,7 +3903,7 @@ public void v3DownloadBinaryExport(@javax.annotation.Nonnull Long analysisId, @j
| 500 | Internal Server Error | - |
*/
- public ApiResponse v3DownloadBinaryExportWithHttpInfo(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable String taskId) throws ApiException {
+ public ApiResponse v3DownloadBinaryExportWithHttpInfo(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String taskId) throws ApiException {
okhttp3.Call localVarCall = v3DownloadBinaryExportValidateBeforeCall(analysisId, taskId, null);
return localVarApiClient.execute(localVarCall);
}
@@ -3895,7 +3912,7 @@ public ApiResponse v3DownloadBinaryExportWithHttpInfo(@javax.annotation.No
* Download a binary export (asynchronously)
* Streams the exported binary. Returns 404 if the task is not complete or its result has expired -- export again in either case. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @param taskId Task ID returned by queueing the export (optional)
+ * @param taskId Task ID returned by queueing the export (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -3910,7 +3927,7 @@ public ApiResponse v3DownloadBinaryExportWithHttpInfo(@javax.annotation.No
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3DownloadBinaryExportAsync(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable String taskId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3DownloadBinaryExportAsync(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String taskId, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = v3DownloadBinaryExportValidateBeforeCall(analysisId, taskId, _callback);
localVarApiClient.executeAsync(localVarCall, _callback);
@@ -4345,6 +4362,312 @@ public okhttp3.Call v3GetAnalysisFunctionsProgressAsync(@javax.annotation.Nonnul
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for v3GetAnalysisGlobal
+ * @param analysisId Analysis ID (required)
+ * @param vaddr Virtual address of the global variable. (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetAnalysisGlobalCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/analyses/{analysis_id}/globals/{vaddr}"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()))
+ .replace("{" + "vaddr" + "}", localVarApiClient.escapeString(vaddr.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3GetAnalysisGlobalValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetAnalysisGlobal(Async)");
+ }
+
+ // verify the required parameter 'vaddr' is set
+ if (vaddr == null) {
+ throw new ApiException("Missing the required parameter 'vaddr' when calling v3GetAnalysisGlobal(Async)");
+ }
+
+ return v3GetAnalysisGlobalCall(analysisId, vaddr, _callback);
+
+ }
+
+ /**
+ * Get one global variable.
+ * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param vaddr Virtual address of the global variable. (required)
+ * @return GlobalVariable
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public GlobalVariable v3GetAnalysisGlobal(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr) throws ApiException {
+ ApiResponse localVarResp = v3GetAnalysisGlobalWithHttpInfo(analysisId, vaddr);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get one global variable.
+ * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param vaddr Virtual address of the global variable. (required)
+ * @return ApiResponse<GlobalVariable>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetAnalysisGlobalWithHttpInfo(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr) throws ApiException {
+ okhttp3.Call localVarCall = v3GetAnalysisGlobalValidateBeforeCall(analysisId, vaddr, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get one global variable. (asynchronously)
+ * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param vaddr Virtual address of the global variable. (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetAnalysisGlobalAsync(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetAnalysisGlobalValidateBeforeCall(analysisId, vaddr, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetAnalysisGlobalHistory
+ * @param analysisId Analysis ID (required)
+ * @param vaddr Virtual address of the global variable. (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetAnalysisGlobalHistoryCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/analyses/{analysis_id}/globals/{vaddr}/history"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()))
+ .replace("{" + "vaddr" + "}", localVarApiClient.escapeString(vaddr.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3GetAnalysisGlobalHistoryValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetAnalysisGlobalHistory(Async)");
+ }
+
+ // verify the required parameter 'vaddr' is set
+ if (vaddr == null) {
+ throw new ApiException("Missing the required parameter 'vaddr' when calling v3GetAnalysisGlobalHistory(Async)");
+ }
+
+ return v3GetAnalysisGlobalHistoryCall(analysisId, vaddr, _callback);
+
+ }
+
+ /**
+ * List a global variable's replaced values.
+ * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param vaddr Virtual address of the global variable. (required)
+ * @return GetGlobalHistoryOutputBody
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public GetGlobalHistoryOutputBody v3GetAnalysisGlobalHistory(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr) throws ApiException {
+ ApiResponse localVarResp = v3GetAnalysisGlobalHistoryWithHttpInfo(analysisId, vaddr);
+ return localVarResp.getData();
+ }
+
+ /**
+ * List a global variable's replaced values.
+ * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param vaddr Virtual address of the global variable. (required)
+ * @return ApiResponse<GetGlobalHistoryOutputBody>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetAnalysisGlobalHistoryWithHttpInfo(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr) throws ApiException {
+ okhttp3.Call localVarCall = v3GetAnalysisGlobalHistoryValidateBeforeCall(analysisId, vaddr, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * List a global variable's replaced values. (asynchronously)
+ * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param vaddr Virtual address of the global variable. (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetAnalysisGlobalHistoryAsync(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long vaddr, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetAnalysisGlobalHistoryValidateBeforeCall(analysisId, vaddr, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for v3GetAnalysisLogs
* @param analysisId Analysis ID (required)
@@ -5117,20 +5440,10 @@ public okhttp3.Call v3GetBinaryExportOperationAsync(@javax.annotation.Nonnull St
return localVarCall;
}
/**
- * Build call for v3ListAnalyses
- * @param searchTerm (optional)
- * @param analysisScope Leave empty to search your own, your team's and all public analyses (optional)
- * @param status (optional)
- * @param modelName (optional)
- * @param usernames (optional)
- * @param sha256Hash (optional)
- * @param binaryId Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort (optional)
- * @param platform Restrict to binaries running on one of these operating-system platforms. Matches the uploader's override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter (optional)
- * @param architecture Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter (optional)
- * @param pageSize (optional, default to 20)
- * @param nextPageToken Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). (optional)
- * @param orderBy (optional, default to created)
- * @param order (optional, default to DESC)
+ * Build call for v3GetDynamicExecutionArtifact
+ * @param analysisId Analysis ID (required)
+ * @param sha256 SHA-256 hex digest of the artifact (required)
+ * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -5139,12 +5452,14 @@ public okhttp3.Call v3GetBinaryExportOperationAsync(@javax.annotation.Nonnull St
Response Details
| Status Code | Description | Response Headers |
| 200 | OK | - |
- | 400 | Bad Request | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3ListAnalysesCall(@javax.annotation.Nullable String searchTerm, @javax.annotation.Nullable List analysisScope, @javax.annotation.Nullable List status, @javax.annotation.Nullable List modelName, @javax.annotation.Nullable List usernames, @javax.annotation.Nullable String sha256Hash, @javax.annotation.Nullable Long binaryId, @javax.annotation.Nullable List platform, @javax.annotation.Nullable List architecture, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String nextPageToken, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String order, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetDynamicExecutionArtifactCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -5161,7 +5476,9 @@ public okhttp3.Call v3ListAnalysesCall(@javax.annotation.Nullable String searchT
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "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/v3/analyses";
+ String localVarPath = "/v3/analyses/{analysis_id}/dynamic-execution/artifacts/{sha256}"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()))
+ .replace("{" + "sha256" + "}", localVarApiClient.escapeString(sha256.toString()));
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
@@ -5169,58 +5486,164 @@ public okhttp3.Call v3ListAnalysesCall(@javax.annotation.Nullable String searchT
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
- if (searchTerm != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("search_term", searchTerm));
+ if (filename != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("filename", filename));
}
- if (analysisScope != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "analysis_scope", analysisScope));
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
}
- if (status != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "status", status));
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
}
- if (modelName != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "model_name", modelName));
- }
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
- if (usernames != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "usernames", usernames));
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3GetDynamicExecutionArtifactValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetDynamicExecutionArtifact(Async)");
}
- if (sha256Hash != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("sha256_hash", sha256Hash));
+ // verify the required parameter 'sha256' is set
+ if (sha256 == null) {
+ throw new ApiException("Missing the required parameter 'sha256' when calling v3GetDynamicExecutionArtifact(Async)");
}
- if (binaryId != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("binary_id", binaryId));
- }
+ return v3GetDynamicExecutionArtifactCall(analysisId, sha256, filename, _callback);
- if (platform != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "platform", platform));
- }
+ }
- if (architecture != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "architecture", architecture));
- }
+ /**
+ * Download an artifact.
+ * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @param sha256 SHA-256 hex digest of the artifact (required)
+ * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional)
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public void v3GetDynamicExecutionArtifact(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename) throws ApiException {
+ v3GetDynamicExecutionArtifactWithHttpInfo(analysisId, sha256, filename);
+ }
- if (pageSize != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("page_size", pageSize));
- }
+ /**
+ * Download an artifact.
+ * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @param sha256 SHA-256 hex digest of the artifact (required)
+ * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional)
+ * @return ApiResponse<Void>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetDynamicExecutionArtifactWithHttpInfo(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename) throws ApiException {
+ okhttp3.Call localVarCall = v3GetDynamicExecutionArtifactValidateBeforeCall(analysisId, sha256, filename, null);
+ return localVarApiClient.execute(localVarCall);
+ }
- if (nextPageToken != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("next_page_token", nextPageToken));
- }
+ /**
+ * Download an artifact. (asynchronously)
+ * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @param sha256 SHA-256 hex digest of the artifact (required)
+ * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionArtifactAsync(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename, final ApiCallback _callback) throws ApiException {
- if (orderBy != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("order_by", orderBy));
- }
+ okhttp3.Call localVarCall = v3GetDynamicExecutionArtifactValidateBeforeCall(analysisId, sha256, filename, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetDynamicExecutionLogsDownload
+ * @param analysisId Analysis ID (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionLogsDownloadCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
- if (order != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("order", order));
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
}
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/analyses/{analysis_id}/dynamic-execution/logs/download"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
final String[] localVarAccepts = {
"application/json"
};
@@ -5241,94 +5664,64 @@ public okhttp3.Call v3ListAnalysesCall(@javax.annotation.Nullable String searchT
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call v3ListAnalysesValidateBeforeCall(@javax.annotation.Nullable String searchTerm, @javax.annotation.Nullable List analysisScope, @javax.annotation.Nullable List status, @javax.annotation.Nullable List modelName, @javax.annotation.Nullable List usernames, @javax.annotation.Nullable String sha256Hash, @javax.annotation.Nullable Long binaryId, @javax.annotation.Nullable List platform, @javax.annotation.Nullable List architecture, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String nextPageToken, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String order, final ApiCallback _callback) throws ApiException {
- return v3ListAnalysesCall(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order, _callback);
+ private okhttp3.Call v3GetDynamicExecutionLogsDownloadValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetDynamicExecutionLogsDownload(Async)");
+ }
+
+ return v3GetDynamicExecutionLogsDownloadCall(analysisId, _callback);
}
/**
- * List analyses
- * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request
- * @param searchTerm (optional)
- * @param analysisScope Leave empty to search your own, your team's and all public analyses (optional)
- * @param status (optional)
- * @param modelName (optional)
- * @param usernames (optional)
- * @param sha256Hash (optional)
- * @param binaryId Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort (optional)
- * @param platform Restrict to binaries running on one of these operating-system platforms. Matches the uploader's override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter (optional)
- * @param architecture Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter (optional)
- * @param pageSize (optional, default to 20)
- * @param nextPageToken Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). (optional)
- * @param orderBy (optional, default to created)
- * @param order (optional, default to DESC)
- * @return ListAnalysesOutputBody
+ * Download the execution logs archive.
+ * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
Response Details
| Status Code | Description | Response Headers |
| 200 | OK | - |
- | 400 | Bad Request | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public ListAnalysesOutputBody v3ListAnalyses(@javax.annotation.Nullable String searchTerm, @javax.annotation.Nullable List analysisScope, @javax.annotation.Nullable List status, @javax.annotation.Nullable List modelName, @javax.annotation.Nullable List usernames, @javax.annotation.Nullable String sha256Hash, @javax.annotation.Nullable Long binaryId, @javax.annotation.Nullable List platform, @javax.annotation.Nullable List architecture, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String nextPageToken, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String order) throws ApiException {
- ApiResponse localVarResp = v3ListAnalysesWithHttpInfo(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order);
- return localVarResp.getData();
+ public void v3GetDynamicExecutionLogsDownload(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ v3GetDynamicExecutionLogsDownloadWithHttpInfo(analysisId);
}
/**
- * List analyses
- * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request
- * @param searchTerm (optional)
- * @param analysisScope Leave empty to search your own, your team's and all public analyses (optional)
- * @param status (optional)
- * @param modelName (optional)
- * @param usernames (optional)
- * @param sha256Hash (optional)
- * @param binaryId Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort (optional)
- * @param platform Restrict to binaries running on one of these operating-system platforms. Matches the uploader's override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter (optional)
- * @param architecture Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter (optional)
- * @param pageSize (optional, default to 20)
- * @param nextPageToken Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). (optional)
- * @param orderBy (optional, default to created)
- * @param order (optional, default to DESC)
- * @return ApiResponse<ListAnalysesOutputBody>
+ * Download the execution logs archive.
+ * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @return ApiResponse<Void>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
Response Details
| Status Code | Description | Response Headers |
| 200 | OK | - |
- | 400 | Bad Request | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public ApiResponse v3ListAnalysesWithHttpInfo(@javax.annotation.Nullable String searchTerm, @javax.annotation.Nullable List analysisScope, @javax.annotation.Nullable List status, @javax.annotation.Nullable List modelName, @javax.annotation.Nullable List usernames, @javax.annotation.Nullable String sha256Hash, @javax.annotation.Nullable Long binaryId, @javax.annotation.Nullable List platform, @javax.annotation.Nullable List architecture, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String nextPageToken, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String order) throws ApiException {
- okhttp3.Call localVarCall = v3ListAnalysesValidateBeforeCall(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order, null);
- Type localVarReturnType = new TypeToken(){}.getType();
- return localVarApiClient.execute(localVarCall, localVarReturnType);
+ public ApiResponse v3GetDynamicExecutionLogsDownloadWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetDynamicExecutionLogsDownloadValidateBeforeCall(analysisId, null);
+ return localVarApiClient.execute(localVarCall);
}
/**
- * List analyses (asynchronously)
- * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request
- * @param searchTerm (optional)
- * @param analysisScope Leave empty to search your own, your team's and all public analyses (optional)
- * @param status (optional)
- * @param modelName (optional)
- * @param usernames (optional)
- * @param sha256Hash (optional)
- * @param binaryId Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort (optional)
- * @param platform Restrict to binaries running on one of these operating-system platforms. Matches the uploader's override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter (optional)
- * @param architecture Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter (optional)
- * @param pageSize (optional, default to 20)
- * @param nextPageToken Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). (optional)
- * @param orderBy (optional, default to created)
- * @param order (optional, default to DESC)
+ * Download the execution logs archive. (asynchronously)
+ * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -5337,20 +5730,24 @@ public ApiResponse v3ListAnalysesWithHttpInfo(@javax.ann
Response Details
| Status Code | Description | Response Headers |
| 200 | OK | - |
- | 400 | Bad Request | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3ListAnalysesAsync(@javax.annotation.Nullable String searchTerm, @javax.annotation.Nullable List analysisScope, @javax.annotation.Nullable List status, @javax.annotation.Nullable List modelName, @javax.annotation.Nullable List usernames, @javax.annotation.Nullable String sha256Hash, @javax.annotation.Nullable Long binaryId, @javax.annotation.Nullable List platform, @javax.annotation.Nullable List architecture, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String nextPageToken, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String order, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetDynamicExecutionLogsDownloadAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = v3ListAnalysesValidateBeforeCall(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
- localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ okhttp3.Call localVarCall = v3GetDynamicExecutionLogsDownloadValidateBeforeCall(analysisId, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
return localVarCall;
}
/**
- * Build call for v3ListExampleAnalyses
+ * Build call for v3GetDynamicExecutionMemdump
+ * @param analysisId Analysis ID (required)
+ * @param sha256 SHA-256 hex digest of the artifact (required)
+ * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -5359,10 +5756,14 @@ public okhttp3.Call v3ListAnalysesAsync(@javax.annotation.Nullable String search
Response Details
| Status Code | Description | Response Headers |
| 200 | OK | - |
- | 0 | Error | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3ListExampleAnalysesCall(final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetDynamicExecutionMemdumpCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -5379,7 +5780,9 @@ public okhttp3.Call v3ListExampleAnalysesCall(final ApiCallback _callback) throw
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v3/analyses/examples";
+ String localVarPath = "/v3/analyses/{analysis_id}/dynamic-execution/memdumps/{sha256}"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()))
+ .replace("{" + "sha256" + "}", localVarApiClient.escapeString(sha256.toString()));
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
@@ -5387,6 +5790,10 @@ public okhttp3.Call v3ListExampleAnalysesCall(final ApiCallback _callback) throw
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
+ if (filename != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("filename", filename));
+ }
+
final String[] localVarAccepts = {
"application/json"
};
@@ -5407,51 +5814,2561 @@ public okhttp3.Call v3ListExampleAnalysesCall(final ApiCallback _callback) throw
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call v3ListExampleAnalysesValidateBeforeCall(final ApiCallback _callback) throws ApiException {
- return v3ListExampleAnalysesCall(_callback);
+ private okhttp3.Call v3GetDynamicExecutionMemdumpValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetDynamicExecutionMemdump(Async)");
+ }
+
+ // verify the required parameter 'sha256' is set
+ if (sha256 == null) {
+ throw new ApiException("Missing the required parameter 'sha256' when calling v3GetDynamicExecutionMemdump(Async)");
+ }
+
+ return v3GetDynamicExecutionMemdumpCall(analysisId, sha256, filename, _callback);
}
/**
- * List example analyses
- * Returns the curated example Analyses.
- * @return ListExampleAnalysesOutputBody
+ * Download a memory dump.
+ * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @param sha256 SHA-256 hex digest of the artifact (required)
+ * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
Response Details
| Status Code | Description | Response Headers |
| 200 | OK | - |
- | 0 | Error | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public void v3GetDynamicExecutionMemdump(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename) throws ApiException {
+ v3GetDynamicExecutionMemdumpWithHttpInfo(analysisId, sha256, filename);
+ }
+
+ /**
+ * Download a memory dump.
+ * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @param sha256 SHA-256 hex digest of the artifact (required)
+ * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional)
+ * @return ApiResponse<Void>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetDynamicExecutionMemdumpWithHttpInfo(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename) throws ApiException {
+ okhttp3.Call localVarCall = v3GetDynamicExecutionMemdumpValidateBeforeCall(analysisId, sha256, filename, null);
+ return localVarApiClient.execute(localVarCall);
+ }
+
+ /**
+ * Download a memory dump. (asynchronously)
+ * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @param sha256 SHA-256 hex digest of the artifact (required)
+ * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionMemdumpAsync(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull String sha256, @javax.annotation.Nullable String filename, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetDynamicExecutionMemdumpValidateBeforeCall(analysisId, sha256, filename, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetDynamicExecutionOperation
+ * @param analysisId Analysis ID (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionOperationCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/operations/dynamic-execution/{analysis_id}"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3GetDynamicExecutionOperationValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetDynamicExecutionOperation(Async)");
+ }
+
+ return v3GetDynamicExecutionOperationCall(analysisId, _callback);
+
+ }
+
+ /**
+ * Get a dynamic execution operation.
+ * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @return OperationDynamicExecutionMetadataDynamicExecutionResult
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public OperationDynamicExecutionMetadataDynamicExecutionResult v3GetDynamicExecutionOperation(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetDynamicExecutionOperationWithHttpInfo(analysisId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get a dynamic execution operation.
+ * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @return ApiResponse<OperationDynamicExecutionMetadataDynamicExecutionResult>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetDynamicExecutionOperationWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetDynamicExecutionOperationValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get a dynamic execution operation. (asynchronously)
+ * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionOperationAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetDynamicExecutionOperationValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetDynamicExecutionPcap
+ * @param analysisId Analysis ID (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionPcapCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/analyses/{analysis_id}/dynamic-execution/pcap"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3GetDynamicExecutionPcapValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetDynamicExecutionPcap(Async)");
+ }
+
+ return v3GetDynamicExecutionPcapCall(analysisId, _callback);
+
+ }
+
+ /**
+ * Download the network capture.
+ * Streams the pcap of the analysis VM's traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public void v3GetDynamicExecutionPcap(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ v3GetDynamicExecutionPcapWithHttpInfo(analysisId);
+ }
+
+ /**
+ * Download the network capture.
+ * Streams the pcap of the analysis VM's traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetDynamicExecutionPcapWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetDynamicExecutionPcapValidateBeforeCall(analysisId, null);
+ return localVarApiClient.execute(localVarCall);
+ }
+
+ /**
+ * Download the network capture. (asynchronously)
+ * Streams the pcap of the analysis VM's traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionPcapAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetDynamicExecutionPcapValidateBeforeCall(analysisId, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetDynamicExecutionReport
+ * @param analysisId Analysis ID (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionReportCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/analyses/{analysis_id}/dynamic-execution/report"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
+ return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call v3GetDynamicExecutionReportValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'analysisId' is set
+ if (analysisId == null) {
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetDynamicExecutionReport(Async)");
+ }
+
+ return v3GetDynamicExecutionReportCall(analysisId, _callback);
+
+ }
+
+ /**
+ * Get the dynamic execution report.
+ * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @return AnalysisReport
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public AnalysisReport v3GetDynamicExecutionReport(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetDynamicExecutionReportWithHttpInfo(analysisId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get the dynamic execution report.
+ * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @return ApiResponse<AnalysisReport>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetDynamicExecutionReportWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetDynamicExecutionReportValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get the dynamic execution report. (asynchronously)
+ * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete
+ * @param analysisId Analysis ID (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionReportAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetDynamicExecutionReportValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetDynamicExecutionScreenshot
+ * @param analysisId Analysis ID (required)
+ * @param index Index of the screenshot, as listed by the screenshots endpoint (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ Response Details
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 409 | Conflict | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3GetDynamicExecutionScreenshotCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nonnull Long index, final ApiCallback _callback) throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] { };
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null){
+ basePath = localCustomBaseUrl;
+ } else if ( localBasePaths.length > 0 ) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v3/analyses/{analysis_id}/dynamic-execution/screenshots/{index}"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()))
+ .replace("{" + "index" + "}", localVarApiClient.escapeString(index.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap