diff --git a/.sdk-version b/.sdk-version
index 7947760..4fc4729 100644
--- a/.sdk-version
+++ b/.sdk-version
@@ -1 +1 @@
-v4.51.0
+v4.54.0
diff --git a/README.md b/README.md
index ce1d8b1..6c99f7e 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Add this dependency to your project's POM:
ai.reveng
sdk
- 4.51.0
+ 4.54.0
compile
```
@@ -31,7 +31,7 @@ repositories {
}
dependencies {
- implementation "ai.reveng:sdk:4.51.0"
+ implementation "ai.reveng:sdk:4.54.0"
}
```
@@ -133,6 +133,7 @@ Class | Method | HTTP request | Description
*AgentApi* | [**v3UpsertBinaryAgentFeedback**](docs/AgentApi.md#v3UpsertBinaryAgentFeedback) | **PUT** /v3/analyses/{analysis_id}/agents/{agent}/feedback | Record feedback on an agent's output.
*AnalysesBulkActionsApi* | [**bulkAddAnalysisTags**](docs/AnalysesBulkActionsApi.md#bulkAddAnalysisTags) | **PATCH** /v2/analyses/tags/add | Bulk Add Analysis Tags
*AnalysesBulkActionsApi* | [**bulkDeleteAnalyses**](docs/AnalysesBulkActionsApi.md#bulkDeleteAnalyses) | **PATCH** /v2/analyses/delete | Bulk Delete Analyses
+*AnalysesBulkActionsApi* | [**v3BatchDeleteAnalyses**](docs/AnalysesBulkActionsApi.md#v3BatchDeleteAnalyses) | **POST** /v3/analyses:batchDelete | Delete multiple analyses.
*AnalysesCommentsApi* | [**createAnalysisComment**](docs/AnalysesCommentsApi.md#createAnalysisComment) | **POST** /v2/analyses/{analysis_id}/comments | Create a comment for this analysis
*AnalysesCommentsApi* | [**deleteAnalysisComment**](docs/AnalysesCommentsApi.md#deleteAnalysisComment) | **DELETE** /v2/analyses/{analysis_id}/comments/{comment_id} | Delete a comment
*AnalysesCommentsApi* | [**getAnalysisComments**](docs/AnalysesCommentsApi.md#getAnalysisComments) | **GET** /v2/analyses/{analysis_id}/comments | Get comments for this analysis
@@ -161,19 +162,27 @@ Class | Method | HTTP request | Description
*AnalysesCoreApi* | [**updateAnalysisTags**](docs/AnalysesCoreApi.md#updateAnalysisTags) | **PATCH** /v2/analyses/{analysis_id}/tags | Update Analysis Tags
*AnalysesCoreApi* | [**uploadFile**](docs/AnalysesCoreApi.md#uploadFile) | **POST** /v2/upload | Upload File
*AnalysesCoreApi* | [**v3CreateAnalysis**](docs/AnalysesCoreApi.md#v3CreateAnalysis) | **POST** /v3/analyses | Create an analysis
+*AnalysesCoreApi* | [**v3DeleteAnalysis**](docs/AnalysesCoreApi.md#v3DeleteAnalysis) | **DELETE** /v3/analyses/{analysis_id} | Delete an analysis.
+*AnalysesCoreApi* | [**v3DownloadBinaryExport**](docs/AnalysesCoreApi.md#v3DownloadBinaryExport) | **GET** /v3/analyses/{analysis_id}/binary-export | Download a binary export
+*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* | [**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* | [**v3ListAnalyses**](docs/AnalysesCoreApi.md#v3ListAnalyses) | **GET** /v3/analyses | List analyses
*AnalysesCoreApi* | [**v3ListExampleAnalyses**](docs/AnalysesCoreApi.md#v3ListExampleAnalyses) | **GET** /v3/analyses/examples | List example analyses
+*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* | [**v3UpdateAnalysis**](docs/AnalysesCoreApi.md#v3UpdateAnalysis) | **PATCH** /v3/analyses/{analysis_id} | Update an analysis.
*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
*AnalysesResultsMetadataApi* | [**getCapabilities**](docs/AnalysesResultsMetadataApi.md#getCapabilities) | **GET** /v2/analyses/{analysis_id}/capabilities | Gets the capabilities from the analysis
*AnalysesResultsMetadataApi* | [**getFunctionsList**](docs/AnalysesResultsMetadataApi.md#getFunctionsList) | **GET** /v2/analyses/{analysis_id}/functions/list | Gets functions from analysis
*AnalysesResultsMetadataApi* | [**getTags**](docs/AnalysesResultsMetadataApi.md#getTags) | **GET** /v2/analyses/{analysis_id}/tags | Get function tags with maliciousness score
+*AnalysesResultsMetadataApi* | [**v3ListAnalysisCapabilities**](docs/AnalysesResultsMetadataApi.md#v3ListAnalysisCapabilities) | **GET** /v3/analyses/{analysis_id}/capabilities | List the capabilities found in an analysis.
*AnalysesXRefsApi* | [**getXrefByVaddr**](docs/AnalysesXRefsApi.md#getXrefByVaddr) | **GET** /v2/analyses/{analysis_id}/xrefs/{vaddr} | [Beta] Look up xrefs by virtual address
*AuthenticationUsersApi* | [**getUser**](docs/AuthenticationUsersApi.md#getUser) | **GET** /v2/users/{user_id} | Get a user's public information
*AuthenticationUsersApi* | [**getUserActivity**](docs/AuthenticationUsersApi.md#getUserActivity) | **GET** /v2/users/activity | Get auth user activity
@@ -306,17 +315,21 @@ Class | Method | HTTP request | Description
- [AddUserStringToFunctionInputBody](docs/AddUserStringToFunctionInputBody.md)
- [AdditionalDetailsStatusResponse](docs/AdditionalDetailsStatusResponse.md)
- [AiDecompilationRating](docs/AiDecompilationRating.md)
+ - [AnalysisAccessBody](docs/AnalysisAccessBody.md)
- [AnalysisAccessInfo](docs/AnalysisAccessInfo.md)
- [AnalysisBasicInfoOutputBody](docs/AnalysisBasicInfoOutputBody.md)
- [AnalysisBulkAddTagsRequest](docs/AnalysisBulkAddTagsRequest.md)
- [AnalysisBulkAddTagsResponse](docs/AnalysisBulkAddTagsResponse.md)
- [AnalysisBulkAddTagsResponseItem](docs/AnalysisBulkAddTagsResponseItem.md)
+ - [AnalysisCapabilitiesOutputBody](docs/AnalysisCapabilitiesOutputBody.md)
+ - [AnalysisCapabilityBody](docs/AnalysisCapabilityBody.md)
- [AnalysisConfig](docs/AnalysisConfig.md)
- [AnalysisConfigSnapshot](docs/AnalysisConfigSnapshot.md)
- [AnalysisCreateRequest](docs/AnalysisCreateRequest.md)
- [AnalysisCreateResponse](docs/AnalysisCreateResponse.md)
- [AnalysisDataTypesGroup](docs/AnalysisDataTypesGroup.md)
- [AnalysisDataTypesOutputBody](docs/AnalysisDataTypesOutputBody.md)
+ - [AnalysisDetailOutputBody](docs/AnalysisDetailOutputBody.md)
- [AnalysisDetailResponse](docs/AnalysisDetailResponse.md)
- [AnalysisFunctionEntry](docs/AnalysisFunctionEntry.md)
- [AnalysisFunctionMapping](docs/AnalysisFunctionMapping.md)
@@ -355,6 +368,7 @@ Class | Method | HTTP request | Description
- [AttemptFailedEvent](docs/AttemptFailedEvent.md)
- [AttemptStartedEvent](docs/AttemptStartedEvent.md)
- [AutoRunAgents](docs/AutoRunAgents.md)
+ - [AutoRunAgentsBody](docs/AutoRunAgentsBody.md)
- [AutoUnstripStatusOutputBody](docs/AutoUnstripStatusOutputBody.md)
- [BaseDataType](docs/BaseDataType.md)
- [BaseResponse](docs/BaseResponse.md)
@@ -433,6 +447,8 @@ Class | Method | HTTP request | Description
- [BinaryAdditionalResponse](docs/BinaryAdditionalResponse.md)
- [BinaryConfig](docs/BinaryConfig.md)
- [BinaryDetailsResponse](docs/BinaryDetailsResponse.md)
+ - [BinaryExportMetadata](docs/BinaryExportMetadata.md)
+ - [BinaryExportResult](docs/BinaryExportResult.md)
- [BinaryExternalsResponse](docs/BinaryExternalsResponse.md)
- [BinarySearchResponse](docs/BinarySearchResponse.md)
- [BinarySearchResult](docs/BinarySearchResult.md)
@@ -440,6 +456,7 @@ Class | Method | HTTP request | Description
- [BitfieldDataType](docs/BitfieldDataType.md)
- [BulkCreateUserResult](docs/BulkCreateUserResult.md)
- [BulkCreateUsersOutputBody](docs/BulkCreateUsersOutputBody.md)
+ - [BulkDeleteAnalysesInputBody](docs/BulkDeleteAnalysesInputBody.md)
- [BulkDeleteAnalysesRequest](docs/BulkDeleteAnalysesRequest.md)
- [BytesConstant](docs/BytesConstant.md)
- [CallChain](docs/CallChain.md)
@@ -679,6 +696,7 @@ Class | Method | HTTP request | Description
- [IOC](docs/IOC.md)
- [ISA](docs/ISA.md)
- [IconModel](docs/IconModel.md)
+ - [ImportDynamicExecutionFileOutputBody](docs/ImportDynamicExecutionFileOutputBody.md)
- [ImportModel](docs/ImportModel.md)
- [ImportedApi](docs/ImportedApi.md)
- [ImportedApiCall](docs/ImportedApiCall.md)
@@ -711,6 +729,7 @@ Class | Method | HTTP request | Description
- [ListUsersOutputBody](docs/ListUsersOutputBody.md)
- [LocationOutputBody](docs/LocationOutputBody.md)
- [Logs](docs/Logs.md)
+ - [LookupAnalysisByBinaryIDOutputBody](docs/LookupAnalysisByBinaryIDOutputBody.md)
- [MITRETechnique](docs/MITRETechnique.md)
- [MatchFilters](docs/MatchFilters.md)
- [MatchedFunction](docs/MatchedFunction.md)
@@ -738,6 +757,7 @@ Class | Method | HTTP request | Description
- [NetworkingScanMetadata](docs/NetworkingScanMetadata.md)
- [NetworkingScanResult](docs/NetworkingScanResult.md)
- [OIDCCallbackInputBody](docs/OIDCCallbackInputBody.md)
+ - [OperationBinaryExportMetadataBinaryExportResult](docs/OperationBinaryExportMetadataBinaryExportResult.md)
- [OperationCreateMetadataCreateResult](docs/OperationCreateMetadataCreateResult.md)
- [OperationCryptoExplainMetadataCryptoExplainResult](docs/OperationCryptoExplainMetadataCryptoExplainResult.md)
- [OperationCryptoScanMetadataCryptoScanResult](docs/OperationCryptoScanMetadataCryptoScanResult.md)
@@ -813,6 +833,7 @@ Class | Method | HTTP request | Description
- [ReportOptions](docs/ReportOptions.md)
- [ReportReachabilityStatus](docs/ReportReachabilityStatus.md)
- [ReportResult](docs/ReportResult.md)
+ - [RequestedConfigBody](docs/RequestedConfigBody.md)
- [ResolvedEntity](docs/ResolvedEntity.md)
- [ResultBody](docs/ResultBody.md)
- [RevokeBody](docs/RevokeBody.md)
@@ -877,6 +898,8 @@ Class | Method | HTTP request | Description
- [StatusOutput](docs/StatusOutput.md)
- [StatusResponse](docs/StatusResponse.md)
- [StringFunctions](docs/StringFunctions.md)
+ - [StringMatch](docs/StringMatch.md)
+ - [StringMatchEvidence](docs/StringMatchEvidence.md)
- [StringSource](docs/StringSource.md)
- [StructDataType](docs/StructDataType.md)
- [StructDefinition](docs/StructDefinition.md)
@@ -891,8 +914,6 @@ Class | Method | HTTP request | Description
- [SuggestedMemberView](docs/SuggestedMemberView.md)
- [SuggestedTypeView](docs/SuggestedTypeView.md)
- [SummaryData](docs/SummaryData.md)
- - [SuspiciousString](docs/SuspiciousString.md)
- - [SuspiciousStringEvidence](docs/SuspiciousStringEvidence.md)
- [Symbols](docs/Symbols.md)
- [Tag](docs/Tag.md)
- [TagItem](docs/TagItem.md)
@@ -935,6 +956,7 @@ Class | Method | HTTP request | Description
- [UnionDefinition](docs/UnionDefinition.md)
- [UnknownDataType](docs/UnknownDataType.md)
- [UpdateAnalysisDataTypesInputBody](docs/UpdateAnalysisDataTypesInputBody.md)
+ - [UpdateAnalysisInputBody](docs/UpdateAnalysisInputBody.md)
- [UpdateArrayDataType](docs/UpdateArrayDataType.md)
- [UpdateBaseDataType](docs/UpdateBaseDataType.md)
- [UpdateBitfieldDataType](docs/UpdateBitfieldDataType.md)
diff --git a/build.gradle b/build.gradle
index fdc5134..6a1febf 100644
--- a/build.gradle
+++ b/build.gradle
@@ -19,7 +19,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'
group = 'ai.reveng'
-version = '4.51.0'
+version = '4.54.0'
@@ -174,7 +174,7 @@ mavenPublishing {
// key, and signing without one fails the build.
if (project.hasProperty("signingInMemoryKey")) signAllPublications()
- coordinates("ai.reveng", "sdk", "4.51.0")
+ coordinates("ai.reveng", "sdk", "4.54.0")
pom {
name = "sdk"
diff --git a/build.sbt b/build.sbt
index ea32e9e..edeb6c1 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.51.0",
+ version := "4.54.0",
scalaVersion := "2.11.12",
scalacOptions ++= Seq("-feature"),
compile / javacOptions ++= Seq("-Xlint:deprecation"),
diff --git a/docs/AnalysesBulkActionsApi.md b/docs/AnalysesBulkActionsApi.md
index 76d0382..cf201a1 100644
--- a/docs/AnalysesBulkActionsApi.md
+++ b/docs/AnalysesBulkActionsApi.md
@@ -6,6 +6,7 @@ All URIs are relative to *https://api.reveng.ai*
|------------- | ------------- | -------------|
| [**bulkAddAnalysisTags**](AnalysesBulkActionsApi.md#bulkAddAnalysisTags) | **PATCH** /v2/analyses/tags/add | Bulk Add Analysis Tags |
| [**bulkDeleteAnalyses**](AnalysesBulkActionsApi.md#bulkDeleteAnalyses) | **PATCH** /v2/analyses/delete | Bulk Delete Analyses |
+| [**v3BatchDeleteAnalyses**](AnalysesBulkActionsApi.md#v3BatchDeleteAnalyses) | **POST** /v3/analyses:batchDelete | Delete multiple analyses. |
@@ -158,3 +159,79 @@ public class Example {
| **404** | Not Found | - |
| **403** | Forbidden | - |
+
+# **v3BatchDeleteAnalyses**
+> v3BatchDeleteAnalyses(bulkDeleteAnalysesInputBody)
+
+Delete multiple analyses.
+
+Deactivates every given analysis. The caller must own all of them, or none are deleted. **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.AnalysesBulkActionsApi;
+
+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");
+
+ AnalysesBulkActionsApi apiInstance = new AnalysesBulkActionsApi(defaultClient);
+ BulkDeleteAnalysesInputBody bulkDeleteAnalysesInputBody = new BulkDeleteAnalysesInputBody(); // BulkDeleteAnalysesInputBody |
+ try {
+ apiInstance.v3BatchDeleteAnalyses(bulkDeleteAnalysesInputBody);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesBulkActionsApi#v3BatchDeleteAnalyses");
+ 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 |
+|------------- | ------------- | ------------- | -------------|
+| **bulkDeleteAnalysesInputBody** | [**BulkDeleteAnalysesInputBody**](BulkDeleteAnalysesInputBody.md)| | |
+
+### Return type
+
+null (empty response body)
+
+### 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 |
+|-------------|-------------|------------------|
+| **204** | No Content | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
diff --git a/docs/AnalysesCoreApi.md b/docs/AnalysesCoreApi.md
index cb0a7ca..4200dca 100644
--- a/docs/AnalysesCoreApi.md
+++ b/docs/AnalysesCoreApi.md
@@ -28,14 +28,21 @@ All URIs are relative to *https://api.reveng.ai*
| [**updateAnalysisTags**](AnalysesCoreApi.md#updateAnalysisTags) | **PATCH** /v2/analyses/{analysis_id}/tags | Update Analysis Tags |
| [**uploadFile**](AnalysesCoreApi.md#uploadFile) | **POST** /v2/upload | Upload File |
| [**v3CreateAnalysis**](AnalysesCoreApi.md#v3CreateAnalysis) | **POST** /v3/analyses | Create an analysis |
+| [**v3DeleteAnalysis**](AnalysesCoreApi.md#v3DeleteAnalysis) | **DELETE** /v3/analyses/{analysis_id} | Delete an analysis. |
+| [**v3DownloadBinaryExport**](AnalysesCoreApi.md#v3DownloadBinaryExport) | **GET** /v3/analyses/{analysis_id}/binary-export | Download a binary export |
+| [**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. |
| [**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 |
| [**v3ListAnalyses**](AnalysesCoreApi.md#v3ListAnalyses) | **GET** /v3/analyses | List analyses |
| [**v3ListExampleAnalyses**](AnalysesCoreApi.md#v3ListExampleAnalyses) | **GET** /v3/analyses/examples | List example analyses |
+| [**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 |
+| [**v3UpdateAnalysis**](AnalysesCoreApi.md#v3UpdateAnalysis) | **PATCH** /v3/analyses/{analysis_id} | Update an analysis. |
| [**v3UpgradeAnalysisModel**](AnalysesCoreApi.md#v3UpgradeAnalysisModel) | **POST** /v3/analyses/{analysis_id}/upgrade-model | Re-analyse on the latest model |
@@ -1904,6 +1911,237 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
+
+# **v3DeleteAnalysis**
+> v3DeleteAnalysis(analysisId)
+
+Delete an analysis.
+
+Deactivates the analysis. Only the owner may call it. **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 {
+ apiInstance.v3DeleteAnalysis(analysisId);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3DeleteAnalysis");
+ 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 |
+|-------------|-------------|------------------|
+| **204** | No Content | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3DownloadBinaryExport**
+> v3DownloadBinaryExport(analysisId, taskId)
+
+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
+
+### 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
+ String taskId = "taskId_example"; // String | Task ID returned by queueing the export
+ try {
+ apiInstance.v3DownloadBinaryExport(analysisId, taskId);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3DownloadBinaryExport");
+ 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 | |
+| **taskId** | **String**| Task ID returned by queueing the export | [optional] |
+
+### 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 | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
+
+# **v3GetAnalysis**
+> AnalysisDetailOutputBody v3GetAnalysis(analysisId)
+
+Get an analysis.
+
+Returns the analysis' resource-level detail: binary attributes, ownership, and the configuration it was submitted with. **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 {
+ AnalysisDetailOutputBody result = apiInstance.v3GetAnalysis(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetAnalysis");
+ 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
+
+[**AnalysisDetailOutputBody**](AnalysisDetailOutputBody.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 | - |
+
# **v3GetAnalysisAutoUnstripStatus**
> AutoUnstripStatusOutputBody v3GetAnalysisAutoUnstripStatus(analysisId)
@@ -2380,9 +2618,86 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |
+
+# **v3GetBinaryExportOperation**
+> OperationBinaryExportMetadataBinaryExportResult v3GetBinaryExportOperation(taskId)
+
+Get a binary export operation
+
+Returns the current state of the export started for this task ID. `done` is the only readiness signal: while false, poll again; once true, exactly one of `response` or `error` is set. A task ID the platform no longer recognises -- whether it never existed or its history has expired -- resolves to a failed operation, since either way the caller must export again. **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);
+ String taskId = "taskId_example"; // String | Task ID returned by queueing the export
+ try {
+ OperationBinaryExportMetadataBinaryExportResult result = apiInstance.v3GetBinaryExportOperation(taskId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3GetBinaryExportOperation");
+ 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 |
+|------------- | ------------- | ------------- | -------------|
+| **taskId** | **String**| Task ID returned by queueing the export | |
+
+### 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 |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **403** | Forbidden | - |
+| **404** | Not Found | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
# **v3ListAnalyses**
-> ListAnalysesOutputBody v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, platform, architecture, pageSize, nextPageToken, orderBy, order)
+> ListAnalysesOutputBody v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order)
List analyses
@@ -2420,6 +2735,7 @@ public class Example {
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 |
@@ -2427,7 +2743,7 @@ public class Example {
String orderBy = "created"; // String |
String order = "ASC"; // String |
try {
- ListAnalysesOutputBody result = apiInstance.v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, platform, architecture, pageSize, nextPageToken, orderBy, order);
+ 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");
@@ -2450,6 +2766,7 @@ public class Example {
| **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] |
@@ -2548,6 +2865,239 @@ This endpoint does not need any parameter.
| **200** | OK | - |
| **0** | 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 | - |
+
+
+# **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);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesCoreApi#v3UpdateAnalysis");
+ 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 | |
+| **updateAnalysisInputBody** | [**UpdateAnalysisInputBody**](UpdateAnalysisInputBody.md)| | |
+
+### Return type
+
+[**AnalysisDetailOutputBody**](AnalysisDetailOutputBody.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 | - |
+| **422** | Unprocessable Entity | - |
+| **500** | Internal Server Error | - |
+
# **v3UpgradeAnalysisModel**
> UpgradeAnalysisModelOutputBody v3UpgradeAnalysisModel(analysisId)
diff --git a/docs/AnalysesResultsMetadataApi.md b/docs/AnalysesResultsMetadataApi.md
index ddf157f..7dc6e39 100644
--- a/docs/AnalysesResultsMetadataApi.md
+++ b/docs/AnalysesResultsMetadataApi.md
@@ -8,6 +8,7 @@ All URIs are relative to *https://api.reveng.ai*
| [**getCapabilities**](AnalysesResultsMetadataApi.md#getCapabilities) | **GET** /v2/analyses/{analysis_id}/capabilities | Gets the capabilities from the analysis |
| [**getFunctionsList**](AnalysesResultsMetadataApi.md#getFunctionsList) | **GET** /v2/analyses/{analysis_id}/functions/list | Gets functions from analysis |
| [**getTags**](AnalysesResultsMetadataApi.md#getTags) | **GET** /v2/analyses/{analysis_id}/tags | Get function tags with maliciousness score |
+| [**v3ListAnalysisCapabilities**](AnalysesResultsMetadataApi.md#v3ListAnalysisCapabilities) | **GET** /v3/analyses/{analysis_id}/capabilities | List the capabilities found in an analysis. |
@@ -318,3 +319,80 @@ public class Example {
| **200** | Successful Response | - |
| **422** | Invalid request parameters | - |
+
+# **v3ListAnalysisCapabilities**
+> AnalysisCapabilitiesOutputBody v3ListAnalysisCapabilities(analysisId)
+
+List the capabilities found in an analysis.
+
+Returns the capabilities the binary-analysis pipeline attributed to the analysis' functions, ordered by function address. This is the static capability set recorded against the binary, not the AI capabilities agent's findings, which are triggered by `/v3/analyses/{analysis_id}/capabilities:run`. **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.AnalysesResultsMetadataApi;
+
+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");
+
+ AnalysesResultsMetadataApi apiInstance = new AnalysesResultsMetadataApi(defaultClient);
+ Long analysisId = 56L; // Long | Analysis ID
+ try {
+ AnalysisCapabilitiesOutputBody result = apiInstance.v3ListAnalysisCapabilities(analysisId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling AnalysesResultsMetadataApi#v3ListAnalysisCapabilities");
+ 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
+
+[**AnalysisCapabilitiesOutputBody**](AnalysisCapabilitiesOutputBody.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 | - |
+
diff --git a/docs/AnalysisAccessBody.md b/docs/AnalysisAccessBody.md
new file mode 100644
index 0000000..395445a
--- /dev/null
+++ b/docs/AnalysisAccessBody.md
@@ -0,0 +1,14 @@
+
+
+# AnalysisAccessBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**owner** | **Boolean** | True when the caller owns this analysis | |
+|**username** | **String** | Username of the analysis owner | |
+
+
+
diff --git a/docs/AnalysisCapabilitiesOutputBody.md b/docs/AnalysisCapabilitiesOutputBody.md
new file mode 100644
index 0000000..b41a41d
--- /dev/null
+++ b/docs/AnalysisCapabilitiesOutputBody.md
@@ -0,0 +1,13 @@
+
+
+# AnalysisCapabilitiesOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**capabilities** | **List<AnalysisCapabilityBody>** | Capabilities found across the binary, ordered by function address. Empty when the binary has no capability record | |
+
+
+
diff --git a/docs/AnalysisCapabilityBody.md b/docs/AnalysisCapabilityBody.md
new file mode 100644
index 0000000..07868b3
--- /dev/null
+++ b/docs/AnalysisCapabilityBody.md
@@ -0,0 +1,15 @@
+
+
+# AnalysisCapabilityBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**capabilities** | **List<String>** | Capabilities attributed to the function | |
+|**functionName** | **String** | Name of the function the capability was found in | |
+|**functionVaddr** | **Long** | Virtual address of that function | |
+
+
+
diff --git a/docs/AnalysisDetailOutputBody.md b/docs/AnalysisDetailOutputBody.md
new file mode 100644
index 0000000..2216a6a
--- /dev/null
+++ b/docs/AnalysisDetailOutputBody.md
@@ -0,0 +1,39 @@
+
+
+# AnalysisDetailOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**access** | **AnalysisAccessBody** | | |
+|**analysisId** | **Long** | | |
+|**analysisScope** | [**AnalysisScopeEnum**](#AnalysisScopeEnum) | | |
+|**architecture** | **String** | | |
+|**autoRunAgents** | **AutoRunAgentsBody** | | |
+|**binaryDynamic** | **Boolean** | | |
+|**binaryFormat** | **String** | | |
+|**binaryName** | **String** | | |
+|**binarySize** | **Long** | | |
+|**binaryType** | **String** | | |
+|**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 | |
+|**sha256Hash** | **String** | | |
+
+
+
+## Enum: AnalysisScopeEnum
+
+| Name | Value |
+|---- | -----|
+| PUBLIC | "PUBLIC" |
+| PRIVATE | "PRIVATE" |
+| TEAM | "TEAM" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/docs/AutoRunAgentsBody.md b/docs/AutoRunAgentsBody.md
new file mode 100644
index 0000000..ec427c6
--- /dev/null
+++ b/docs/AutoRunAgentsBody.md
@@ -0,0 +1,13 @@
+
+
+# AutoRunAgentsBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**triage** | **Boolean** | Whether the triage agent ran automatically once the functions pipeline finished | |
+
+
+
diff --git a/docs/Binary.md b/docs/Binary.md
index 15dc492..4b1c358 100644
--- a/docs/Binary.md
+++ b/docs/Binary.md
@@ -11,9 +11,14 @@
|**binaryId** | **Long** | | |
|**binaryName** | **String** | | |
|**createdAt** | **OffsetDateTime** | | |
+|**detectedArchitecture** | **String** | Detected instruction-set architecture; empty when unavailable | |
+|**detectedBinaryType** | **String** | Detected operating-system platform; empty when unavailable | |
|**isSystemAnalysis** | **Boolean** | | |
+|**modelName** | **String** | Name of the model the analysis ran on | |
|**ownerId** | **Long** | | |
|**sha256Hash** | **String** | | |
+|**suppliedArchitecture** | **String** | User-supplied instruction-set architecture; \"AUTO\" when not overridden | |
+|**suppliedBinaryType** | **String** | User-supplied operating-system platform; \"AUTO\" when not overridden | |
diff --git a/docs/BinaryExportMetadata.md b/docs/BinaryExportMetadata.md
new file mode 100644
index 0000000..24e5900
--- /dev/null
+++ b/docs/BinaryExportMetadata.md
@@ -0,0 +1,13 @@
+
+
+# BinaryExportMetadata
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**analysisId** | **Long** | Analysis ID | |
+
+
+
diff --git a/docs/BinaryExportResult.md b/docs/BinaryExportResult.md
new file mode 100644
index 0000000..c791a12
--- /dev/null
+++ b/docs/BinaryExportResult.md
@@ -0,0 +1,13 @@
+
+
+# BinaryExportResult
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**fileName** | **String** | Name to give the downloaded file | |
+
+
+
diff --git a/docs/BulkDeleteAnalysesInputBody.md b/docs/BulkDeleteAnalysesInputBody.md
new file mode 100644
index 0000000..96f9cc5
--- /dev/null
+++ b/docs/BulkDeleteAnalysesInputBody.md
@@ -0,0 +1,13 @@
+
+
+# BulkDeleteAnalysesInputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**analysisIds** | **List<Long>** | IDs of the analyses to delete. The caller must own every one, or none are deleted | |
+
+
+
diff --git a/docs/DisassemblyOutputBody.md b/docs/DisassemblyOutputBody.md
index cc4fe3f..91aba71 100644
--- a/docs/DisassemblyOutputBody.md
+++ b/docs/DisassemblyOutputBody.md
@@ -12,7 +12,7 @@
|**globalVariables** | **Object** | | [optional] |
|**localVariables** | **Object** | | [optional] |
|**params** | **Object** | | [optional] |
-|**returnType** | **String** | Search is applied to string value | [optional] |
+|**returnType** | **String** | | [optional] |
|**returns** | **Boolean** | | |
diff --git a/docs/EvidenceInner.md b/docs/EvidenceInner.md
index bfe30f6..de87d36 100644
--- a/docs/EvidenceInner.md
+++ b/docs/EvidenceInner.md
@@ -14,7 +14,7 @@
|**callChain** | **List<Integer>** | | |
|**constants** | [**List<ReferencedConstant>**](ReferencedConstant.md) | | |
|**calls** | [**List<ImportedApiCall>**](ImportedApiCall.md) | | |
-|**strings** | [**List<SuspiciousString>**](SuspiciousString.md) | | |
+|**strings** | [**List<StringMatch>**](StringMatch.md) | | |
|**similarities** | [**List<FunctionSimilarity>**](FunctionSimilarity.md) | | |
|**apis** | [**List<ImportedApi>**](ImportedApi.md) | | |
|**summaries** | [**List<DecompilerSummary>**](DecompilerSummary.md) | | |
diff --git a/docs/ImportDynamicExecutionFileOutputBody.md b/docs/ImportDynamicExecutionFileOutputBody.md
new file mode 100644
index 0000000..13ef14d
--- /dev/null
+++ b/docs/ImportDynamicExecutionFileOutputBody.md
@@ -0,0 +1,18 @@
+
+
+# ImportDynamicExecutionFileOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**canExtract** | **Boolean** | Whether the firmware/extraction flow can accept this file. | |
+|**canSandbox** | **Boolean** | Whether the file can be extracted and run in the Windows sandbox. | |
+|**isArchive** | **Boolean** | Whether the detected format is a container/compression archive. | |
+|**mime** | **String** | The MIME type detected from the file's contents. | |
+|**sha256Hash** | **String** | SHA-256 hash the file is stored under; the storage key for every subsequent reference to it. | |
+|**size** | **Long** | Size of the file in bytes. | |
+
+
+
diff --git a/docs/LookupAnalysisByBinaryIDOutputBody.md b/docs/LookupAnalysisByBinaryIDOutputBody.md
new file mode 100644
index 0000000..573411f
--- /dev/null
+++ b/docs/LookupAnalysisByBinaryIDOutputBody.md
@@ -0,0 +1,13 @@
+
+
+# LookupAnalysisByBinaryIDOutputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**analysisId** | **Long** | Most recent analysis for this binary that the caller may see | |
+
+
+
diff --git a/docs/OperationBinaryExportMetadataBinaryExportResult.md b/docs/OperationBinaryExportMetadataBinaryExportResult.md
new file mode 100644
index 0000000..e1dbfab
--- /dev/null
+++ b/docs/OperationBinaryExportMetadataBinaryExportResult.md
@@ -0,0 +1,17 @@
+
+
+# OperationBinaryExportMetadataBinaryExportResult
+
+
+## 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** | **BinaryExportMetadata** | In-flight information and details. | [optional] |
+|**name** | **String** | API resource name. | |
+|**response** | **BinaryExportResult** | Result, set only when done is true and the operation succeeded. | [optional] |
+
+
+
diff --git a/docs/RequestedConfigBody.md b/docs/RequestedConfigBody.md
new file mode 100644
index 0000000..a348036
--- /dev/null
+++ b/docs/RequestedConfigBody.md
@@ -0,0 +1,17 @@
+
+
+# RequestedConfigBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**capabilities** | **Boolean** | Whether the capabilities agent was requested | |
+|**functions** | **Boolean** | Whether the functions pipeline was requested | |
+|**sandbox** | **Boolean** | Whether dynamic execution (sandbox) was requested | |
+|**scrape** | **Boolean** | Whether external-source scraping was requested | |
+|**triage** | **Boolean** | Whether the triage agent was requested | |
+
+
+
diff --git a/docs/SuspiciousString.md b/docs/StringMatch.md
similarity index 91%
rename from docs/SuspiciousString.md
rename to docs/StringMatch.md
index b387c6e..f0ed722 100644
--- a/docs/SuspiciousString.md
+++ b/docs/StringMatch.md
@@ -1,6 +1,6 @@
-# SuspiciousString
+# StringMatch
## Properties
diff --git a/docs/SuspiciousStringEvidence.md b/docs/StringMatchEvidence.md
similarity index 79%
rename from docs/SuspiciousStringEvidence.md
rename to docs/StringMatchEvidence.md
index 8f7cffc..b630bbc 100644
--- a/docs/SuspiciousStringEvidence.md
+++ b/docs/StringMatchEvidence.md
@@ -1,8 +1,8 @@
-# SuspiciousStringEvidence
+# StringMatchEvidence
-Suspicious strings without demonstrated semantic use.
+String matches without demonstrated semantic use.
## Properties
@@ -12,7 +12,7 @@ Suspicious strings without demonstrated semantic use.
|**kind** | [**KindEnum**](#KindEnum) | | [optional] |
|**effect** | **EvidenceEffect** | | |
|**strength** | [**StrengthEnum**](#StrengthEnum) | | [optional] |
-|**strings** | [**List<SuspiciousString>**](SuspiciousString.md) | | |
+|**strings** | [**List<StringMatch>**](StringMatch.md) | | |
@@ -20,7 +20,7 @@ Suspicious strings without demonstrated semantic use.
| Name | Value |
|---- | -----|
-| SUSPICIOUS_STRING | "suspicious_string" |
+| STRING_MATCH | "string_match" |
| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
diff --git a/docs/UpdateAnalysisInputBody.md b/docs/UpdateAnalysisInputBody.md
new file mode 100644
index 0000000..56c5232
--- /dev/null
+++ b/docs/UpdateAnalysisInputBody.md
@@ -0,0 +1,25 @@
+
+
+# UpdateAnalysisInputBody
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**analysisScope** | [**AnalysisScopeEnum**](#AnalysisScopeEnum) | The analysis' visibility. Changing to a non-PUBLIC scope requires a subscription tier that supports private analyses | [optional] |
+|**binaryName** | **String** | Renames the analysis' binary. Empty or whitespace-only is rejected | [optional] |
+
+
+
+## Enum: AnalysisScopeEnum
+
+| Name | Value |
+|---- | -----|
+| PUBLIC | "PUBLIC" |
+| PRIVATE | "PRIVATE" |
+| TEAM | "TEAM" |
+| UNKNOWN_DEFAULT_OPEN_API | "unknown_default_open_api" |
+
+
+
diff --git a/pom.xml b/pom.xml
index 99d0cc6..c6c3db1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
sdk
jar
sdk
- 4.51.0
+ 4.54.0
https://github.com/RevEngAI/sdk-java
Java SDK for the RevEng.AI API
diff --git a/src/main/java/ai/reveng/api/AnalysesBulkActionsApi.java b/src/main/java/ai/reveng/api/AnalysesBulkActionsApi.java
index f853ef4..1894b1b 100644
--- a/src/main/java/ai/reveng/api/AnalysesBulkActionsApi.java
+++ b/src/main/java/ai/reveng/api/AnalysesBulkActionsApi.java
@@ -26,10 +26,12 @@
import java.io.IOException;
+import ai.reveng.model.APIError;
import ai.reveng.model.AnalysisBulkAddTagsRequest;
import ai.reveng.model.BaseResponse;
import ai.reveng.model.BaseResponseAnalysisBulkAddTagsResponse;
import ai.reveng.model.BaseResponseDict;
+import ai.reveng.model.BulkDeleteAnalysesInputBody;
import ai.reveng.model.BulkDeleteAnalysesRequest;
import java.lang.reflect.Type;
@@ -345,4 +347,143 @@ public okhttp3.Call bulkDeleteAnalysesAsync(@javax.annotation.Nonnull BulkDelete
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for v3BatchDeleteAnalyses
+ * @param bulkDeleteAnalysesInputBody (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 |
+ | 204 | No Content | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3BatchDeleteAnalysesCall(@javax.annotation.Nonnull BulkDeleteAnalysesInputBody bulkDeleteAnalysesInputBody, 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 = bulkDeleteAnalysesInputBody;
+
+ // create path and map variables
+ String localVarPath = "/v3/analyses:batchDelete";
+
+ 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 = {
+ "application/json"
+ };
+ 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 v3BatchDeleteAnalysesValidateBeforeCall(@javax.annotation.Nonnull BulkDeleteAnalysesInputBody bulkDeleteAnalysesInputBody, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'bulkDeleteAnalysesInputBody' is set
+ if (bulkDeleteAnalysesInputBody == null) {
+ throw new ApiException("Missing the required parameter 'bulkDeleteAnalysesInputBody' when calling v3BatchDeleteAnalyses(Async)");
+ }
+
+ return v3BatchDeleteAnalysesCall(bulkDeleteAnalysesInputBody, _callback);
+
+ }
+
+ /**
+ * Delete multiple analyses.
+ * Deactivates every given analysis. The caller must own all of them, or none are deleted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param bulkDeleteAnalysesInputBody (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 |
+ | 204 | No Content | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public void v3BatchDeleteAnalyses(@javax.annotation.Nonnull BulkDeleteAnalysesInputBody bulkDeleteAnalysesInputBody) throws ApiException {
+ v3BatchDeleteAnalysesWithHttpInfo(bulkDeleteAnalysesInputBody);
+ }
+
+ /**
+ * Delete multiple analyses.
+ * Deactivates every given analysis. The caller must own all of them, or none are deleted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param bulkDeleteAnalysesInputBody (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 |
+ | 204 | No Content | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3BatchDeleteAnalysesWithHttpInfo(@javax.annotation.Nonnull BulkDeleteAnalysesInputBody bulkDeleteAnalysesInputBody) throws ApiException {
+ okhttp3.Call localVarCall = v3BatchDeleteAnalysesValidateBeforeCall(bulkDeleteAnalysesInputBody, null);
+ return localVarApiClient.execute(localVarCall);
+ }
+
+ /**
+ * Delete multiple analyses. (asynchronously)
+ * Deactivates every given analysis. The caller must own all of them, or none are deleted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param bulkDeleteAnalysesInputBody (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 |
+ | 204 | No Content | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3BatchDeleteAnalysesAsync(@javax.annotation.Nonnull BulkDeleteAnalysesInputBody bulkDeleteAnalysesInputBody, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3BatchDeleteAnalysesValidateBeforeCall(bulkDeleteAnalysesInputBody, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
+ return localVarCall;
+ }
}
diff --git a/src/main/java/ai/reveng/api/AnalysesCoreApi.java b/src/main/java/ai/reveng/api/AnalysesCoreApi.java
index f14a485..d2c9f4e 100644
--- a/src/main/java/ai/reveng/api/AnalysesCoreApi.java
+++ b/src/main/java/ai/reveng/api/AnalysesCoreApi.java
@@ -30,6 +30,7 @@
import ai.reveng.model.AddUserStringInputBody;
import ai.reveng.model.AnalysisBasicInfoOutputBody;
import ai.reveng.model.AnalysisCreateRequest;
+import ai.reveng.model.AnalysisDetailOutputBody;
import ai.reveng.model.AnalysisReport;
import ai.reveng.model.AnalysisUpdateRequest;
import ai.reveng.model.AnalysisUpdateTagsRequest;
@@ -61,7 +62,9 @@
import ai.reveng.model.ListAnalysesOutputBody;
import ai.reveng.model.ListAnalysisStringsOutputBody;
import ai.reveng.model.ListExampleAnalysesOutputBody;
+import ai.reveng.model.LookupAnalysisByBinaryIDOutputBody;
import ai.reveng.model.ModelName;
+import ai.reveng.model.OperationBinaryExportMetadataBinaryExportResult;
import ai.reveng.model.OperationCreateMetadataCreateResult;
import ai.reveng.model.Order;
import ai.reveng.model.PutAnalysisStringsRequest;
@@ -69,6 +72,7 @@
import ai.reveng.model.StartMatchingForAnalysisInputBody;
import ai.reveng.model.StartMatchingOutputBody;
import ai.reveng.model.StatusInput;
+import ai.reveng.model.UpdateAnalysisInputBody;
import ai.reveng.model.UpgradeAnalysisModelOutputBody;
import ai.reveng.model.UploadFileType;
import ai.reveng.model.Workspace;
@@ -3721,7 +3725,7 @@ public okhttp3.Call v3CreateAnalysisAsync(@javax.annotation.Nonnull CreateReques
return localVarCall;
}
/**
- * Build call for v3GetAnalysisAutoUnstripStatus
+ * Build call for v3DeleteAnalysis
* @param analysisId Analysis ID (required)
* @param _callback Callback for upload/download progress
* @return Call to execute
@@ -3730,14 +3734,14 @@ public okhttp3.Call v3CreateAnalysisAsync(@javax.annotation.Nonnull CreateReques
Response Details
| Status Code | Description | Response Headers |
- | 200 | OK | - |
+ | 204 | No Content | - |
| 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisAutoUnstripStatusCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3DeleteAnalysisCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -3754,7 +3758,7 @@ public okhttp3.Call v3GetAnalysisAutoUnstripStatusCall(@javax.annotation.Nonnull
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v3/analyses/{analysis_id}/auto-unstrip/status"
+ String localVarPath = "/v3/analyses/{analysis_id}"
.replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
List localVarQueryParams = new ArrayList();
@@ -3779,68 +3783,65 @@ public okhttp3.Call v3GetAnalysisAutoUnstripStatusCall(@javax.annotation.Nonnull
}
String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
- return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call v3GetAnalysisAutoUnstripStatusValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call v3DeleteAnalysisValidateBeforeCall(@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 v3GetAnalysisAutoUnstripStatus(Async)");
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3DeleteAnalysis(Async)");
}
- return v3GetAnalysisAutoUnstripStatusCall(analysisId, _callback);
+ return v3DeleteAnalysisCall(analysisId, _callback);
}
/**
- * Get the auto-unstrip status for an analysis.
- * Returns the status of the auto-unstrip task for the binary backing the analysis. One of `UNINITIALISED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Delete an analysis.
+ * Deactivates the analysis. Only the owner may call it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @return AutoUnstripStatusOutputBody
* @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 | - |
+ | 204 | No Content | - |
| 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public AutoUnstripStatusOutputBody v3GetAnalysisAutoUnstripStatus(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- ApiResponse localVarResp = v3GetAnalysisAutoUnstripStatusWithHttpInfo(analysisId);
- return localVarResp.getData();
+ public void v3DeleteAnalysis(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ v3DeleteAnalysisWithHttpInfo(analysisId);
}
/**
- * Get the auto-unstrip status for an analysis.
- * Returns the status of the auto-unstrip task for the binary backing the analysis. One of `UNINITIALISED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Delete an analysis.
+ * Deactivates the analysis. Only the owner may call it. **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<AutoUnstripStatusOutputBody>
+ * @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 | - |
+ | 204 | No Content | - |
| 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public ApiResponse v3GetAnalysisAutoUnstripStatusWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisAutoUnstripStatusValidateBeforeCall(analysisId, null);
- Type localVarReturnType = new TypeToken(){}.getType();
- return localVarApiClient.execute(localVarCall, localVarReturnType);
+ public ApiResponse v3DeleteAnalysisWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3DeleteAnalysisValidateBeforeCall(analysisId, null);
+ return localVarApiClient.execute(localVarCall);
}
/**
- * Get the auto-unstrip status for an analysis. (asynchronously)
- * Returns the status of the auto-unstrip task for the binary backing the analysis. One of `UNINITIALISED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Delete an analysis. (asynchronously)
+ * Deactivates the analysis. Only the owner may call it. **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
@@ -3849,23 +3850,23 @@ public ApiResponse v3GetAnalysisAutoUnstripStatusWi
Response Details
| Status Code | Description | Response Headers |
- | 200 | OK | - |
+ | 204 | No Content | - |
| 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisAutoUnstripStatusAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3DeleteAnalysisAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisAutoUnstripStatusValidateBeforeCall(analysisId, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
- localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ okhttp3.Call localVarCall = v3DeleteAnalysisValidateBeforeCall(analysisId, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
return localVarCall;
}
/**
- * Build call for v3GetAnalysisFunctionsProgress
+ * Build call for v3DownloadBinaryExport
* @param analysisId Analysis ID (required)
+ * @param taskId Task ID returned by queueing the export (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -3880,7 +3881,7 @@ public okhttp3.Call v3GetAnalysisAutoUnstripStatusAsync(@javax.annotation.Nonnul
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisFunctionsProgressCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3DownloadBinaryExportCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable String taskId, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -3897,7 +3898,7 @@ public okhttp3.Call v3GetAnalysisFunctionsProgressCall(@javax.annotation.Nonnull
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v3/analyses/{analysis_id}/progress/functions"
+ String localVarPath = "/v3/analyses/{analysis_id}/binary-export"
.replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
List localVarQueryParams = new ArrayList();
@@ -3906,6 +3907,10 @@ public okhttp3.Call v3GetAnalysisFunctionsProgressCall(@javax.annotation.Nonnull
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
+ if (taskId != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("task_id", taskId));
+ }
+
final String[] localVarAccepts = {
"application/json"
};
@@ -3926,21 +3931,21 @@ public okhttp3.Call v3GetAnalysisFunctionsProgressCall(@javax.annotation.Nonnull
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call v3GetAnalysisFunctionsProgressValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call v3DownloadBinaryExportValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable 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 v3GetAnalysisFunctionsProgress(Async)");
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3DownloadBinaryExport(Async)");
}
- return v3GetAnalysisFunctionsProgressCall(analysisId, _callback);
+ return v3DownloadBinaryExportCall(analysisId, taskId, _callback);
}
/**
- * Get function embedding progress for an analysis.
- * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * 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)
- * @return FunctionsProgressOutputBody
+ * @param taskId Task ID returned by queueing the export (optional)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -3953,16 +3958,16 @@ private okhttp3.Call v3GetAnalysisFunctionsProgressValidateBeforeCall(@javax.ann
| 500 | Internal Server Error | - |
*/
- public FunctionsProgressOutputBody v3GetAnalysisFunctionsProgress(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- ApiResponse localVarResp = v3GetAnalysisFunctionsProgressWithHttpInfo(analysisId);
- return localVarResp.getData();
+ public void v3DownloadBinaryExport(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable String taskId) throws ApiException {
+ v3DownloadBinaryExportWithHttpInfo(analysisId, taskId);
}
/**
- * Get function embedding progress for an analysis.
- * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * 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)
- * @return ApiResponse<FunctionsProgressOutputBody>
+ * @param taskId Task ID returned by queueing the export (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
@@ -3975,16 +3980,16 @@ public FunctionsProgressOutputBody v3GetAnalysisFunctionsProgress(@javax.annotat
| 500 | Internal Server Error | - |
*/
- public ApiResponse v3GetAnalysisFunctionsProgressWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisFunctionsProgressValidateBeforeCall(analysisId, null);
- Type localVarReturnType = new TypeToken(){}.getType();
- return localVarApiClient.execute(localVarCall, localVarReturnType);
+ public ApiResponse v3DownloadBinaryExportWithHttpInfo(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable String taskId) throws ApiException {
+ okhttp3.Call localVarCall = v3DownloadBinaryExportValidateBeforeCall(analysisId, taskId, null);
+ return localVarApiClient.execute(localVarCall);
}
/**
- * Get function embedding progress for an analysis. (asynchronously)
- * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * 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 _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
@@ -3999,15 +4004,14 @@ public ApiResponse v3GetAnalysisFunctionsProgressWi
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisFunctionsProgressAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3DownloadBinaryExportAsync(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable String taskId, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisFunctionsProgressValidateBeforeCall(analysisId, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
- localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ okhttp3.Call localVarCall = v3DownloadBinaryExportValidateBeforeCall(analysisId, taskId, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
return localVarCall;
}
/**
- * Build call for v3GetAnalysisLogs
+ * Build call for v3GetAnalysis
* @param analysisId Analysis ID (required)
* @param _callback Callback for upload/download progress
* @return Call to execute
@@ -4023,7 +4027,7 @@ public okhttp3.Call v3GetAnalysisFunctionsProgressAsync(@javax.annotation.Nonnul
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisLogsCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetAnalysisCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -4040,7 +4044,7 @@ public okhttp3.Call v3GetAnalysisLogsCall(@javax.annotation.Nonnull Long analysi
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v3/analyses/{analysis_id}/logs"
+ String localVarPath = "/v3/analyses/{analysis_id}"
.replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
List localVarQueryParams = new ArrayList();
@@ -4069,21 +4073,21 @@ public okhttp3.Call v3GetAnalysisLogsCall(@javax.annotation.Nonnull Long analysi
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call v3GetAnalysisLogsValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call v3GetAnalysisValidateBeforeCall(@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 v3GetAnalysisLogs(Async)");
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetAnalysis(Async)");
}
- return v3GetAnalysisLogsCall(analysisId, _callback);
+ return v3GetAnalysisCall(analysisId, _callback);
}
/**
- * Get the Analysis log
- * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get an analysis.
+ * Returns the analysis' resource-level detail: binary attributes, ownership, and the configuration it was submitted with. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @return GetAnalysisLogsOutputBody
+ * @return AnalysisDetailOutputBody
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -4096,16 +4100,16 @@ private okhttp3.Call v3GetAnalysisLogsValidateBeforeCall(@javax.annotation.Nonnu
| 500 | Internal Server Error | - |
*/
- public GetAnalysisLogsOutputBody v3GetAnalysisLogs(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- ApiResponse localVarResp = v3GetAnalysisLogsWithHttpInfo(analysisId);
+ public AnalysisDetailOutputBody v3GetAnalysis(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetAnalysisWithHttpInfo(analysisId);
return localVarResp.getData();
}
/**
- * Get the Analysis log
- * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get an analysis.
+ * Returns the analysis' resource-level detail: binary attributes, ownership, and the configuration it was submitted with. **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<GetAnalysisLogsOutputBody>
+ * @return ApiResponse<AnalysisDetailOutputBody>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -4118,15 +4122,15 @@ public GetAnalysisLogsOutputBody v3GetAnalysisLogs(@javax.annotation.Nonnull Lon
| 500 | Internal Server Error | - |
*/
- public ApiResponse v3GetAnalysisLogsWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisLogsValidateBeforeCall(analysisId, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ public ApiResponse v3GetAnalysisWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetAnalysisValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * Get the Analysis log (asynchronously)
- * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get an analysis. (asynchronously)
+ * Returns the analysis' resource-level detail: binary attributes, ownership, and the configuration it was submitted with. **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
@@ -4142,15 +4146,15 @@ public ApiResponse v3GetAnalysisLogsWithHttpInfo(@jav
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisLogsAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetAnalysisAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisLogsValidateBeforeCall(analysisId, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ okhttp3.Call localVarCall = v3GetAnalysisValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
- * Build call for v3GetAnalysisOperation
+ * Build call for v3GetAnalysisAutoUnstripStatus
* @param analysisId Analysis ID (required)
* @param _callback Callback for upload/download progress
* @return Call to execute
@@ -4166,7 +4170,7 @@ public okhttp3.Call v3GetAnalysisLogsAsync(@javax.annotation.Nonnull Long analys
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisOperationCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetAnalysisAutoUnstripStatusCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -4183,7 +4187,7 @@ public okhttp3.Call v3GetAnalysisOperationCall(@javax.annotation.Nonnull Long an
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v3/operations/analyses/{analysis_id}"
+ String localVarPath = "/v3/analyses/{analysis_id}/auto-unstrip/status"
.replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
List localVarQueryParams = new ArrayList();
@@ -4212,21 +4216,21 @@ public okhttp3.Call v3GetAnalysisOperationCall(@javax.annotation.Nonnull Long an
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call v3GetAnalysisOperationValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call v3GetAnalysisAutoUnstripStatusValidateBeforeCall(@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 v3GetAnalysisOperation(Async)");
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetAnalysisAutoUnstripStatus(Async)");
}
- return v3GetAnalysisOperationCall(analysisId, _callback);
+ return v3GetAnalysisAutoUnstripStatusCall(analysisId, _callback);
}
/**
- * Get an Analysis-creation operation
- * Polls the status of an Analysis-creation operation. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get the auto-unstrip status for an analysis.
+ * Returns the status of the auto-unstrip task for the binary backing the analysis. One of `UNINITIALISED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @return OperationCreateMetadataCreateResult
+ * @return AutoUnstripStatusOutputBody
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -4239,16 +4243,16 @@ private okhttp3.Call v3GetAnalysisOperationValidateBeforeCall(@javax.annotation.
| 500 | Internal Server Error | - |
*/
- public OperationCreateMetadataCreateResult v3GetAnalysisOperation(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- ApiResponse localVarResp = v3GetAnalysisOperationWithHttpInfo(analysisId);
+ public AutoUnstripStatusOutputBody v3GetAnalysisAutoUnstripStatus(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetAnalysisAutoUnstripStatusWithHttpInfo(analysisId);
return localVarResp.getData();
}
/**
- * Get an Analysis-creation operation
- * Polls the status of an Analysis-creation operation. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get the auto-unstrip status for an analysis.
+ * Returns the status of the auto-unstrip task for the binary backing the analysis. One of `UNINITIALISED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`. **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<OperationCreateMetadataCreateResult>
+ * @return ApiResponse<AutoUnstripStatusOutputBody>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -4261,15 +4265,15 @@ public OperationCreateMetadataCreateResult v3GetAnalysisOperation(@javax.annotat
| 500 | Internal Server Error | - |
*/
- public ApiResponse v3GetAnalysisOperationWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisOperationValidateBeforeCall(analysisId, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ public ApiResponse v3GetAnalysisAutoUnstripStatusWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetAnalysisAutoUnstripStatusValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * Get an Analysis-creation operation (asynchronously)
- * Polls the status of an Analysis-creation operation. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get the auto-unstrip status for an analysis. (asynchronously)
+ * Returns the status of the auto-unstrip task for the binary backing the analysis. One of `UNINITIALISED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`. **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
@@ -4285,23 +4289,16 @@ public ApiResponse v3GetAnalysisOperationWi
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisOperationAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetAnalysisAutoUnstripStatusAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisOperationValidateBeforeCall(analysisId, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ okhttp3.Call localVarCall = v3GetAnalysisAutoUnstripStatusValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
- * Build call for v3GetAnalysisStrings
+ * Build call for v3GetAnalysisFunctionsProgress
* @param analysisId Analysis ID (required)
- * @param page Page number (1-indexed). (optional, default to 1)
- * @param pageSize Number of results per page. (optional, default to 100)
- * @param search Filter by string value (case-insensitive substring match). (optional)
- * @param searchOperator How the search term matches string values. (optional, default to CONTAINS)
- * @param functionSearch Filter by function name (case-insensitive substring match). (optional)
- * @param orderBy Field to order results by. (optional, default to value)
- * @param sortOrder Sort direction. (optional, default to ASC)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -4316,7 +4313,7 @@ public okhttp3.Call v3GetAnalysisOperationAsync(@javax.annotation.Nonnull Long a
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisStringsCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetAnalysisFunctionsProgressCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -4333,7 +4330,7 @@ public okhttp3.Call v3GetAnalysisStringsCall(@javax.annotation.Nonnull Long anal
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v3/analyses/{analysis_id}/functions/strings"
+ String localVarPath = "/v3/analyses/{analysis_id}/progress/functions"
.replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
List localVarQueryParams = new ArrayList();
@@ -4342,34 +4339,6 @@ public okhttp3.Call v3GetAnalysisStringsCall(@javax.annotation.Nonnull Long anal
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
- if (page != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("page", page));
- }
-
- if (pageSize != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("page_size", pageSize));
- }
-
- if (search != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("search", search));
- }
-
- if (searchOperator != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("search_operator", searchOperator));
- }
-
- if (functionSearch != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("function_search", functionSearch));
- }
-
- if (orderBy != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("order_by", orderBy));
- }
-
- if (sortOrder != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort_order", sortOrder));
- }
-
final String[] localVarAccepts = {
"application/json"
};
@@ -4390,28 +4359,21 @@ public okhttp3.Call v3GetAnalysisStringsCall(@javax.annotation.Nonnull Long anal
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call v3GetAnalysisStringsValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call v3GetAnalysisFunctionsProgressValidateBeforeCall(@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 v3GetAnalysisStrings(Async)");
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetAnalysisFunctionsProgress(Async)");
}
- return v3GetAnalysisStringsCall(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, _callback);
+ return v3GetAnalysisFunctionsProgressCall(analysisId, _callback);
}
/**
- * List strings for an analysis.
- * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get function embedding progress for an analysis.
+ * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @param page Page number (1-indexed). (optional, default to 1)
- * @param pageSize Number of results per page. (optional, default to 100)
- * @param search Filter by string value (case-insensitive substring match). (optional)
- * @param searchOperator How the search term matches string values. (optional, default to CONTAINS)
- * @param functionSearch Filter by function name (case-insensitive substring match). (optional)
- * @param orderBy Field to order results by. (optional, default to value)
- * @param sortOrder Sort direction. (optional, default to ASC)
- * @return ListAnalysisStringsOutputBody
+ * @return FunctionsProgressOutputBody
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -4424,23 +4386,16 @@ private okhttp3.Call v3GetAnalysisStringsValidateBeforeCall(@javax.annotation.No
| 500 | Internal Server Error | - |
*/
- public ListAnalysisStringsOutputBody v3GetAnalysisStrings(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder) throws ApiException {
- ApiResponse localVarResp = v3GetAnalysisStringsWithHttpInfo(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder);
+ public FunctionsProgressOutputBody v3GetAnalysisFunctionsProgress(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetAnalysisFunctionsProgressWithHttpInfo(analysisId);
return localVarResp.getData();
}
/**
- * List strings for an analysis.
- * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get function embedding progress for an analysis.
+ * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @param page Page number (1-indexed). (optional, default to 1)
- * @param pageSize Number of results per page. (optional, default to 100)
- * @param search Filter by string value (case-insensitive substring match). (optional)
- * @param searchOperator How the search term matches string values. (optional, default to CONTAINS)
- * @param functionSearch Filter by function name (case-insensitive substring match). (optional)
- * @param orderBy Field to order results by. (optional, default to value)
- * @param sortOrder Sort direction. (optional, default to ASC)
- * @return ApiResponse<ListAnalysisStringsOutputBody>
+ * @return ApiResponse<FunctionsProgressOutputBody>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -4453,23 +4408,16 @@ public ListAnalysisStringsOutputBody v3GetAnalysisStrings(@javax.annotation.Nonn
| 500 | Internal Server Error | - |
*/
- public ApiResponse v3GetAnalysisStringsWithHttpInfo(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisStringsValidateBeforeCall(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ public ApiResponse v3GetAnalysisFunctionsProgressWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetAnalysisFunctionsProgressValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * List strings for an analysis. (asynchronously)
- * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get function embedding progress for an analysis. (asynchronously)
+ * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @param page Page number (1-indexed). (optional, default to 1)
- * @param pageSize Number of results per page. (optional, default to 100)
- * @param search Filter by string value (case-insensitive substring match). (optional)
- * @param searchOperator How the search term matches string values. (optional, default to CONTAINS)
- * @param functionSearch Filter by function name (case-insensitive substring match). (optional)
- * @param orderBy Field to order results by. (optional, default to value)
- * @param sortOrder Sort direction. (optional, default to ASC)
* @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
@@ -4484,15 +4432,15 @@ public ApiResponse v3GetAnalysisStringsWithHttpIn
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisStringsAsync(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetAnalysisFunctionsProgressAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisStringsValidateBeforeCall(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ okhttp3.Call localVarCall = v3GetAnalysisFunctionsProgressValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
- * Build call for v3GetAnalysisStringsStatus
+ * Build call for v3GetAnalysisLogs
* @param analysisId Analysis ID (required)
* @param _callback Callback for upload/download progress
* @return Call to execute
@@ -4508,7 +4456,7 @@ public okhttp3.Call v3GetAnalysisStringsAsync(@javax.annotation.Nonnull Long ana
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisStringsStatusCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3GetAnalysisLogsCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -4525,7 +4473,7 @@ public okhttp3.Call v3GetAnalysisStringsStatusCall(@javax.annotation.Nonnull Lon
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v3/analyses/{analysis_id}/functions/strings/status"
+ String localVarPath = "/v3/analyses/{analysis_id}/logs"
.replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
List localVarQueryParams = new ArrayList();
@@ -4554,21 +4502,21 @@ public okhttp3.Call v3GetAnalysisStringsStatusCall(@javax.annotation.Nonnull Lon
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call v3GetAnalysisStringsStatusValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call v3GetAnalysisLogsValidateBeforeCall(@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 v3GetAnalysisStringsStatus(Async)");
+ throw new ApiException("Missing the required parameter 'analysisId' when calling v3GetAnalysisLogs(Async)");
}
- return v3GetAnalysisStringsStatusCall(analysisId, _callback);
+ return v3GetAnalysisLogsCall(analysisId, _callback);
}
/**
- * Get the string-extraction status for an analysis.
- * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get the Analysis log
+ * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
* @param analysisId Analysis ID (required)
- * @return GetAnalysisStringsStatusOutputBody
+ * @return GetAnalysisLogsOutputBody
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -4581,14 +4529,499 @@ private okhttp3.Call v3GetAnalysisStringsStatusValidateBeforeCall(@javax.annotat
| 500 | Internal Server Error | - |
*/
- public GetAnalysisStringsStatusOutputBody v3GetAnalysisStringsStatus(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- ApiResponse localVarResp = v3GetAnalysisStringsStatusWithHttpInfo(analysisId);
+ public GetAnalysisLogsOutputBody v3GetAnalysisLogs(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetAnalysisLogsWithHttpInfo(analysisId);
return localVarResp.getData();
}
/**
- * Get the string-extraction status for an analysis.
- * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * Get the Analysis log
+ * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **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<GetAnalysisLogsOutputBody>
+ * @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 v3GetAnalysisLogsWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetAnalysisLogsValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get the Analysis log (asynchronously)
+ * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **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 v3GetAnalysisLogsAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetAnalysisLogsValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetAnalysisOperation
+ * @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 v3GetAnalysisOperationCall(@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/analyses/{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 v3GetAnalysisOperationValidateBeforeCall(@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 v3GetAnalysisOperation(Async)");
+ }
+
+ return v3GetAnalysisOperationCall(analysisId, _callback);
+
+ }
+
+ /**
+ * Get an Analysis-creation operation
+ * Polls the status of an Analysis-creation operation. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @return OperationCreateMetadataCreateResult
+ * @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 OperationCreateMetadataCreateResult v3GetAnalysisOperation(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetAnalysisOperationWithHttpInfo(analysisId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get an Analysis-creation operation
+ * Polls the status of an Analysis-creation operation. **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<OperationCreateMetadataCreateResult>
+ * @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 v3GetAnalysisOperationWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetAnalysisOperationValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get an Analysis-creation operation (asynchronously)
+ * Polls the status of an Analysis-creation operation. **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 v3GetAnalysisOperationAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetAnalysisOperationValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetAnalysisStrings
+ * @param analysisId Analysis ID (required)
+ * @param page Page number (1-indexed). (optional, default to 1)
+ * @param pageSize Number of results per page. (optional, default to 100)
+ * @param search Filter by string value (case-insensitive substring match). (optional)
+ * @param searchOperator How the search term matches string values. (optional, default to CONTAINS)
+ * @param functionSearch Filter by function name (case-insensitive substring match). (optional)
+ * @param orderBy Field to order results by. (optional, default to value)
+ * @param sortOrder Sort direction. (optional, default to ASC)
+ * @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 v3GetAnalysisStringsCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder, 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}/functions/strings"
+ .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();
+
+ if (page != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("page", page));
+ }
+
+ if (pageSize != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("page_size", pageSize));
+ }
+
+ if (search != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("search", search));
+ }
+
+ if (searchOperator != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("search_operator", searchOperator));
+ }
+
+ if (functionSearch != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("function_search", functionSearch));
+ }
+
+ if (orderBy != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("order_by", orderBy));
+ }
+
+ if (sortOrder != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort_order", sortOrder));
+ }
+
+ 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 v3GetAnalysisStringsValidateBeforeCall(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder, 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 v3GetAnalysisStrings(Async)");
+ }
+
+ return v3GetAnalysisStringsCall(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, _callback);
+
+ }
+
+ /**
+ * List strings for an analysis.
+ * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param page Page number (1-indexed). (optional, default to 1)
+ * @param pageSize Number of results per page. (optional, default to 100)
+ * @param search Filter by string value (case-insensitive substring match). (optional)
+ * @param searchOperator How the search term matches string values. (optional, default to CONTAINS)
+ * @param functionSearch Filter by function name (case-insensitive substring match). (optional)
+ * @param orderBy Field to order results by. (optional, default to value)
+ * @param sortOrder Sort direction. (optional, default to ASC)
+ * @return ListAnalysisStringsOutputBody
+ * @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 ListAnalysisStringsOutputBody v3GetAnalysisStrings(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder) throws ApiException {
+ ApiResponse localVarResp = v3GetAnalysisStringsWithHttpInfo(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder);
+ return localVarResp.getData();
+ }
+
+ /**
+ * List strings for an analysis.
+ * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param page Page number (1-indexed). (optional, default to 1)
+ * @param pageSize Number of results per page. (optional, default to 100)
+ * @param search Filter by string value (case-insensitive substring match). (optional)
+ * @param searchOperator How the search term matches string values. (optional, default to CONTAINS)
+ * @param functionSearch Filter by function name (case-insensitive substring match). (optional)
+ * @param orderBy Field to order results by. (optional, default to value)
+ * @param sortOrder Sort direction. (optional, default to ASC)
+ * @return ApiResponse<ListAnalysisStringsOutputBody>
+ * @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 v3GetAnalysisStringsWithHttpInfo(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder) throws ApiException {
+ okhttp3.Call localVarCall = v3GetAnalysisStringsValidateBeforeCall(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * List strings for an analysis. (asynchronously)
+ * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @param page Page number (1-indexed). (optional, default to 1)
+ * @param pageSize Number of results per page. (optional, default to 100)
+ * @param search Filter by string value (case-insensitive substring match). (optional)
+ * @param searchOperator How the search term matches string values. (optional, default to CONTAINS)
+ * @param functionSearch Filter by function name (case-insensitive substring match). (optional)
+ * @param orderBy Field to order results by. (optional, default to value)
+ * @param sortOrder Sort direction. (optional, default to ASC)
+ * @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 v3GetAnalysisStringsAsync(@javax.annotation.Nonnull Long analysisId, @javax.annotation.Nullable Long page, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String searchOperator, @javax.annotation.Nullable String functionSearch, @javax.annotation.Nullable String orderBy, @javax.annotation.Nullable String sortOrder, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetAnalysisStringsValidateBeforeCall(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetAnalysisStringsStatus
+ * @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 v3GetAnalysisStringsStatusCall(@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}/functions/strings/status"
+ .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 v3GetAnalysisStringsStatusValidateBeforeCall(@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 v3GetAnalysisStringsStatus(Async)");
+ }
+
+ return v3GetAnalysisStringsStatusCall(analysisId, _callback);
+
+ }
+
+ /**
+ * Get the string-extraction status for an analysis.
+ * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param analysisId Analysis ID (required)
+ * @return GetAnalysisStringsStatusOutputBody
+ * @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 GetAnalysisStringsStatusOutputBody v3GetAnalysisStringsStatus(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ ApiResponse localVarResp = v3GetAnalysisStringsStatusWithHttpInfo(analysisId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get the string-extraction status for an analysis.
+ * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **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<GetAnalysisStringsStatusOutputBody>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -4597,22 +5030,659 @@ public GetAnalysisStringsStatusOutputBody v3GetAnalysisStringsStatus(@javax.anno
Response Details
| Status Code | Description | Response Headers |
| 200 | OK | - |
- | 403 | Forbidden | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3GetAnalysisStringsStatusWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetAnalysisStringsStatusValidateBeforeCall(analysisId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get the string-extraction status for an analysis. (asynchronously)
+ * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **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 v3GetAnalysisStringsStatusAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetAnalysisStringsStatusValidateBeforeCall(analysisId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3GetBinaryExportOperation
+ * @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
+ * @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 v3GetBinaryExportOperationCall(@javax.annotation.Nonnull String taskId, 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/binary-export/{task_id}"
+ .replace("{" + "task_id" + "}", localVarApiClient.escapeString(taskId.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 v3GetBinaryExportOperationValidateBeforeCall(@javax.annotation.Nonnull String taskId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'taskId' is set
+ if (taskId == null) {
+ throw new ApiException("Missing the required parameter 'taskId' when calling v3GetBinaryExportOperation(Async)");
+ }
+
+ return v3GetBinaryExportOperationCall(taskId, _callback);
+
+ }
+
+ /**
+ * Get a binary export operation
+ * Returns the current state of the export started for this task ID. `done` is the only readiness signal: while false, poll again; once true, exactly one of `response` or `error` is set. A task ID the platform no longer recognises -- whether it never existed or its history has expired -- resolves to a failed operation, since either way the caller must export again. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param taskId Task ID returned by queueing the export (required)
+ * @return OperationBinaryExportMetadataBinaryExportResult
+ * @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 OperationBinaryExportMetadataBinaryExportResult v3GetBinaryExportOperation(@javax.annotation.Nonnull String taskId) throws ApiException {
+ ApiResponse localVarResp = v3GetBinaryExportOperationWithHttpInfo(taskId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get a binary export operation
+ * Returns the current state of the export started for this task ID. `done` is the only readiness signal: while false, poll again; once true, exactly one of `response` or `error` is set. A task ID the platform no longer recognises -- whether it never existed or its history has expired -- resolves to a failed operation, since either way the caller must export again. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @param taskId Task ID returned by queueing the export (required)
+ * @return ApiResponse<OperationBinaryExportMetadataBinaryExportResult>
+ * @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 v3GetBinaryExportOperationWithHttpInfo(@javax.annotation.Nonnull String taskId) throws ApiException {
+ okhttp3.Call localVarCall = v3GetBinaryExportOperationValidateBeforeCall(taskId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get a binary export operation (asynchronously)
+ * Returns the current state of the export started for this task ID. `done` is the only readiness signal: while false, poll again; once true, exactly one of `response` or `error` is set. A task ID the platform no longer recognises -- whether it never existed or its history has expired -- resolves to a failed operation, since either way the caller must export again. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
+ * @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
+ * @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 v3GetBinaryExportOperationAsync(@javax.annotation.Nonnull String taskId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3GetBinaryExportOperationValidateBeforeCall(taskId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ 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)
+ * @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 | - |
+ | 400 | Bad Request | - |
+ | 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 {
+ 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";
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ if (searchTerm != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("search_term", searchTerm));
+ }
+
+ if (analysisScope != null) {
+ localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "analysis_scope", analysisScope));
+ }
+
+ if (status != null) {
+ localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "status", status));
+ }
+
+ if (modelName != null) {
+ localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "model_name", modelName));
+ }
+
+ if (usernames != null) {
+ localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "usernames", usernames));
+ }
+
+ if (sha256Hash != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("sha256_hash", sha256Hash));
+ }
+
+ if (binaryId != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("binary_id", binaryId));
+ }
+
+ if (platform != null) {
+ localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "platform", platform));
+ }
+
+ if (architecture != null) {
+ localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "architecture", architecture));
+ }
+
+ if (pageSize != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("page_size", pageSize));
+ }
+
+ if (nextPageToken != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("next_page_token", nextPageToken));
+ }
+
+ if (orderBy != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("order_by", orderBy));
+ }
+
+ if (order != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("order", order));
+ }
+
+ 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 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);
+
+ }
+
+ /**
+ * 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
+ * @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 | - |
+ | 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();
+ }
+
+ /**
+ * 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>
+ * @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 | - |
+ | 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);
+ }
+
+ /**
+ * 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)
+ * @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 | - |
+ | 400 | Bad Request | - |
+ | 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 {
+
+ 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);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3ListExampleAnalyses
+ * @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 v3ListExampleAnalysesCall(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/examples";
+
+ 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 v3ListExampleAnalysesValidateBeforeCall(final ApiCallback _callback) throws ApiException {
+ return v3ListExampleAnalysesCall(_callback);
+
+ }
+
+ /**
+ * List example analyses
+ * Returns the curated example Analyses.
+ * @return ListExampleAnalysesOutputBody
+ * @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 ListExampleAnalysesOutputBody v3ListExampleAnalyses() throws ApiException {
+ ApiResponse localVarResp = v3ListExampleAnalysesWithHttpInfo();
+ return localVarResp.getData();
+ }
+
+ /**
+ * List example analyses
+ * Returns the curated example Analyses.
+ * @return ApiResponse<ListExampleAnalysesOutputBody>
+ * @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 v3ListExampleAnalysesWithHttpInfo() throws ApiException {
+ okhttp3.Call localVarCall = v3ListExampleAnalysesValidateBeforeCall(null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * List example analyses (asynchronously)
+ * Returns the curated example Analyses.
+ * @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 v3ListExampleAnalysesAsync(final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = v3ListExampleAnalysesValidateBeforeCall(_callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for v3LookupAnalysisByBinaryId
+ * @param binaryId Binary 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 | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public okhttp3.Call v3LookupAnalysisByBinaryIdCall(@javax.annotation.Nonnull Long binaryId, 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/lookup/{binary_id}"
+ .replace("{" + "binary_id" + "}", localVarApiClient.escapeString(binaryId.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 v3LookupAnalysisByBinaryIdValidateBeforeCall(@javax.annotation.Nonnull Long binaryId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'binaryId' is set
+ if (binaryId == null) {
+ throw new ApiException("Missing the required parameter 'binaryId' when calling v3LookupAnalysisByBinaryId(Async)");
+ }
+
+ return v3LookupAnalysisByBinaryIdCall(binaryId, _callback);
+
+ }
+
+ /**
+ * 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
+ * @param binaryId Binary ID (required)
+ * @return LookupAnalysisByBinaryIDOutputBody
+ * @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 | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public ApiResponse v3GetAnalysisStringsStatusWithHttpInfo(@javax.annotation.Nonnull Long analysisId) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisStringsStatusValidateBeforeCall(analysisId, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ public LookupAnalysisByBinaryIDOutputBody v3LookupAnalysisByBinaryId(@javax.annotation.Nonnull Long binaryId) throws ApiException {
+ ApiResponse localVarResp = v3LookupAnalysisByBinaryIdWithHttpInfo(binaryId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * 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
+ * @param binaryId Binary ID (required)
+ * @return ApiResponse<LookupAnalysisByBinaryIDOutputBody>
+ * @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 | - |
+ | 404 | Not Found | - |
+ | 422 | Unprocessable Entity | - |
+ | 500 | Internal Server Error | - |
+
+ */
+ public ApiResponse v3LookupAnalysisByBinaryIdWithHttpInfo(@javax.annotation.Nonnull Long binaryId) throws ApiException {
+ okhttp3.Call localVarCall = v3LookupAnalysisByBinaryIdValidateBeforeCall(binaryId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * Get the string-extraction status for an analysis. (asynchronously)
- * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied
- * @param analysisId Analysis ID (required)
+ * Look up the most recent analysis for a binary. (asynchronously)
+ * 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
+ * @param binaryId Binary 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
@@ -4621,33 +5691,21 @@ public ApiResponse v3GetAnalysisStringsStatu
Response Details
| Status Code | Description | Response Headers |
| 200 | OK | - |
- | 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
*/
- public okhttp3.Call v3GetAnalysisStringsStatusAsync(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call v3LookupAnalysisByBinaryIdAsync(@javax.annotation.Nonnull Long binaryId, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = v3GetAnalysisStringsStatusValidateBeforeCall(analysisId, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ okhttp3.Call localVarCall = v3LookupAnalysisByBinaryIdValidateBeforeCall(binaryId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
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 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 v3QueueBinaryExport
+ * @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
@@ -4655,13 +5713,14 @@ public okhttp3.Call v3GetAnalysisStringsStatusAsync(@javax.annotation.Nonnull Lo
Response Details
| Status Code | Description | Response Headers |
- | 200 | OK | - |
- | 400 | Bad Request | - |
+ | 202 | Accepted | - |
+ | 403 | Forbidden | - |
+ | 404 | Not Found | - |
| 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 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 v3QueueBinaryExportCall(@javax.annotation.Nonnull Long analysisId, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -4678,7 +5737,8 @@ public okhttp3.Call v3ListAnalysesCall(@javax.annotation.Nullable String searchT
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v3/analyses";
+ String localVarPath = "/v3/analyses/{analysis_id}/binary-export"
+ .replace("{" + "analysis_id" + "}", localVarApiClient.escapeString(analysisId.toString()));
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
@@ -4686,54 +5746,6 @@ 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 (analysisScope != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "analysis_scope", analysisScope));
- }
-
- if (status != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "status", status));
- }
-
- if (modelName != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "model_name", modelName));
- }
-
- if (usernames != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "usernames", usernames));
- }
-
- if (sha256Hash != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("sha256_hash", sha256Hash));
- }
-
- if (platform != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "platform", platform));
- }
-
- if (architecture != null) {
- localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "architecture", architecture));
- }
-
- if (pageSize != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("page_size", pageSize));
- }
-
- if (nextPageToken != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("next_page_token", nextPageToken));
- }
-
- if (orderBy != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("order_by", orderBy));
- }
-
- if (order != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("order", order));
- }
-
final String[] localVarAccepts = {
"application/json"
};
@@ -4750,95 +5762,69 @@ public okhttp3.Call v3ListAnalysesCall(@javax.annotation.Nullable String searchT
}
String[] localVarAuthNames = new String[] { "APIKey", "bearerAuth" };
- return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@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 List