This section of the user guide describes how you can programmatically interact with the MetaDefender Software Supply Chain REST API. Below are some common tasks that can be done using the available REST APIs:
- Authenticate to obtain a JSON Web Token(JWT)
- Start or stop a process(scan)
- Add / remove service units
About this REST API
The exposed endpoint is located by default at http(s)://mdssc-server/api/ (for example, the authentication endpoint is available at http(s)://mdssc-server/api/user/authenticate). All requests are handled by the NGINX web server before being proxied to the backend API Gateway service.
All endpoints perform authentication and authorization checks. For these checks to succeed, a valid token should be presented in the Authorization header in the form of Bearer
Please note that all issued tokens have a timestamp and signature associated in order to prevent long-term usage without re - authentication. The lifespan of the token is currently set to 60 minutes, meaning you will have to request a new token before it expires in order to avoid error responses.
Useful links
Audit
Audit Management
List audit events
| Start | string | pattern:  | |
| Count | string | pattern:  | |
| LogType | string | Enum:  | |
| CategoryType | string | Enum:  | |
| LogLevel | string | Enum:  | |
| SearchText | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/audit' \ --header 'Authorization: Bearer {token}' \ --data Start={Start} \ --data Count={Count} \ --data LogType={LogType} \ --data CategoryType={CategoryType} \ --data LogLevel={LogLevel} \ --data SearchText={SearchText}Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| Entries | array[object] | Because it belongs to a response, if RetrieveLogs breaks, we won't have Entries and TotalCount. | |
| Id | string | ||
| Level | string | Enum:  | |
| Properties | object | ||
| LogType | string | Enum:  | |
| Category | string | Enum:  | |
| EventTimestamp | date-time | ||
| UserId | string | ||
| UserName | string | ||
| RenderedMessage | string | ||
| TotalCount | int64 | 
Bad Request
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "Entries": [  {   "Id": "{string}",   "Level": "{string}",   "Properties": {    "LogType": "{string}",    "Category": "{string}",    "EventTimestamp": "{date-time}",    "UserId": "{string}",    "UserName": "{string}"   },   "RenderedMessage": "{string}"  } ], "TotalCount": "{int64}"}Export
Export scan results
Export a CycloneDX report for repository
| repoId | string | 
| Reference | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/cyclonedx/%7BrepoId%7D' \ --header 'Authorization: Bearer {token}' \ --data Reference={Reference}Success
| file | file | 
Bad Request
Not Found
xxxxxxxxxx{ "schema": "{file}"}Export a PDF report for all scans
| ProductAddress | string | ||
| Type | array | Enum:  | |
| TimeFrame | string | Enum:  | |
| Vulnerabilities | array | Enum:  | |
| LicenseRisks | array | ||
| Status | array | Enum:  | |
| TriggerEvent | array | ||
| Workflow | string | ||
| Connection | string | ||
| Secrets | boolean | ||
| Threats | boolean | ||
| Search | string | ||
| ConnectionType | string | Enum:  | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/pdf/all-scans' \ --header 'Authorization: Bearer {token}' \ --data ProductAddress={ProductAddress} \ --data Type={Type} \ --data TimeFrame={TimeFrame} \ --data Vulnerabilities={Vulnerabilities} \ --data LicenseRisks={LicenseRisks} \ --data Status={Status} \ --data TriggerEvent={TriggerEvent} \ --data Workflow={Workflow} \ --data Connection={Connection} \ --data Secrets={Secrets} \ --data Threats={Threats} \ --data Search={Search} \ --data ConnectionType={ConnectionType}Success
| file | file | 
Bad Request
Not Found
xxxxxxxxxx{ "schema": "{file}"}Export a PDF Overview report for repository
| scanId | string | 
| ProductAddress | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/pdf/overview/%7BscanId%7D' \ --header 'Authorization: Bearer {token}' \ --data ProductAddress={ProductAddress}Success
| file | file | 
Bad Request
Not Found
xxxxxxxxxx{ "schema": "{file}"}Export a PDF SBOM report for repository
| scanId | string | 
| ProductAddress | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/pdf/sbom/%7BscanId%7D' \ --header 'Authorization: Bearer {token}' \ --data ProductAddress={ProductAddress}Success
| file | file | 
Bad Request
Not Found
xxxxxxxxxx{ "schema": "{file}"}External Logger
Manage your External Loggers
Get all configured External Loggers
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/externallogger' \ --header 'Authorization: Bearer {token}'Success
| No response body | 
xxxxxxxxxxNo responseAdd a new External Logger
| object | object | ||
| ConnectionSettings | object | ||
| ServerAddress | string | ||
| Port | int32 | ||
| Facility | string | Enum:  | |
| Format | string | Enum:  | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/externallogger' \ --header 'Authorization: Bearer {token}' \ --data '{  "ConnectionSettings": {    "ServerAddress": "{string}",    "Port": "{int32}",    "Facility": "{string}",    "Format": "{string}"  }}'Success
| No response body | 
xxxxxxxxxxNo responseUpdate an existing External Logger
| id | string | 
| object | object | ||
| ConnectionSettings | object | ||
| ServerAddress | string | ||
| Port | int32 | ||
| Facility | string | Enum:  | |
| Format | string | Enum:  | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/externallogger/%7Bid%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "ConnectionSettings": {    "ServerAddress": "{string}",    "Port": "{int32}",    "Facility": "{string}",    "Format": "{string}"  }}'Success
| No response body | 
xxxxxxxxxxNo responseDelete an External Logger
| id | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/externallogger/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| No response body | 
xxxxxxxxxxNo responseGlobal Label Keys
Global label keys management
Returns all global label keys
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/global-label-keys' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| GlobalKeys | array[object] | ||
| Id | string | ||
| Name | string | ||
| Description | string | ||
| ValueType | string | ||
| Options | array[string] | ||
| Created | date-time | ||
| Updated | date-time | ||
| TenantId | string | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "GlobalKeys": [  {   "Id": "{string}",   "Name": "{string}",   "Description": "{string}",   "ValueType": "{string}",   "Options": [    "{array[string]...}"   ],   "Created": "{date-time}",   "Updated": "{date-time}",   "TenantId": "{string}",   "CreatedAt": "{date-time}",   "LastUpdated": "{date-time}"  } ]}Adds a new global label key
| object | object | ||
| Name | string | ||
| Description | string | ||
| ValueType | string | ||
| Options | array[string] | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/global-label-keys' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "Description": "{string}",  "ValueType": "{string}",  "Options": [    "{array[string]...}"  ]}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| GlobalKey | object | ||
| Id | string | ||
| Name | string | ||
| Description | string | ||
| ValueType | string | ||
| Options | array[string] | ||
| Created | date-time | ||
| Updated | date-time | ||
| TenantId | string | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "GlobalKey": {  "Id": "{string}",  "Name": "{string}",  "Description": "{string}",  "ValueType": "{string}",  "Options": [   "{array[string]...}"  ],  "Created": "{date-time}",  "Updated": "{date-time}",  "TenantId": "{string}",  "CreatedAt": "{date-time}",  "LastUpdated": "{date-time}" }}Updates an existing global label key
| id | string | 
| object | object | ||
| Name | string | ||
| Description | string | ||
| ValueType | string | ||
| Options | array[string] | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/global-label-keys/%7Bid%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "Description": "{string}",  "ValueType": "{string}",  "Options": [    "{array[string]...}"  ]}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| GlobalKey | object | ||
| Id | string | ||
| Name | string | ||
| Description | string | ||
| ValueType | string | ||
| Options | array[string] | ||
| Created | date-time | ||
| Updated | date-time | ||
| TenantId | string | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "GlobalKey": {  "Id": "{string}",  "Name": "{string}",  "Description": "{string}",  "ValueType": "{string}",  "Options": [   "{array[string]...}"  ],  "Created": "{date-time}",  "Updated": "{date-time}",  "TenantId": "{string}",  "CreatedAt": "{date-time}",  "LastUpdated": "{date-time}" }}Deletes a global label key
| id | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/global-label-keys/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Packages
Package management
Retrieves a list of packages based on search criteria
| Name | string | ||
| Ecosystem | string | ||
| Version | string | ||
| Vulnerabilities | array | ||
| LicenseRisks | array | ||
| Connection | string | ||
| Repository | string | ||
| Reference | string | ||
| ScanId | string | ||
| StepSha256 | string | ||
| Search | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages' \ --header 'Authorization: Bearer {token}' \ --data Name={Name} \ --data Ecosystem={Ecosystem} \ --data Version={Version} \ --data Vulnerabilities={Vulnerabilities} \ --data LicenseRisks={LicenseRisks} \ --data Connection={Connection} \ --data Repository={Repository} \ --data Reference={Reference} \ --data ScanId={ScanId} \ --data StepSha256={StepSha256} \ --data Search={Search}Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Packages | array[object] | ||
| Id | string | ||
| Name | string | ||
| Version | string | ||
| Ecosystem | string | ||
| Archive | boolean | ||
| Executable | boolean | ||
| Uid | string | ||
| Licenses | object | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Repositories | array[object] | ||
| Connection | string | ||
| Repository | string | ||
| RepositoryId | string | ||
| Reference | string | ||
| Scanned | date-time | ||
| ScanIds | array[string] | ||
| StepSha256s | array[string] | ||
| Hashes | array[object] | ||
| Sha256 | string | ||
| FileName | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| FixedVersions | array[string] | ||
| Severity | string | Enum:  | |
| Source | string | ||
| Cwes | array[string] | ||
| Dependencies | array[object] | ||
| Ecosystem | string | ||
| Group | string | ||
| PackageName | string | ||
| PackageVersion | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| Severity | string | ||
| Source | string | ||
| FixedVersions | array[string] | ||
| Cwes | array[string] | ||
| Type | string | ||
| VulnerabilityCounts | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| SupplierName | string | ||
| ReleaseDate | date-time | ||
| Labels | array[object] | ||
| Key | string | ||
| Value | string | ||
| ValueType | string | ||
| Created | date-time | ||
| Updated | date-time | ||
| Latest | object | ||
| Version | string | ||
| ReleaseDate | string | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Packages": [...]}Retrieves all versions of a specific package by its name and ecosystem
| ecosystem | string | ||
| packageName | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/versions' \ --header 'Authorization: Bearer {token}' \ --data ecosystem={ecosystem} \ --data packageName={packageName}Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| PackageName | string | ||
| Ecosystem | string | ||
| Versions | array[object] | ||
| Version | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| FixedVersions | array[string] | ||
| Severity | string | Enum:  | |
| Source | string | ||
| Cwes | array[string] | ||
| SupplierName | string | ||
| ReleaseDate | date-time | ||
| Dependencies | array[object] | ||
| Ecosystem | string | ||
| Group | string | ||
| PackageName | string | ||
| PackageVersion | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| Severity | string | ||
| Source | string | ||
| FixedVersions | array[string] | ||
| Cwes | array[string] | ||
| Type | string | ||
| VulnerabilityCounts | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| Licenses | object | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "PackageName": "{string}", "Ecosystem": "{string}", "Versions": [  {   "Version": "{string}",   "Vulnerabilities": [    {     "Id": "{string}",     "FixedVersions": [      "{array[string]...}"     ],     "Severity": "{string}",     "Source": "{string}",     "Cwes": [      "{array[string]...}"     ]    }   ],   "SupplierName": "{string}",   "ReleaseDate": "{date-time}",   "Dependencies": [    {     "Ecosystem": "{string}",     "Group": "{string}",     "PackageName": "{string}",     "PackageVersion": "{string}",     "Vulnerabilities": [      {       "Id": "{string}",       "Severity": "{string}",       "Source": "{string}",       "FixedVersions": [        "{array[string]...}"       ],       "Cwes": [        "{array[string]...}"       ],       "Type": "{string}"      }     ],     "VulnerabilityCounts": {      "Critical": "{int32}",      "High": "{int32}",      "Medium": "{int32}",      "Low": "{int32}",      "Unknown": "{int32}"     }    }   ],   "Licenses": {    "Allowed": [     {      "Id": "{string}",      "Url": "{string}",      "Category": "{string}",      "UsageRestriction": {       "Permissions": [        "{array[string]...}"       ],       "Conditions": [        "{array[string]...}"       ],       "Limitations": [        "{array[string]...}"       ]      }     }    ],    "Blocked": [     {      "Id": "{string}",      "Url": "{string}",      "Category": "{string}",      "UsageRestriction": {       "Permissions": [        "{array[string]...}"       ],       "Conditions": [        "{array[string]...}"       ],       "Limitations": [        "{array[string]...}"       ]      }     }    ]   }  } ]}Retrieves a package by its unique identifier
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Package | object | ||
| Id | string | ||
| Name | string | ||
| Version | string | ||
| Ecosystem | string | ||
| Archive | boolean | ||
| Executable | boolean | ||
| Uid | string | ||
| Licenses | object | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Repositories | array[object] | ||
| Connection | string | ||
| Repository | string | ||
| RepositoryId | string | ||
| Reference | string | ||
| Scanned | date-time | ||
| ScanIds | array[string] | ||
| StepSha256s | array[string] | ||
| Hashes | array[object] | ||
| Sha256 | string | ||
| FileName | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| FixedVersions | array[string] | ||
| Severity | string | Enum:  | |
| Source | string | ||
| Cwes | array[string] | ||
| Dependencies | array[object] | ||
| Ecosystem | string | ||
| Group | string | ||
| PackageName | string | ||
| PackageVersion | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| Severity | string | ||
| Source | string | ||
| FixedVersions | array[string] | ||
| Cwes | array[string] | ||
| Type | string | ||
| VulnerabilityCounts | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| SupplierName | string | ||
| ReleaseDate | date-time | ||
| Labels | array[object] | ||
| Key | string | ||
| Value | string | ||
| ValueType | string | ||
| Created | date-time | ||
| Updated | date-time | ||
| Latest | object | ||
| Version | string | ||
| ReleaseDate | string | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Package": {...}}Retrieves CVEs associated with a specific package
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/cves' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Cves | array[object] | ||
| Id | string | ||
| FixedVersions | array[string] | ||
| Severity | string | Enum:  | |
| Source | string | ||
| Cwes | array[string] | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Cves": [  {   "Id": "{string}",   "FixedVersions": [    "{array[string]...}"   ],   "Severity": "{string}",   "Source": "{string}",   "Cwes": [    "{array[string]...}"   ]  } ]}Retrieves all labels for a specific package
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/labels' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Labels | array[object] | ||
| Key | string | ||
| Value | string | ||
| ValueType | string | ||
| Created | date-time | ||
| Updated | date-time | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Labels": [  {   "Key": "{string}",   "Value": "{string}",   "ValueType": "{string}",   "Created": "{date-time}",   "Updated": "{date-time}"  } ]}Adds a label to a package
| id | string | 
| object | object | ||
| Key | string | ||
| Value | string | ||
| ValueType | string | ||
| Created | date-time | ||
| Updated | date-time | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/labels' \ --header 'Authorization: Bearer {token}' \ --data '{  "Key": "{string}",  "Value": "{string}",  "ValueType": "{string}",  "Created": "{date-time}",  "Updated": "{date-time}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Label | object | ||
| Key | string | ||
| Value | string | ||
| ValueType | string | ||
| Created | date-time | ||
| Updated | date-time | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Label": {  "Key": "{string}",  "Value": "{string}",  "ValueType": "{string}",  "Created": "{date-time}",  "Updated": "{date-time}" }}Updates an existing label in a package
| id | string | ||
| key | string | 
| object | object | ||
| value | string | ||
| valueType | string | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/labels/%7Bkey%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "value": "{string}",  "valueType": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Deletes a label from a package
| id | string | ||
| key | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/labels/%7Bkey%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Searches for packages by label key and optionally value
| key | string | ||
| value | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/search/labels' \ --header 'Authorization: Bearer {token}' \ --data key={key} \ --data value={value}Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Packages | array[object] | ||
| Id | string | ||
| Name | string | ||
| Version | string | ||
| Ecosystem | string | ||
| Archive | boolean | ||
| Executable | boolean | ||
| Uid | string | ||
| Licenses | object | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Repositories | array[object] | ||
| Connection | string | ||
| Repository | string | ||
| RepositoryId | string | ||
| Reference | string | ||
| Scanned | date-time | ||
| ScanIds | array[string] | ||
| StepSha256s | array[string] | ||
| Hashes | array[object] | ||
| Sha256 | string | ||
| FileName | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| FixedVersions | array[string] | ||
| Severity | string | Enum:  | |
| Source | string | ||
| Cwes | array[string] | ||
| Dependencies | array[object] | ||
| Ecosystem | string | ||
| Group | string | ||
| PackageName | string | ||
| PackageVersion | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| Severity | string | ||
| Source | string | ||
| FixedVersions | array[string] | ||
| Cwes | array[string] | ||
| Type | string | ||
| VulnerabilityCounts | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| SupplierName | string | ||
| ReleaseDate | date-time | ||
| Labels | array[object] | ||
| Key | string | ||
| Value | string | ||
| ValueType | string | ||
| Created | date-time | ||
| Updated | date-time | ||
| Latest | object | ||
| Version | string | ||
| ReleaseDate | string | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Packages": [...]}Projects
Manage projects
List Projects
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/projects' \ --header 'Authorization: Bearer {token}'Success
| array | array[object] | ||
| Id | string | ||
| Name | string | ||
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
xxxxxxxxxx[ {  "Id": "{string}",  "Name": "{string}",  "WorkflowIds": [   "{array[string]...}"  ],  "StorageIds": [   "{array[string]...}"  ] }]Create Project
| object | object | ||
| Name | string | maxLength: 50 minLength: 1 | |
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "WorkflowIds": [    "{array[string]...}"  ],  "StorageIds": [    "{array[string]...}"  ]}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Project | object | ||
| Id | string | ||
| Name | string | ||
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Project": {  "Id": "{string}",  "Name": "{string}",  "WorkflowIds": [   "{array[string]...}"  ],  "StorageIds": [   "{array[string]...}"  ] }}Get Project By Id
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Id | string | ||
| Name | string | ||
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
Not Found
xxxxxxxxxx{ "Id": "{string}", "Name": "{string}", "WorkflowIds": [  "{array[string]...}" ], "StorageIds": [  "{array[string]...}" ]}Update Project
| id | string | 
| object | object | ||
| Name | string | maxLength: 50 | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Project | object | ||
| Id | string | ||
| Name | string | ||
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Project": {  "Id": "{string}",  "Name": "{string}",  "WorkflowIds": [   "{array[string]...}"  ],  "StorageIds": [   "{array[string]...}"  ] }}Delete Project
| id | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Project | object | ||
| Id | string | ||
| Name | string | ||
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Project": {  "Id": "{string}",  "Name": "{string}",  "WorkflowIds": [   "{array[string]...}"  ],  "StorageIds": [   "{array[string]...}"  ] }}Attach workflows to project
| id | string | 
| object | object | ||
| Ids | array[string] | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D/workflows/attach' \ --header 'Authorization: Bearer {token}' \ --data '{  "Ids": [    "{array[string]...}"  ]}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Project | object | ||
| Id | string | ||
| Name | string | ||
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Project": {  "Id": "{string}",  "Name": "{string}",  "WorkflowIds": [   "{array[string]...}"  ],  "StorageIds": [   "{array[string]...}"  ] }}Detach workflows from project
| id | string | 
| object | object | ||
| Ids | array[string] | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D/workflows/detach' \ --header 'Authorization: Bearer {token}' \ --data '{  "Ids": [    "{array[string]...}"  ]}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Project | object | ||
| Id | string | ||
| Name | string | ||
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Project": {  "Id": "{string}",  "Name": "{string}",  "WorkflowIds": [   "{array[string]...}"  ],  "StorageIds": [   "{array[string]...}"  ] }}Attach storages to project
| id | string | 
| object | object | ||
| Ids | array[string] | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D/storages/attach' \ --header 'Authorization: Bearer {token}' \ --data '{  "Ids": [    "{array[string]...}"  ]}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Project | object | ||
| Id | string | ||
| Name | string | ||
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Project": {  "Id": "{string}",  "Name": "{string}",  "WorkflowIds": [   "{array[string]...}"  ],  "StorageIds": [   "{array[string]...}"  ] }}Detach storages from project
| id | string | 
| object | object | ||
| Ids | array[string] | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D/storages/detach' \ --header 'Authorization: Bearer {token}' \ --data '{  "Ids": [    "{array[string]...}"  ]}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Project | object | ||
| Id | string | ||
| Name | string | ||
| WorkflowIds | array[string] | ||
| StorageIds | array[string] | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Project": {  "Id": "{string}",  "Name": "{string}",  "WorkflowIds": [   "{array[string]...}"  ],  "StorageIds": [   "{array[string]...}"  ] }}Real Time
Manage real-time protection
Enable real-time protection for multiple repositories
| storageId | string | 
| object | object | ||
| Repositories | array[object] | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| Connection | string | ||
| WorkflowId | string | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/enable' \ --header 'Authorization: Bearer {token}' \ --data '{  "Repositories": [    {      "RepositoryId": "{string}",      "RepositoryName": "{string}"    }  ],  "Connection": "{string}",  "WorkflowId": "{string}"}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
Conflict
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Disable real-time protection for storage
| storageId | string | 
xxxxxxxxxxcurl --request PATCH \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/disable' \ --header 'Authorization: Bearer {token}'Success
| No response body | 
xxxxxxxxxxNo responseDisable real-time protection for repository
| storageId | string | ||
| repositoryId | string | 
xxxxxxxxxxcurl --request PATCH \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/%7BrepositoryId%7D/disable' \ --header 'Authorization: Bearer {token}'Success
| No response body | 
xxxxxxxxxxNo responseList storages with real-time protection enabled
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/realtime' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Storages | array[object] | ||
| Id | string | ||
| Name | string | ||
| StorageType | object | ||
| Name | string | ||
| CategoryType | string | Enum:  | |
| ProtocolType | string | Enum:  | |
| VendorType | string | Enum:  | |
| StorageStatus | object | ||
| Message | string | ||
| StatusType | string | Enum:  | 
xxxxxxxxxx{ "Storages": [  {   "Id": "{string}",   "Name": "{string}",   "StorageType": {    "Name": "{string}",    "CategoryType": "{string}",    "ProtocolType": "{string}",    "VendorType": "{string}"   },   "StorageStatus": {    "Message": "{string}",    "StatusType": "{string}"   }  } ]}List ongoing real-time scans for storage
| storageId | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| StorageId | string | ||
| RealTimeScans | array[object] | ||
| ScanId | string | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| ScanningState | string | Enum:  | |
| WorkflowId | string | ||
| ScanInformation | object | ||
| TotalFiles | int32 | ||
| Malware | int32 | ||
| Secret | int32 | ||
| BlockedFiles | int32 | ||
| VulnerabilityIssues | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| Licenses | object | ||
| BlockedLicensesCount | int32 | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Package | object | ||
| TotalPackages | int32 | ||
| VulnerablePackages | int32 | 
xxxxxxxxxx{ "StorageId": "{string}", "RealTimeScans": [  {   "ScanId": "{string}",   "RepositoryId": "{string}",   "RepositoryName": "{string}",   "ScanningState": "{string}",   "WorkflowId": "{string}"  } ], "ScanInformation": {  "TotalFiles": "{int32}",  "Malware": "{int32}",  "Secret": "{int32}",  "BlockedFiles": "{int32}",  "VulnerabilityIssues": {   "Critical": "{int32}",   "High": "{int32}",   "Medium": "{int32}",   "Low": "{int32}",   "Unknown": "{int32}"  },  "Licenses": {   "BlockedLicensesCount": "{int32}",   "Allowed": [    {     "Id": "{string}",     "Url": "{string}",     "Category": "{string}",     "UsageRestriction": {      "Permissions": [       "{array[string]...}"      ],      "Conditions": [       "{array[string]...}"      ],      "Limitations": [       "{array[string]...}"      ]     }    }   ],   "Blocked": [    {     "Id": "{string}",     "Url": "{string}",     "Category": "{string}",     "UsageRestriction": {      "Permissions": [       "{array[string]...}"      ],      "Conditions": [       "{array[string]...}"      ],      "Limitations": [       "{array[string]...}"      ]     }    }   ]  },  "Package": {   "TotalPackages": "{int32}",   "VulnerablePackages": "{int32}"  } }}Delete real-time scan data for storage
| storageId | string | 
| forceDelete | boolean | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D' \ --header 'Authorization: Bearer {token}' \ --data forceDelete={forceDelete}Success
| No response body | 
xxxxxxxxxxNo responseDelete real-time scan data for repository
| storageId | string | ||
| repositoryId | string | 
| forceDelete | boolean | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/%7BrepositoryId%7D' \ --header 'Authorization: Bearer {token}' \ --data forceDelete={forceDelete}Success
| No response body | 
xxxxxxxxxxNo responseScan Configurations
List, add, update and delete Scan Configurations
Get Scan Configuration by ID
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| Workflow | object | ||
| Id | string | ||
| ScanPoolId | string | ||
| Rules | array[string] | ||
| Type | string | Enum:  | |
| Name | string | ||
| ScanPool | object | ||
| Id | string | ||
| Name | string | ||
| ScanPoolType | string | Enum:  | |
| IsDefault | boolean | ||
| ScanInstances | array[object] | ||
| Id | string | ||
| ScanPoolId | string | ||
| Url | string | ||
| ApiKey | string | ||
| Timeout | object | ||
| Ticks | int64 | ||
| Days | int32 | ||
| Hours | int32 | ||
| Milliseconds | int32 | ||
| Microseconds | int32 | ||
| Nanoseconds | int32 | ||
| Minutes | int32 | ||
| Seconds | int32 | ||
| TotalDays | number | ||
| TotalHours | number | ||
| TotalMilliseconds | number | ||
| TotalMicroseconds | number | ||
| TotalNanoseconds | number | ||
| TotalMinutes | number | ||
| TotalSeconds | number | ||
| UserAgent | string | ||
| Filters | object | ||
| Id | string | ||
| MinimumSize | int64 | ||
| MaximumSize | int64 | ||
| MinimumDateTime | date-time | ||
| MaximumDateTime | date-time | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "Workflow": {  "Id": "{string}",  "ScanPoolId": "{string}",  "Rules": [   "{array[string]...}"  ],  "Type": "{string}",  "Name": "{string}",  "ScanPool": {   "Id": "{string}",   "Name": "{string}",   "ScanPoolType": "{string}",   "IsDefault": "{boolean}",   "ScanInstances": [    {     "Id": "{string}",     "ScanPoolId": "{string}",     "Url": "{string}",     "ApiKey": "{string}",     "Timeout": {      "Ticks": "{int64}",      "Days": "{int32}",      "Hours": "{int32}",      "Milliseconds": "{int32}",      "Microseconds": "{int32}",      "Nanoseconds": "{int32}",      "Minutes": "{int32}",      "Seconds": "{int32}",      "TotalDays": "{number}",      "TotalHours": "{number}",      "TotalMilliseconds": "{number}",      "TotalMicroseconds": "{number}",      "TotalNanoseconds": "{number}",      "TotalMinutes": "{number}",      "TotalSeconds": "{number}"     }    }   ]  },  "UserAgent": "{string}",  "Filters": {   "Id": "{string}",   "MinimumSize": "{int64}",   "MaximumSize": "{int64}",   "MinimumDateTime": "{date-time}",   "MaximumDateTime": "{date-time}"  } }}Update an existing Scan Configuration
| id | string | 
| object | object | ||
| Name | string | maxLength: 50 minLength: 3 | |
| ScanPoolId | string | ||
| Rules | array[string] | ||
| UserAgent | string | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations/%7Bid%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "ScanPoolId": "{string}",  "Rules": [    "{array[string]...}"  ],  "UserAgent": "{string}"}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Delete a Scan Configuration
| id | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Get all Scan Configurations by ScanPool ID
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations/scan-pools/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| Workflows | array[object] | Because it belongs to a response, if GetMultipleScanConfiguration breaks, we won't have ScanConfigurations. | |
| Id | string | ||
| ScanPoolId | string | ||
| Rules | array[string] | ||
| Type | string | Enum:  | |
| Name | string | ||
| ScanPool | object | ||
| Id | string | ||
| Name | string | ||
| ScanPoolType | string | Enum:  | |
| IsDefault | boolean | ||
| ScanInstances | array[object] | ||
| Id | string | ||
| ScanPoolId | string | ||
| Url | string | ||
| ApiKey | string | ||
| Timeout | object | ||
| Ticks | int64 | ||
| Days | int32 | ||
| Hours | int32 | ||
| Milliseconds | int32 | ||
| Microseconds | int32 | ||
| Nanoseconds | int32 | ||
| Minutes | int32 | ||
| Seconds | int32 | ||
| TotalDays | number | ||
| TotalHours | number | ||
| TotalMilliseconds | number | ||
| TotalMicroseconds | number | ||
| TotalNanoseconds | number | ||
| TotalMinutes | number | ||
| TotalSeconds | number | ||
| UserAgent | string | ||
| Filters | object | ||
| Id | string | ||
| MinimumSize | int64 | ||
| MaximumSize | int64 | ||
| MinimumDateTime | date-time | ||
| MaximumDateTime | date-time | 
Bad Request
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "Workflows": [  {   "Id": "{string}",   "ScanPoolId": "{string}",   "Rules": [    "{array[string]...}"   ],   "Type": "{string}",   "Name": "{string}",   "ScanPool": {    "Id": "{string}",    "Name": "{string}",    "ScanPoolType": "{string}",    "IsDefault": "{boolean}",    "ScanInstances": [     {      "Id": "{string}",      "ScanPoolId": "{string}",      "Url": "{string}",      "ApiKey": "{string}",      "Timeout": {       "Ticks": "{int64}",       "Days": "{int32}",       "Hours": "{int32}",       "Milliseconds": "{int32}",       "Microseconds": "{int32}",       "Nanoseconds": "{int32}",       "Minutes": "{int32}",       "Seconds": "{int32}",       "TotalDays": "{number}",       "TotalHours": "{number}",       "TotalMilliseconds": "{number}",       "TotalMicroseconds": "{number}",       "TotalNanoseconds": "{number}",       "TotalMinutes": "{number}",       "TotalSeconds": "{number}"      }     }    ]   },   "UserAgent": "{string}",   "Filters": {    "Id": "{string}",    "MinimumSize": "{int64}",    "MaximumSize": "{int64}",    "MinimumDateTime": "{date-time}",    "MaximumDateTime": "{date-time}"   }  } ]}Get Scan Configurations
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| Workflows | array[object] | Because it belongs to a response, if GetMultipleScanConfiguration breaks, we won't have ScanConfigurations. | |
| Id | string | ||
| ScanPoolId | string | ||
| Rules | array[string] | ||
| Type | string | Enum:  | |
| Name | string | ||
| ScanPool | object | ||
| Id | string | ||
| Name | string | ||
| ScanPoolType | string | Enum:  | |
| IsDefault | boolean | ||
| ScanInstances | array[object] | ||
| Id | string | ||
| ScanPoolId | string | ||
| Url | string | ||
| ApiKey | string | ||
| Timeout | object | ||
| Ticks | int64 | ||
| Days | int32 | ||
| Hours | int32 | ||
| Milliseconds | int32 | ||
| Microseconds | int32 | ||
| Nanoseconds | int32 | ||
| Minutes | int32 | ||
| Seconds | int32 | ||
| TotalDays | number | ||
| TotalHours | number | ||
| TotalMilliseconds | number | ||
| TotalMicroseconds | number | ||
| TotalNanoseconds | number | ||
| TotalMinutes | number | ||
| TotalSeconds | number | ||
| UserAgent | string | ||
| Filters | object | ||
| Id | string | ||
| MinimumSize | int64 | ||
| MaximumSize | int64 | ||
| MinimumDateTime | date-time | ||
| MaximumDateTime | date-time | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "Workflows": [  {   "Id": "{string}",   "ScanPoolId": "{string}",   "Rules": [    "{array[string]...}"   ],   "Type": "{string}",   "Name": "{string}",   "ScanPool": {    "Id": "{string}",    "Name": "{string}",    "ScanPoolType": "{string}",    "IsDefault": "{boolean}",    "ScanInstances": [     {      "Id": "{string}",      "ScanPoolId": "{string}",      "Url": "{string}",      "ApiKey": "{string}",      "Timeout": {       "Ticks": "{int64}",       "Days": "{int32}",       "Hours": "{int32}",       "Milliseconds": "{int32}",       "Microseconds": "{int32}",       "Nanoseconds": "{int32}",       "Minutes": "{int32}",       "Seconds": "{int32}",       "TotalDays": "{number}",       "TotalHours": "{number}",       "TotalMilliseconds": "{number}",       "TotalMicroseconds": "{number}",       "TotalNanoseconds": "{number}",       "TotalMinutes": "{number}",       "TotalSeconds": "{number}"      }     }    ]   },   "UserAgent": "{string}",   "Filters": {    "Id": "{string}",    "MinimumSize": "{int64}",    "MaximumSize": "{int64}",    "MinimumDateTime": "{date-time}",    "MaximumDateTime": "{date-time}"   }  } ]}Add Scan Configurations
| object | object | ||
| Name | string | maxLength: 50 minLength: 3 | |
| ScanPoolId | string | ||
| Rules | array[string] | ||
| UserAgent | string | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "ScanPoolId": "{string}",  "Rules": [    "{array[string]...}"  ],  "UserAgent": "{string}"}'Success
| object | object | ||
| Id | string | ||
| ScanPoolId | string | ||
| Rules | array[string] | ||
| Type | string | Enum:  | |
| Name | string | ||
| ScanPool | object | ||
| Id | string | ||
| Name | string | ||
| ScanPoolType | string | Enum:  | |
| IsDefault | boolean | ||
| ScanInstances | array[object] | ||
| Id | string | ||
| ScanPoolId | string | ||
| Url | string | ||
| ApiKey | string | ||
| Timeout | object | ||
| Ticks | int64 | ||
| Days | int32 | ||
| Hours | int32 | ||
| Milliseconds | int32 | ||
| Microseconds | int32 | ||
| Nanoseconds | int32 | ||
| Minutes | int32 | ||
| Seconds | int32 | ||
| TotalDays | number | ||
| TotalHours | number | ||
| TotalMilliseconds | number | ||
| TotalMicroseconds | number | ||
| TotalNanoseconds | number | ||
| TotalMinutes | number | ||
| TotalSeconds | number | ||
| UserAgent | string | ||
| Filters | object | ||
| Id | string | ||
| MinimumSize | int64 | ||
| MaximumSize | int64 | ||
| MinimumDateTime | date-time | ||
| MaximumDateTime | date-time | 
Bad Request
Server Error
xxxxxxxxxx{ "Id": "{string}", "ScanPoolId": "{string}", "Rules": [  "{array[string]...}" ], "Type": "{string}", "Name": "{string}", "ScanPool": {  "Id": "{string}",  "Name": "{string}",  "ScanPoolType": "{string}",  "IsDefault": "{boolean}",  "ScanInstances": [   {    "Id": "{string}",    "ScanPoolId": "{string}",    "Url": "{string}",    "ApiKey": "{string}",    "Timeout": {     "Ticks": "{int64}",     "Days": "{int32}",     "Hours": "{int32}",     "Milliseconds": "{int32}",     "Microseconds": "{int32}",     "Nanoseconds": "{int32}",     "Minutes": "{int32}",     "Seconds": "{int32}",     "TotalDays": "{number}",     "TotalHours": "{number}",     "TotalMilliseconds": "{number}",     "TotalMicroseconds": "{number}",     "TotalNanoseconds": "{number}",     "TotalMinutes": "{number}",     "TotalSeconds": "{number}"    }   }  ] }, "UserAgent": "{string}", "Filters": {  "Id": "{string}",  "MinimumSize": "{int64}",  "MaximumSize": "{int64}",  "MinimumDateTime": "{date-time}",  "MaximumDateTime": "{date-time}" }}Scan Instances
Manage your scan instances
Add a new scan instance
| object | object | ||
| ScanPoolId | string | ||
| Url | string | ||
| ApiKey | string | ||
| Timeout | object | ||
| Ticks | int64 | ||
| ScanInstanceType | string | Enum:  | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scan-instances' \ --header 'Authorization: Bearer {token}' \ --data '{  "ScanPoolId": "{string}",  "Url": "{string}",  "ApiKey": "{string}",  "Timeout": {    "Ticks": "{int64}"  },  "ScanInstanceType": "{string}"}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| ScanInstanceId | string | Because it belongs to a response, if AddScanInstance breaks, we won't have ScanInstanceId. | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "ScanInstanceId": "{string}"}Get a scan instance by ID
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-instances/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| ScanInstance | object | ||
| Id | string | ||
| ScanPoolId | string | ||
| Url | string | ||
| ApiKey | string | ||
| Timeout | object | ||
| Ticks | int64 | ||
| Days | int32 | ||
| Hours | int32 | ||
| Milliseconds | int32 | ||
| Microseconds | int32 | ||
| Nanoseconds | int32 | ||
| Minutes | int32 | ||
| Seconds | int32 | ||
| TotalDays | number | ||
| TotalHours | number | ||
| TotalMilliseconds | number | ||
| TotalMicroseconds | number | ||
| TotalNanoseconds | number | ||
| TotalMinutes | number | ||
| TotalSeconds | number | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "ScanInstance": {  "Id": "{string}",  "ScanPoolId": "{string}",  "Url": "{string}",  "ApiKey": "{string}",  "Timeout": {   "Ticks": "{int64}",   "Days": "{int32}",   "Hours": "{int32}",   "Milliseconds": "{int32}",   "Microseconds": "{int32}",   "Nanoseconds": "{int32}",   "Minutes": "{int32}",   "Seconds": "{int32}",   "TotalDays": "{number}",   "TotalHours": "{number}",   "TotalMilliseconds": "{number}",   "TotalMicroseconds": "{number}",   "TotalNanoseconds": "{number}",   "TotalMinutes": "{number}",   "TotalSeconds": "{number}"  } }}Update a scan instance
| id | string | 
| object | object | ||
| Url | string | ||
| ApiKey | string | ||
| Timeout | object | ||
| Ticks | int64 | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/scan-instances/%7Bid%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "Url": "{string}",  "ApiKey": "{string}",  "Timeout": {    "Ticks": "{int64}"  }}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Delete scan instance
| id | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/scan-instances/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Scan Pools
Manage your scan pools
Get Scan Pools
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-pools' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| ScanPools | array[object] | ||
| Id | string | ||
| Name | string | ||
| ScanPoolType | string | Enum:  | |
| IsDefault | boolean | ||
| ScanInstances | array[object] | ||
| Id | string | ||
| ScanPoolId | string | ||
| Url | string | ||
| ApiKey | string | ||
| Timeout | object | ||
| Ticks | int64 | ||
| Days | int32 | ||
| Hours | int32 | ||
| Milliseconds | int32 | ||
| Microseconds | int32 | ||
| Nanoseconds | int32 | ||
| Minutes | int32 | ||
| Seconds | int32 | ||
| TotalDays | number | ||
| TotalHours | number | ||
| TotalMilliseconds | number | ||
| TotalMicroseconds | number | ||
| TotalNanoseconds | number | ||
| TotalMinutes | number | ||
| TotalSeconds | number | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "ScanPools": [  {   "Id": "{string}",   "Name": "{string}",   "ScanPoolType": "{string}",   "IsDefault": "{boolean}",   "ScanInstances": [    {     "Id": "{string}",     "ScanPoolId": "{string}",     "Url": "{string}",     "ApiKey": "{string}",     "Timeout": {      "Ticks": "{int64}",      "Days": "{int32}",      "Hours": "{int32}",      "Milliseconds": "{int32}",      "Microseconds": "{int32}",      "Nanoseconds": "{int32}",      "Minutes": "{int32}",      "Seconds": "{int32}",      "TotalDays": "{number}",      "TotalHours": "{number}",      "TotalMilliseconds": "{number}",      "TotalMicroseconds": "{number}",      "TotalNanoseconds": "{number}",      "TotalMinutes": "{number}",      "TotalSeconds": "{number}"     }    }   ]  } ]}Add a new Scan Pool
| object | object | ||
| Name | string | ||
| ScanPoolType | string | Enum:  | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scan-pools' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "ScanPoolType": "{string}"}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| ScanPoolId | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "ScanPoolId": "{string}"}Get Scan Pool by ID
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-pools/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| ScanPool | object | ||
| Id | string | ||
| Name | string | ||
| ScanPoolType | string | Enum:  | |
| IsDefault | boolean | ||
| ScanInstances | array[object] | ||
| Id | string | ||
| ScanPoolId | string | ||
| Url | string | ||
| ApiKey | string | ||
| Timeout | object | ||
| Ticks | int64 | ||
| Days | int32 | ||
| Hours | int32 | ||
| Milliseconds | int32 | ||
| Microseconds | int32 | ||
| Nanoseconds | int32 | ||
| Minutes | int32 | ||
| Seconds | int32 | ||
| TotalDays | number | ||
| TotalHours | number | ||
| TotalMilliseconds | number | ||
| TotalMicroseconds | number | ||
| TotalNanoseconds | number | ||
| TotalMinutes | number | ||
| TotalSeconds | number | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "ScanPool": {  "Id": "{string}",  "Name": "{string}",  "ScanPoolType": "{string}",  "IsDefault": "{boolean}",  "ScanInstances": [   {    "Id": "{string}",    "ScanPoolId": "{string}",    "Url": "{string}",    "ApiKey": "{string}",    "Timeout": {     "Ticks": "{int64}",     "Days": "{int32}",     "Hours": "{int32}",     "Milliseconds": "{int32}",     "Microseconds": "{int32}",     "Nanoseconds": "{int32}",     "Minutes": "{int32}",     "Seconds": "{int32}",     "TotalDays": "{number}",     "TotalHours": "{number}",     "TotalMilliseconds": "{number}",     "TotalMicroseconds": "{number}",     "TotalNanoseconds": "{number}",     "TotalMinutes": "{number}",     "TotalSeconds": "{number}"    }   }  ] }}Update an existing Scan Pool. It's type can't be changed, it is not supported yet.
| id | string | 
| object | object | ||
| Name | string | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/scan-pools/%7Bid%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}"}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Delete a Scan Pool
| id | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/scan-pools/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}rules
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-pools/%7Bid%7D/rules' \ --header 'Authorization: Bearer {token}'Success
| array | array[object] | ||
| name | string | ||
| user | array[string] | 
Bad Request
xxxxxxxxxx[ {  "name": "{string}",  "user_agents": [   "{array[string]...}"  ] }]Scans
Manage your scans
Enumerate scan results
| Type | array | Enum:  | |
| TimeFrame | string | Enum:  | |
| Vulnerabilities | array | Enum:  | |
| LicenseRisks | array | ||
| Status | array | Enum:  | |
| TriggerEvent | array | ||
| Workflow | string | ||
| Connection | string | ||
| Secrets | boolean | ||
| Threats | boolean | ||
| Search | string | ||
| ConnectionType | string | Enum:  | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans' \ --header 'Authorization: Bearer {token}' \ --data Type={Type} \ --data TimeFrame={TimeFrame} \ --data Vulnerabilities={Vulnerabilities} \ --data LicenseRisks={LicenseRisks} \ --data Status={Status} \ --data TriggerEvent={TriggerEvent} \ --data Workflow={Workflow} \ --data Connection={Connection} \ --data Secrets={Secrets} \ --data Threats={Threats} \ --data Search={Search} \ --data ConnectionType={ConnectionType}Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Add or start a scan
| object | object | ||
| StorageId | string | ||
| StorageName | string | ||
| ScanType | string | Enum:  | |
| WorkflowId | string | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| ProtocolType | string | Enum:  | |
| RepositoryReferences | array[string] | ||
| Organization | string | ||
| Connection | string | ||
| PackageType | string | ||
| RepositoryType | string | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scans' \ --header 'Authorization: Bearer {token}' \ --data '{  "StorageId": "{string}",  "StorageName": "{string}",  "ScanType": "{string}",  "WorkflowId": "{string}",  "RepositoryId": "{string}",  "RepositoryName": "{string}",  "ProtocolType": "{string}",  "RepositoryReferences": [    "{array[string]...}"  ],  "Organization": "{string}",  "Connection": "{string}",  "PackageType": "{string}",  "RepositoryType": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ScanIds | array[string] | ||
| ReferencesUsedForScanning | array[string] | ||
| ProtocolType | string | Enum:  | |
| RepositoryId | string | ||
| RepositoryName | string | ||
| ServiceId | string | ||
| StorageName | string | ||
| WorkflowId | string | ||
| WorkflowName | string | ||
| TriggerEvent | string | ||
| TriggerBy | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "ScanIds": [  "{array[string]...}" ], "ReferencesUsedForScanning": [  "{array[string]...}" ], "ProtocolType": "{string}", "RepositoryId": "{string}", "RepositoryName": "{string}", "ServiceId": "{string}", "StorageName": "{string}", "WorkflowId": "{string}", "WorkflowName": "{string}", "TriggerEvent": "{string}", "TriggerBy": "{string}"}Delete multiple scans by their scan IDs
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/scans' \ --header 'Authorization: Bearer {token}'Success
| No response body | 
Bad Request
Server Error
xxxxxxxxxxNo responseGet scan results by scan ID
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ServiceId | string | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| RepositoryType | string | ||
| ReferenceUsedForScanning | string | ||
| ScanId | string | ||
| ProtocolType | string | Enum:  | |
| Connection | string | ||
| PackageType | string | ||
| Organization | string | ||
| StartTime | date-time | ||
| StopTime | date-time | ||
| Duration | object | ||
| Ticks | int64 | ||
| Days | int32 | ||
| Hours | int32 | ||
| Milliseconds | int32 | ||
| Microseconds | int32 | ||
| Nanoseconds | int32 | ||
| Minutes | int32 | ||
| Seconds | int32 | ||
| TotalDays | number | ||
| TotalHours | number | ||
| TotalMilliseconds | number | ||
| TotalMicroseconds | number | ||
| TotalNanoseconds | number | ||
| TotalMinutes | number | ||
| TotalSeconds | number | ||
| VulnerabilityIssues | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| ScanStatus | string | Enum:  | |
| DiscoveryStatus | string | Enum:  | |
| Errors | array[string] | ||
| BlockedLicensesCount | int32 | ||
| InfectedFiles | int32 | ||
| FilesWithSecrets | int32 | 
Not Found
xxxxxxxxxx{ "ServiceId": "{string}", "RepositoryId": "{string}", "RepositoryName": "{string}", "RepositoryType": "{string}", "ReferenceUsedForScanning": "{string}", "ScanId": "{string}", "ProtocolType": "{string}", "Connection": "{string}", "PackageType": "{string}", "Organization": "{string}", "StartTime": "{date-time}", "StopTime": "{date-time}", "Duration": {  "Ticks": "{int64}",  "Days": "{int32}",  "Hours": "{int32}",  "Milliseconds": "{int32}",  "Microseconds": "{int32}",  "Nanoseconds": "{int32}",  "Minutes": "{int32}",  "Seconds": "{int32}",  "TotalDays": "{number}",  "TotalHours": "{number}",  "TotalMilliseconds": "{number}",  "TotalMicroseconds": "{number}",  "TotalNanoseconds": "{number}",  "TotalMinutes": "{number}",  "TotalSeconds": "{number}" }, "VulnerabilityIssues": {  "critical": "{int32}",  "high": "{int32}",  "medium": "{int32}",  "low": "{int32}",  "unknown": "{int32}" }, "ScanStatus": "{string}", "DiscoveryStatus": "{string}", "Errors": [  "{array[string]...}" ], "BlockedLicensesCount": "{int32}", "InfectedFiles": "{int32}", "FilesWithSecrets": "{int32}"}Stop a scan
| id | string | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scans/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| StatusCode | int32 | 
xxxxxxxxxx{ "StatusCode": "{int32}"}Enumerate all latest scan results
| Type | array | Enum:  | |
| TimeFrame | string | Enum:  | |
| Vulnerabilities | array | Enum:  | |
| LicenseRisks | array | ||
| Status | array | Enum:  | |
| TriggerEvent | array | ||
| Workflow | string | ||
| Connection | string | ||
| Secrets | boolean | ||
| Threats | boolean | ||
| Search | string | ||
| ConnectionType | string | Enum:  | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/latest' \ --header 'Authorization: Bearer {token}' \ --data Type={Type} \ --data TimeFrame={TimeFrame} \ --data Vulnerabilities={Vulnerabilities} \ --data LicenseRisks={LicenseRisks} \ --data Status={Status} \ --data TriggerEvent={TriggerEvent} \ --data Workflow={Workflow} \ --data Connection={Connection} \ --data Secrets={Secrets} \ --data Threats={Threats} \ --data Search={Search} \ --data ConnectionType={ConnectionType}Success
| array | array[object] | ||
| ScanId | string | ||
| Repository | object | ||
| ConnectionId | string | ||
| ConnectionName | string | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| RepositoryReference | string | ||
| RepositoryMetadata | string | ||
| ScanInformation | object | ||
| Malware | boolean | ||
| Secret | boolean | ||
| VulnerabilityIssues | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| Licenses | object | ||
| BlockedLicensesCount | int32 | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Workflow | object | ||
| WorkflowId | string | ||
| WorkflowName | string | ||
| WorkflowType | string | ||
| WorkflowIsDeleted | boolean | ||
| Remediations | array[object] | ||
| IsEnabled | boolean | ||
| Type | string | ||
| Package | object | ||
| TotalPackages | int32 | ||
| VulnerablePackages | int32 | ||
| ScannedOn | date-time | ||
| StopTime | date-time | ||
| TriggerEvent | string | ||
| Errors | array[string] | ||
| ScanStatus | object | ||
| ScanningState | string | ||
| UploadProgress | int32 | ||
| ScanProgress | int32 | 
Not Found
xxxxxxxxxx[ {  "ScanId": "{string}",  "Repository": {   "ConnectionId": "{string}",   "ConnectionName": "{string}",   "RepositoryId": "{string}",   "RepositoryName": "{string}",   "RepositoryReference": "{string}",   "RepositoryMetadata": "{string}"  },  "ScanInformation": {   "Malware": "{boolean}",   "Secret": "{boolean}",   "VulnerabilityIssues": {    "critical": "{int32}",    "high": "{int32}",    "medium": "{int32}",    "low": "{int32}",    "unknown": "{int32}"   },   "Licenses": {    "BlockedLicensesCount": "{int32}",    "Allowed": [     {      "Id": "{string}",      "Url": "{string}",      "Category": "{string}",      "UsageRestriction": {       "Permissions": [        "{array[string]...}"       ],       "Conditions": [        "{array[string]...}"       ],       "Limitations": [        "{array[string]...}"       ]      }     }    ],    "Blocked": [     {      "Id": "{string}",      "Url": "{string}",      "Category": "{string}",      "UsageRestriction": {       "Permissions": [        "{array[string]...}"       ],       "Conditions": [        "{array[string]...}"       ],       "Limitations": [        "{array[string]...}"       ]      }     }    ]   },   "Workflow": {    "WorkflowId": "{string}",    "WorkflowName": "{string}",    "WorkflowType": "{string}",    "WorkflowIsDeleted": "{boolean}",    "Remediations": [     {      "IsEnabled": "{boolean}",      "Type": "{string}"     }    ]   },   "Package": {    "TotalPackages": "{int32}",    "VulnerablePackages": "{int32}"   },   "ScannedOn": "{date-time}",   "StopTime": "{date-time}",   "TriggerEvent": "{string}",   "Errors": [    "{array[string]...}"   ]  },  "ScanStatus": {   "ScanningState": "{string}",   "UploadProgress": "{int32}",   "ScanProgress": "{int32}"  } }]Enumerate all latest scan results by service ID
| serviceId | string | 
| Type | array | Enum:  | |
| TimeFrame | string | Enum:  | |
| Vulnerabilities | array | Enum:  | |
| LicenseRisks | array | ||
| Status | array | Enum:  | |
| TriggerEvent | array | ||
| Workflow | string | ||
| Connection | string | ||
| Secrets | boolean | ||
| Threats | boolean | ||
| Search | string | ||
| ConnectionType | string | Enum:  | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BserviceId%7D/latest' \ --header 'Authorization: Bearer {token}' \ --data Type={Type} \ --data TimeFrame={TimeFrame} \ --data Vulnerabilities={Vulnerabilities} \ --data LicenseRisks={LicenseRisks} \ --data Status={Status} \ --data TriggerEvent={TriggerEvent} \ --data Workflow={Workflow} \ --data Connection={Connection} \ --data Secrets={Secrets} \ --data Threats={Threats} \ --data Search={Search} \ --data ConnectionType={ConnectionType}Success
| object | object | ||
| ScanId | string | ||
| Repository | object | ||
| ConnectionId | string | ||
| ConnectionName | string | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| RepositoryReference | string | ||
| RepositoryMetadata | string | ||
| ScanInformation | object | ||
| Malware | boolean | ||
| Secret | boolean | ||
| VulnerabilityIssues | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| Licenses | object | ||
| BlockedLicensesCount | int32 | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Workflow | object | ||
| WorkflowId | string | ||
| WorkflowName | string | ||
| WorkflowType | string | ||
| WorkflowIsDeleted | boolean | ||
| Remediations | array[object] | ||
| IsEnabled | boolean | ||
| Type | string | ||
| Package | object | ||
| TotalPackages | int32 | ||
| VulnerablePackages | int32 | ||
| ScannedOn | date-time | ||
| StopTime | date-time | ||
| TriggerEvent | string | ||
| Errors | array[string] | ||
| ScanStatus | object | ||
| ScanningState | string | ||
| UploadProgress | int32 | ||
| ScanProgress | int32 | 
xxxxxxxxxx{ "ScanId": "{string}", "Repository": {  "ConnectionId": "{string}",  "ConnectionName": "{string}",  "RepositoryId": "{string}",  "RepositoryName": "{string}",  "RepositoryReference": "{string}",  "RepositoryMetadata": "{string}" }, "ScanInformation": {  "Malware": "{boolean}",  "Secret": "{boolean}",  "VulnerabilityIssues": {   "critical": "{int32}",   "high": "{int32}",   "medium": "{int32}",   "low": "{int32}",   "unknown": "{int32}"  },  "Licenses": {   "BlockedLicensesCount": "{int32}",   "Allowed": [    {     "Id": "{string}",     "Url": "{string}",     "Category": "{string}",     "UsageRestriction": {      "Permissions": [       "{array[string]...}"      ],      "Conditions": [       "{array[string]...}"      ],      "Limitations": [       "{array[string]...}"      ]     }    }   ],   "Blocked": [    {     "Id": "{string}",     "Url": "{string}",     "Category": "{string}",     "UsageRestriction": {      "Permissions": [       "{array[string]...}"      ],      "Conditions": [       "{array[string]...}"      ],      "Limitations": [       "{array[string]...}"      ]     }    }   ]  },  "Workflow": {   "WorkflowId": "{string}",   "WorkflowName": "{string}",   "WorkflowType": "{string}",   "WorkflowIsDeleted": "{boolean}",   "Remediations": [    {     "IsEnabled": "{boolean}",     "Type": "{string}"    }   ]  },  "Package": {   "TotalPackages": "{int32}",   "VulnerablePackages": "{int32}"  },  "ScannedOn": "{date-time}",  "StopTime": "{date-time}",  "TriggerEvent": "{string}",  "Errors": [   "{array[string]...}"  ] }, "ScanStatus": {  "ScanningState": "{string}",  "UploadProgress": "{int32}",  "ScanProgress": "{int32}" }}Get scan overview by scan ID
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7Bid%7D/overview' \ --header 'Authorization: Bearer {token}'Success
| array | array[object] | ||
| ScanId | string | ||
| Repository | object | ||
| ConnectionId | string | ||
| ConnectionName | string | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| RepositoryReference | string | ||
| RepositoryMetadata | string | ||
| ScanInformation | object | ||
| Malware | boolean | ||
| Secret | boolean | ||
| VulnerabilityIssues | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| Licenses | object | ||
| BlockedLicensesCount | int32 | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Workflow | object | ||
| WorkflowId | string | ||
| WorkflowName | string | ||
| WorkflowType | string | ||
| WorkflowIsDeleted | boolean | ||
| Remediations | array[object] | ||
| IsEnabled | boolean | ||
| Type | string | ||
| Package | object | ||
| TotalPackages | int32 | ||
| VulnerablePackages | int32 | ||
| ScannedOn | date-time | ||
| StopTime | date-time | ||
| TriggerEvent | string | ||
| Errors | array[string] | ||
| ScanStatus | object | ||
| ScanningState | string | ||
| UploadProgress | int32 | ||
| ScanProgress | int32 | 
xxxxxxxxxx[ {  "ScanId": "{string}",  "Repository": {   "ConnectionId": "{string}",   "ConnectionName": "{string}",   "RepositoryId": "{string}",   "RepositoryName": "{string}",   "RepositoryReference": "{string}",   "RepositoryMetadata": "{string}"  },  "ScanInformation": {   "Malware": "{boolean}",   "Secret": "{boolean}",   "VulnerabilityIssues": {    "critical": "{int32}",    "high": "{int32}",    "medium": "{int32}",    "low": "{int32}",    "unknown": "{int32}"   },   "Licenses": {    "BlockedLicensesCount": "{int32}",    "Allowed": [     {      "Id": "{string}",      "Url": "{string}",      "Category": "{string}",      "UsageRestriction": {       "Permissions": [        "{array[string]...}"       ],       "Conditions": [        "{array[string]...}"       ],       "Limitations": [        "{array[string]...}"       ]      }     }    ],    "Blocked": [     {      "Id": "{string}",      "Url": "{string}",      "Category": "{string}",      "UsageRestriction": {       "Permissions": [        "{array[string]...}"       ],       "Conditions": [        "{array[string]...}"       ],       "Limitations": [        "{array[string]...}"       ]      }     }    ]   },   "Workflow": {    "WorkflowId": "{string}",    "WorkflowName": "{string}",    "WorkflowType": "{string}",    "WorkflowIsDeleted": "{boolean}",    "Remediations": [     {      "IsEnabled": "{boolean}",      "Type": "{string}"     }    ]   },   "Package": {    "TotalPackages": "{int32}",    "VulnerablePackages": "{int32}"   },   "ScannedOn": "{date-time}",   "StopTime": "{date-time}",   "TriggerEvent": "{string}",   "Errors": [    "{array[string]...}"   ]  },  "ScanStatus": {   "ScanningState": "{string}",   "UploadProgress": "{int32}",   "ScanProgress": "{int32}"  } }]Enumerate all scan results by repository ID
| serviceId | string | ||
| repositoryId | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BserviceId%7D/%7BrepositoryId%7D' \ --header 'Authorization: Bearer {token}'Success
| array | array[object] | ||
| ScanId | string | ||
| Repository | object | ||
| ConnectionId | string | ||
| ConnectionName | string | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| RepositoryReference | string | ||
| RepositoryMetadata | string | ||
| ScanInformation | object | ||
| Malware | boolean | ||
| Secret | boolean | ||
| VulnerabilityIssues | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| Licenses | object | ||
| BlockedLicensesCount | int32 | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Workflow | object | ||
| WorkflowId | string | ||
| WorkflowName | string | ||
| WorkflowType | string | ||
| WorkflowIsDeleted | boolean | ||
| Remediations | array[object] | ||
| IsEnabled | boolean | ||
| Type | string | ||
| Package | object | ||
| TotalPackages | int32 | ||
| VulnerablePackages | int32 | ||
| ScannedOn | date-time | ||
| StopTime | date-time | ||
| TriggerEvent | string | ||
| Errors | array[string] | ||
| ScanStatus | object | ||
| ScanningState | string | ||
| UploadProgress | int32 | ||
| ScanProgress | int32 | 
xxxxxxxxxx[ {  "ScanId": "{string}",  "Repository": {   "ConnectionId": "{string}",   "ConnectionName": "{string}",   "RepositoryId": "{string}",   "RepositoryName": "{string}",   "RepositoryReference": "{string}",   "RepositoryMetadata": "{string}"  },  "ScanInformation": {   "Malware": "{boolean}",   "Secret": "{boolean}",   "VulnerabilityIssues": {    "critical": "{int32}",    "high": "{int32}",    "medium": "{int32}",    "low": "{int32}",    "unknown": "{int32}"   },   "Licenses": {    "BlockedLicensesCount": "{int32}",    "Allowed": [     {      "Id": "{string}",      "Url": "{string}",      "Category": "{string}",      "UsageRestriction": {       "Permissions": [        "{array[string]...}"       ],       "Conditions": [        "{array[string]...}"       ],       "Limitations": [        "{array[string]...}"       ]      }     }    ],    "Blocked": [     {      "Id": "{string}",      "Url": "{string}",      "Category": "{string}",      "UsageRestriction": {       "Permissions": [        "{array[string]...}"       ],       "Conditions": [        "{array[string]...}"       ],       "Limitations": [        "{array[string]...}"       ]      }     }    ]   },   "Workflow": {    "WorkflowId": "{string}",    "WorkflowName": "{string}",    "WorkflowType": "{string}",    "WorkflowIsDeleted": "{boolean}",    "Remediations": [     {      "IsEnabled": "{boolean}",      "Type": "{string}"     }    ]   },   "Package": {    "TotalPackages": "{int32}",    "VulnerablePackages": "{int32}"   },   "ScannedOn": "{date-time}",   "StopTime": "{date-time}",   "TriggerEvent": "{string}",   "Errors": [    "{array[string]...}"   ]  },  "ScanStatus": {   "ScanningState": "{string}",   "UploadProgress": "{int32}",   "ScanProgress": "{int32}"  } }]Enumerate all scan schedules
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/schedules' \ --header 'Authorization: Bearer {token}'Success
| array | array[object] | ||
| Id | string | ||
| WorkflowId | string | ||
| StorageId | string | ||
| UserId | string | ||
| Name | string | ||
| Priority | string | Enum:  | |
| CreatedAt | date-time | ||
| LastUpdated | date-time | ||
| LastScanTime | date-time | ||
| NextScanTime | date-time | ||
| RecurrenceType | string | Enum:  | |
| StartDate | date-time | ||
| TimeToStart | date-time | ||
| EveryNumberOfHours | int32 | ||
| EveryNumberOfDays | int32 | ||
| EveryNumberOfWeeks | int32 | ||
| EveryNumberOfMonths | int32 | ||
| DaysOfWeek | array[string] | Enum:  | |
| DayOfMonth | int32 | 
xxxxxxxxxx[ {  "Id": "{string}",  "WorkflowId": "{string}",  "StorageId": "{string}",  "UserId": "{string}",  "Name": "{string}",  "Priority": "{string}",  "CreatedAt": "{date-time}",  "LastUpdated": "{date-time}",  "LastScanTime": "{date-time}",  "NextScanTime": "{date-time}",  "RecurrenceType": "{string}",  "StartDate": "{date-time}",  "TimeToStart": "{date-time}",  "EveryNumberOfHours": "{int32}",  "EveryNumberOfDays": "{int32}",  "EveryNumberOfWeeks": "{int32}",  "EveryNumberOfMonths": "{int32}",  "DaysOfWeek": [   "{array[string]...}"  ],  "DayOfMonth": "{int32}" }]Enumerate files by scan ID
| scanId | string | 
| page | integer | ||
| pageSize | integer | ||
| search | string | ||
| includeArchives | boolean | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BscanId%7D/files' \ --header 'Authorization: Bearer {token}' \ --data page={page} \ --data pageSize={pageSize} \ --data search={search} \ --data includeArchives={includeArchives}Success
| array | array[object] | ||
| Id | string | ||
| ScanId | string | ||
| StorageId | string | ||
| ScanWorkflowSnapshotId | string | ||
| MetaDefenderCoreUrl | string | ||
| Name | string | ||
| Path | string | ||
| Hash | string | ||
| ObjectStorageMetadata | string | ||
| Size | int64 | ||
| LastModified | date-time | ||
| StorageLocation | string | ||
| PathForDisplay | string | ||
| ObjectIdentityId | string | ||
| ObjectIdentityHash | string | ||
| ScanResultId | string | ||
| ProgressUpload | int32 | ||
| ProgressScan | int32 | ||
| ProcessingState | string | Enum:  | |
| ExceptionDetails | string | ||
| Created | date-time | ||
| DiscoveryStarted | date-time | ||
| DiscoveryStartedDaySec | int64 | ||
| StreamingStartedTime | date-time | ||
| StreamingCompletedTime | date-time | ||
| StreamingTimeSpanMs | int64 | ||
| ScanCompletedTime | date-time | ||
| ProcessingTimeSpanMs | int64 | ||
| ProcessingFailedTime | date-time | ||
| ProcessingRetryCount | int32 | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | ||
| TenantId | string | 
Not Found
xxxxxxxxxx[ {  "Id": "{string}",  "ScanId": "{string}",  "StorageId": "{string}",  "ScanWorkflowSnapshotId": "{string}",  "MetaDefenderCoreUrl": "{string}",  "Name": "{string}",  "Path": "{string}",  "Hash": "{string}",  "ObjectStorageMetadata": "{string}",  "Size": "{int64}",  "LastModified": "{date-time}",  "StorageLocation": "{string}",  "PathForDisplay": "{string}",  "ObjectIdentityId": "{string}",  "ObjectIdentityHash": "{string}",  "ScanResultId": "{string}",  "ProgressUpload": "{int32}",  "ProgressScan": "{int32}",  "ProcessingState": "{string}",  "ExceptionDetails": "{string}",  "Created": "{date-time}",  "DiscoveryStarted": "{date-time}",  "DiscoveryStartedDaySec": "{int64}",  "StreamingStartedTime": "{date-time}",  "StreamingCompletedTime": "{date-time}",  "StreamingTimeSpanMs": "{int64}",  "ScanCompletedTime": "{date-time}",  "ProcessingTimeSpanMs": "{int64}",  "ProcessingFailedTime": "{date-time}",  "ProcessingRetryCount": "{int32}",  "CreatedAt": "{date-time}",  "LastUpdated": "{date-time}",  "TenantId": "{string}" }]Get the core result of a file by its scan result ID
| scanResultId | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BscanResultId%7D/core-result' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| extracted | object | ||
| data | string | ||
| scan | int32 | ||
| detected | int32 | ||
| files | array[object] | ||
| display | string | ||
| data | string | ||
| file | string | ||
| file | string | ||
| scan | int32 | ||
| scan | int32 | ||
| detected | int32 | ||
| scanned | int32 | ||
| progress | int32 | ||
| file | int64 | ||
| process | object | ||
| post | object | ||
| actions | string | ||
| actions | string | ||
| converted | string | ||
| copy | string | ||
| converted | string | ||
| sanitization | object | ||
| failure | string | ||
| progress | int32 | ||
| user | string | ||
| profile | string | ||
| result | string | ||
| blocked | string | ||
| file | boolean | ||
| processing | number | ||
| queue | number | ||
| files | int32 | ||
| scan | object | ||
| scan | object | ||
| * | object | ||
| threat | string | ||
| scan | int32 | ||
| def | string | ||
| scan | number | ||
| wait | number | ||
| eng | string | ||
| data | string | ||
| scan | int32 | ||
| start | string | ||
| total | number | ||
| total | int32 | ||
| progress | int32 | ||
| scan | string | ||
| file | object | ||
| file | int64 | ||
| upload | string | ||
| md5 | string | ||
| sha1 | string | ||
| sha256 | string | ||
| file | string | ||
| file | string | ||
| file | string | ||
| file | string | ||
| file | string | ||
| display | string | ||
| original | string | ||
| process | object | ||
| post | object | ||
| actions | string | ||
| actions | string | ||
| converted | string | ||
| copy | string | ||
| converted | string | ||
| sanitization | object | ||
| failure | string | ||
| progress | int32 | ||
| user | string | ||
| profile | string | ||
| result | string | ||
| blocked | string | ||
| file | boolean | ||
| processing | number | ||
| queue | number | ||
| data | string | ||
| source | string | ||
| scanned | string | ||
| dlp | object | ||
| hits | integer | ||
| verdict | int64 | ||
| sbom | object | ||
| final | object | ||
| blocked | boolean | ||
| licensing | object | ||
| allowed | int32 | ||
| blocked | int32 | ||
| unknown | int32 | ||
| unsupported | int32 | ||
| severity | string | Enum:  | |
| total | int32 | ||
| verdict | string | ||
| verdict | array[string] | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| vulnerable | int32 | ||
| overview | object | ||
| is | boolean | ||
| os | object | ||
| os | string | ||
| os | string | ||
| scan | string | ||
| steps | array[object] | ||
| command | string | ||
| license | string | ||
| licensing | object | ||
| allowed | int32 | ||
| blocked | int32 | ||
| unknown | int32 | ||
| unsupported | int32 | ||
| packages | array[object] | ||
| authors | string | ||
| release | string | ||
| arch | string | ||
| ecosystem | string | ||
| group | string | ||
| archive | boolean | ||
| executable | boolean | ||
| uid | string | ||
| os | string | ||
| os | string | ||
| package | string | ||
| package | string | ||
| package | string | ||
| up | boolean | ||
| step | int32 | ||
| vulnerability | int32 | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| dependencies | int32 | ||
| dependencies | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| sha256 | string | ||
| severity | string | Enum:  | |
| package | int32 | ||
| vulnerable | int32 | ||
| vulnerable | int32 | ||
| packages | array[object] | ||
| authors | string | ||
| release | string | ||
| ecosystem | string | ||
| group | string | ||
| archive | boolean | ||
| executable | boolean | ||
| uid | string | ||
| licenses | object | ||
| allowed | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usage | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| blocked | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usage | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| package | string | ||
| package | string | ||
| target | string | ||
| latest | object | ||
| version | string | ||
| release | string | ||
| hashes | array[object] | ||
| sha256 | string | ||
| file | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| severity | string | Enum:  | |
| source | string | ||
| fixed | string | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| dependencies | array[object] | ||
| ecosystem | string | ||
| group | string | ||
| package | string | ||
| package | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| severity | string | Enum:  | |
| source | string | ||
| fixed | string | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| package | string | ||
| up | boolean | ||
| dependencies | int32 | ||
| dependencies | int32 | ||
| dependencies | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| vulnerability | int32 | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| has | boolean | ||
| package | int32 | ||
| timestamp | string | ||
| vulnerable | int32 | ||
| vulnerable | int32 | ||
| result | string | ||
| vulnerability | object | ||
| result | object | ||
| code | int64 | ||
| hash | string | ||
| method | int64 | ||
| timestamp | string | ||
| timing | int64 | ||
| detected | object | ||
| has | boolean | ||
| is | boolean | ||
| product | object | ||
| id | int64 | ||
| name | string | ||
| remediation | string | ||
| severity | string | ||
| sig | string | ||
| signature | int64 | ||
| vendor | object | ||
| id | int64 | ||
| name | string | ||
| version | string | ||
| version | object | ||
| count | int64 | ||
| feed | int64 | ||
| version | string | ||
| vulnerabilities | array[object] | ||
| description | string | ||
| details | object | ||
| cpe | string | ||
| cve | string | ||
| cvss | object | ||
| access | string | ||
| access | string | ||
| authentication | string | ||
| availability | string | ||
| confidentiality | string | ||
| generated | string | ||
| integrity | string | ||
| score | string | ||
| source | string | ||
| cvss | object | ||
| attack | string | ||
| attack | string | ||
| availability | string | ||
| base | string | ||
| base | string | ||
| confidentiality | string | ||
| exploitability | string | ||
| impact | string | ||
| integrity | string | ||
| privileges | string | ||
| scope | string | ||
| user | string | ||
| vector | string | ||
| cwe | string | ||
| last | string | ||
| published | string | ||
| references | array[string] | ||
| severity | string | ||
| severity | int32 | ||
| static | int64 | ||
| engine | object | ||
| * | array[object] | ||
| abandoned | boolean | ||
| active | boolean | ||
| def | string | ||
| download | int32 | ||
| download | date-time | ||
| eng | string | ||
| eng | string | ||
| eng | string | ||
| eng | string | ||
| engine | string | ||
| pinned | boolean | ||
| state | string | ||
| type | string | ||
| db | string | ||
| SessionCookie | string | ||
| IsFailed | boolean | 
xxxxxxxxxx{ "extracted_files": {...}, "scan_results": {...}, "file_info": {...}, "process_info": {...}, "data_id": "{string}", "source": "{string}", "scanned_on": "{string}", "dlp_info": {...}, "sbom_info": {...}, "vulnerability_info": {...}, "engine_stat": {}, "SessionCookie": "{string}", "IsFailed": "{boolean}"}Get the core results of files in an archive by their scan result ID
| scanResultId | string | 
| count | integer | ||
| offset | integer | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BscanResultId%7D/archive' \ --header 'Authorization: Bearer {token}' \ --data count={count} \ --data offset={offset}Success
| object | object | ||
| CoreScanResults | array[object] | ||
| ExtractedFiles | object | ||
| DataId | string | ||
| ScanResultI | int32 | ||
| DetectedBy | int32 | ||
| FilesInArchive | array[object] | ||
| DisplayName | string | ||
| DataId | string | ||
| FileType | string | ||
| FileTypeDescription | string | ||
| ScanResultI | int32 | ||
| ScanAllResultI | int32 | ||
| DetectedBy | int32 | ||
| ScannedWith | int32 | ||
| ProgressPercentage | int32 | ||
| FileSize | int64 | ||
| ProcessInfo | object | ||
| PostProcessing | object | ||
| ActionsRan | string | ||
| ActionsFailed | string | ||
| ConvertedTo | string | ||
| CopyMoveDestination | string | ||
| ConvertedDestination | string | ||
| SanitizationDetails | object | ||
| FailureCategory | string | ||
| ProgressPercentage | int32 | ||
| UserAgent | string | ||
| Profile | string | ||
| Result | string | ||
| BlockedReason | string | ||
| FileTypeSkippedScan | boolean | ||
| ProcessingTime | number | ||
| QueueTime | number | ||
| FilesExtractedCount | int32 | ||
| ScanResults | object | ||
| ScanDetails | object | ||
| * | object | ||
| ThreatFound | string | ||
| ScanResultI | int32 | ||
| DefTime | string | ||
| ScanTime | number | ||
| WaitTime | number | ||
| EngId | string | ||
| DataId | string | ||
| ScanAllResultI | int32 | ||
| StartTime | string | ||
| TotalTime | number | ||
| TotalAvs | int32 | ||
| ProgressPercentage | int32 | ||
| ScanAllResultA | string | ||
| FileInfo | object | ||
| FileSize | int64 | ||
| UploadTimestamp | string | ||
| Md5 | string | ||
| Sha1 | string | ||
| Sha256 | string | ||
| FileTypeCategory | string | ||
| FileTypeCategoryCloud | string | ||
| FileTypeDescription | string | ||
| FileTypeExtension | string | ||
| FileTypeExtensionCloud | string | ||
| DisplayName | string | ||
| OriginalFilePath | string | ||
| ProcessInfo | object | ||
| PostProcessing | object | ||
| ActionsRan | string | ||
| ActionsFailed | string | ||
| ConvertedTo | string | ||
| CopyMoveDestination | string | ||
| ConvertedDestination | string | ||
| SanitizationDetails | object | ||
| FailureCategory | string | ||
| ProgressPercentage | int32 | ||
| UserAgent | string | ||
| Profile | string | ||
| Result | string | ||
| BlockedReason | string | ||
| FileTypeSkippedScan | boolean | ||
| ProcessingTime | number | ||
| QueueTime | number | ||
| DataId | string | ||
| Source | string | ||
| ScannedOn | string | ||
| DlpInfo | object | ||
| Hits | object | ||
| DisplayName | string | ||
| Hits | array[object] | ||
| After | string | ||
| Before | string | ||
| Hit | string | ||
| Certainty | string | ||
| CertaintyScore | int64 | ||
| Severity | string | Enum:  | |
| Verdict | int64 | ||
| SbomInfo | object | ||
| FinalVerdict | object | ||
| Blocked | boolean | ||
| Severity | string | Enum:  | |
| Verdict | string | ||
| OverviewReport | object | ||
| Steps | array[object] | ||
| Command | string | ||
| Packages | array[object] | ||
| Authors | string | ||
| Arch | string | ||
| Ecosystem | string | ||
| Group | string | ||
| Archive | boolean | ||
| Executable | boolean | ||
| Uid | string | ||
| Licenses | object | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| OsName | string | ||
| Latest | object | ||
| Version | string | ||
| Hashes | array[object] | ||
| Sha256 | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| Source | string | ||
| Cwes | array[string] | ||
| Type | string | ||
| VulnerabilityCounts | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| Dependencies | array[object] | ||
| Ecosystem | string | ||
| Group | string | ||
| VulnerabilityCounts | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| UpToDate | boolean | ||
| Step | int32 | ||
| Sha256 | string | ||
| Severity | string | Enum:  | |
| Packages | array[object] | ||
| Authors | string | ||
| Ecosystem | string | ||
| Group | string | ||
| Archive | boolean | ||
| Executable | boolean | ||
| Uid | string | ||
| Licenses | object | ||
| Allowed | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Blocked | array[object] | ||
| Id | string | ||
| Url | string | ||
| Category | string | ||
| UsageRestriction | object | ||
| Permissions | array[string] | ||
| Conditions | array[string] | ||
| Limitations | array[string] | ||
| Target | string | ||
| Latest | object | ||
| Version | string | ||
| Hashes | array[object] | ||
| Sha256 | string | ||
| Vulnerabilities | array[object] | ||
| Id | string | ||
| Source | string | ||
| Cwes | array[string] | ||
| Type | string | ||
| VulnerabilityCounts | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| Dependencies | array[object] | ||
| Ecosystem | string | ||
| Group | string | ||
| VulnerabilityCounts | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| UpToDate | boolean | ||
| VulnerabilityCount | int32 | ||
| VulnerabilityCounts | object | ||
| Critical | int32 | ||
| High | int32 | ||
| Medium | int32 | ||
| Low | int32 | ||
| Unknown | int32 | ||
| HasPeInfo | boolean | ||
| Timestamp | string | ||
| VulnerabilityInfo | object | ||
| VulnerabilityInfoResult | object | ||
| Code | int64 | ||
| Hash | string | ||
| Method | int64 | ||
| TimeStamp | string | ||
| Timing | int64 | ||
| DetectedProduct | object | ||
| HasVulnerability | boolean | ||
| IsCurrent | boolean | ||
| Product | object | ||
| Id | int64 | ||
| Name | string | ||
| RemediationLink | string | ||
| Severity | string | ||
| SigName | string | ||
| Signature | int64 | ||
| Vendor | object | ||
| Id | int64 | ||
| Name | string | ||
| Version | string | ||
| VersionData | object | ||
| CountBehind | int64 | ||
| FeedId | int64 | ||
| Version | string | ||
| Vulnerabilities | array[object] | ||
| Description | string | ||
| Details | object | ||
| Cpe | string | ||
| Cve | string | ||
| Cvss | object | ||
| AccessComplexity | string | ||
| AccessVector | string | ||
| Authentication | string | ||
| AvailabilityImpact | string | ||
| ConfidentialityImpact | string | ||
| GeneratedOnEpoch | string | ||
| IntegrityImpact | string | ||
| Score | string | ||
| Source | string | ||
| Cvss3 | object | ||
| AttackComplexity | string | ||
| AttackVector | string | ||
| AvailabilityImpact | string | ||
| BaseScore | string | ||
| BaseSeverity | string | ||
| ConfidentialityImpact | string | ||
| ExploitabilityScore | string | ||
| ImpactScore | string | ||
| IntegrityImpact | string | ||
| PrivilegesRequired | string | ||
| Scope | string | ||
| UserInteraction | string | ||
| VectorString | string | ||
| Cwe | string | ||
| LastModifiedEpoch | string | ||
| PublishedEpoch | string | ||
| References | array[string] | ||
| Severity | string | ||
| SeverityIndex | int32 | ||
| StaticId | int64 | ||
| Engines | object | ||
| * | array[object] | ||
| Abandoned | boolean | ||
| Active | boolean | ||
| DefTime | string | ||
| DownloadProgress | int32 | ||
| EngId | string | ||
| EngName | string | ||
| EngType | string | ||
| EngineVersion | string | ||
| EngineType | string | ||
| Pinned | boolean | ||
| State | string | ||
| Type | string | ||
| DbVer | string | ||
| SessionCookie | string | ||
| IsFailed | boolean | ||
| HasMore | boolean | 
xxxxxxxxxx{ "CoreScanResults": [...], "HasMore": "{boolean}"}Get the SMTP configuration
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/smtp' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Smtp | object | ||
| Id | string | ||
| Host | string | ||
| Port | int32 | ||
| SenderAddress | string | ||
| SenderName | string | ||
| Domain | string | ||
| BaseUrl | string | ||
| UserName | string | ||
| Password | string | ||
| SecureSocketOption | string | Enum:  | |
| IgnoreCertWarnings | boolean | ||
| IsEnabled | boolean | ||
| TenantId | string | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Smtp": {  "Id": "{string}",  "Host": "{string}",  "Port": "{int32}",  "SenderAddress": "{string}",  "SenderName": "{string}",  "Domain": "{string}",  "BaseUrl": "{string}",  "UserName": "{string}",  "Password": "{string}",  "SecureSocketOption": "{string}",  "IgnoreCertWarnings": "{boolean}",  "IsEnabled": "{boolean}",  "TenantId": "{string}",  "CreatedAt": "{date-time}",  "LastUpdated": "{date-time}" }}Update the SMTP configuration
| object | object | ||
| Host | string | ||
| BaseUrl | string | ||
| Port | int32 | ||
| SenderAddress | string | ||
| SenderName | string | ||
| Domain | string | ||
| Username | string | ||
| Password | string | ||
| SecureSocketOption | string | Enum:  | |
| IgnoreCertWarnings | boolean | ||
| IsEnabled | boolean | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/smtp' \ --header 'Authorization: Bearer {token}' \ --data '{  "Host": "{string}",  "BaseUrl": "{string}",  "Port": "{int32}",  "SenderAddress": "{string}",  "SenderName": "{string}",  "Domain": "{string}",  "Username": "{string}",  "Password": "{string}",  "SecureSocketOption": "{string}",  "IgnoreCertWarnings": "{boolean}",  "IsEnabled": "{boolean}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Get All Jira Configurations
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/jira' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| JiraEntries | array[object] | ||
| Id | string | ||
| Name | string | ||
| ApiKey | string | ||
| BaseAddress | string | ||
| ProductAddress | string | ||
| Username | string | ||
| TenantId | string | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "JiraEntries": [  {   "Id": "{string}",   "Name": "{string}",   "ApiKey": "{string}",   "BaseAddress": "{string}",   "ProductAddress": "{string}",   "Username": "{string}",   "TenantId": "{string}",   "CreatedAt": "{date-time}",   "LastUpdated": "{date-time}"  } ]}Add Jira Configuration
| object | object | ||
| Name | string | ||
| ApiKey | string | ||
| BaseAddress | string | ||
| ProductAddress | string | ||
| Username | string | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/jira' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "ApiKey": "{string}",  "BaseAddress": "{string}",  "ProductAddress": "{string}",  "Username": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Get Jira Configuration by ID
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/jira/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Jira | object | ||
| Id | string | ||
| Name | string | ||
| ApiKey | string | ||
| BaseAddress | string | ||
| ProductAddress | string | ||
| Username | string | ||
| TenantId | string | ||
| CreatedAt | date-time | ||
| LastUpdated | date-time | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Jira": {  "Id": "{string}",  "Name": "{string}",  "ApiKey": "{string}",  "BaseAddress": "{string}",  "ProductAddress": "{string}",  "Username": "{string}",  "TenantId": "{string}",  "CreatedAt": "{date-time}",  "LastUpdated": "{date-time}" }}Update Jira Configuration by ID
| id | string | 
| object | object | ||
| Name | string | ||
| ApiKey | string | ||
| BaseAddress | string | ||
| ProductAddress | string | ||
| Username | string | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/jira/%7Bid%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "ApiKey": "{string}",  "BaseAddress": "{string}",  "ProductAddress": "{string}",  "Username": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Delete Jira Configuration by ID
| id | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/jira/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| JiraId | string | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "JiraId": "{string}"}Get Jira Projects by Connection ID
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/jira/%7Bid%7D/projects' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Projects | array[object] | ||
| Id | string | ||
| Name | string | 
Not Found
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Projects": [  {   "Id": "{string}",   "Name": "{string}"  } ]}Get users
| Type | string | Enum:  | |
| StartIndex | integer | ||
| Count | integer | ||
| SearchTerm | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/users' \ --header 'Authorization: Bearer {token}' \ --data Type={Type} \ --data StartIndex={StartIndex} \ --data Count={Count} \ --data SearchTerm={SearchTerm}Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| EnumerateUsersDto | object | ||
| Entries | array[object] | ||
| UserId | string | ||
| Username | string | ||
| FullName | string | ||
| string | |||
| Role | string | Enum:  | |
| ShowTutorial | boolean | ||
| TotalCount | int64 | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "EnumerateUsersDto": {  "Entries": [   {    "UserId": "{string}",    "Username": "{string}",    "FullName": "{string}",    "Email": "{string}",    "Role": "{string}",    "ShowTutorial": "{boolean}"   }  ],  "TotalCount": "{int64}" }}Update a user
| object | object | ||
| UserId | string | ||
| Role | string | Enum:  | |
| UserName | string | ||
| FullName | string | ||
| string | |||
| CurrentPassword | string | ||
| NewPassword | string | ||
| ShowTutorial | boolean | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/users' \ --header 'Authorization: Bearer {token}' \ --data '{  "UserId": "{string}",  "Role": "{string}",  "UserName": "{string}",  "FullName": "{string}",  "Email": "{string}",  "CurrentPassword": "{string}",  "NewPassword": "{string}",  "ShowTutorial": "{boolean}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Add a new user
| object | object | ||
| FullName | string | ||
| UserName | string | ||
| Password | string | ||
| string | |||
| Role | string | Enum:  | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/users' \ --header 'Authorization: Bearer {token}' \ --data '{  "FullName": "{string}",  "UserName": "{string}",  "Password": "{string}",  "Email": "{string}",  "Role": "{string}"}'Success
| object | object | ||
| CreateUserParameters | object | ||
| FullName | string | ||
| UserName | string | ||
| Password | string | ||
| string | |||
| Role | string | Enum:  | |
| CurrentUserId | string | 
Bad Request
xxxxxxxxxx{ "CreateUserParameters": {  "FullName": "{string}",  "UserName": "{string}",  "Password": "{string}",  "Email": "{string}",  "Role": "{string}" }, "CurrentUserId": "{string}"}Get current user
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/user' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| UserDto | object | ||
| UserId | string | ||
| Username | string | ||
| FullName | string | ||
| string | |||
| Role | string | Enum:  | |
| ShowTutorial | boolean | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "UserDto": {  "UserId": "{string}",  "Username": "{string}",  "FullName": "{string}",  "Email": "{string}",  "Role": "{string}",  "ShowTutorial": "{boolean}" }}Delete a user
| userId | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/users/%7BuserId%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Login user
| object | object | ||
| Username | string | ||
| Password | string | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/user/login' \ --header 'Authorization: Bearer {token}' \ --data '{  "Username": "{string}",  "Password": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| JwtToken | object | ||
| Token | string | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "JwtToken": {  "Token": "{string}" }}It will remove all tokens of this user
| userId | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/user/login/%7BuserId%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Get new Access Token
| object | object | ||
| AccessToken | string | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/user/token' \ --header 'Authorization: Bearer {token}' \ --data '{  "AccessToken": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| JwtToken | object | ||
| Token | string | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "JwtToken": {  "Token": "{string}" }}Request password reset
| object | object | ||
| EmailInput | string | minLength: 1 | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/user/password/request-reset' \ --header 'Authorization: Bearer {token}' \ --data '{  "EmailInput": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Reset user password
| object | object | ||
| NewPassword | string | minLength: 12 | |
| NewPasswordConfirmation | string | minLength: 12 | |
| SecureToken | string | ||
| UserId | string | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/user/password/new-password' \ --header 'Authorization: Bearer {token}' \ --data '{  "NewPassword": "{string}",  "NewPasswordConfirmation": "{string}",  "SecureToken": "{string}",  "UserId": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| User | object | ||
| UserId | string | ||
| Username | string | ||
| FullName | string | ||
| string | |||
| Role | string | Enum:  | |
| ShowTutorial | boolean | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "User": {  "UserId": "{string}",  "Username": "{string}",  "FullName": "{string}",  "Email": "{string}",  "Role": "{string}",  "ShowTutorial": "{boolean}" }}Version
Manage versions
Get application version
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/version' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| Version | string | ||
| LastSupportedConfigVersion | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "Version": "{string}", "LastSupportedConfigVersion": "{string}"}Webhook
Manage your scans
Handle No-Auth Scan Event
Handles a scan event triggered by a webhook. Requires a custom header and a body.
| routeParameter | string | 
| No request body | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/webhook/hmac/%7BrouteParameter%7D' \ --header 'X-Hub-Signature: {X-Hub-Signature}'Success
| No response body | 
Bad Request
Server Error
xxxxxxxxxxNo responseHandle Scan Event
Handles a scan event triggered by a webhook. Requires a custom body.
| routeParameter | string | 
| No request body | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/webhook/%7BrouteParameter%7D' \ --header 'API Key: {API Key}'Success
| No response body | 
Bad Request
Server Error
xxxxxxxxxxNo responseList all workflows
| includeDeleted | boolean | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/workflows' \ --header 'Authorization: Bearer {token}' \ --data includeDeleted={includeDeleted}Success
| array | array[object] | ||
| Id | string | ||
| Name | string | ||
| Description | string | ||
| UserId | string | ||
| ScanConfigurationId | string | ||
| Deleted | boolean | ||
| Type | string | Enum:  | |
| RecurrencePattern | object | ||
| Type | string | Enum:  | |
| HourlyRecurrence | object | ||
| EveryNumberOfHours | int32 | ||
| DailyRecurrence | object | ||
| EveryNumberOfDays | int32 | ||
| WeeklyRecurrence | object | ||
| DaysOfWeek | array[string] | Enum:  | |
| EveryNumberOfWeeks | int32 | ||
| MonthlyRecurrence | object | ||
| EveryNumberOfMonths | int32 | ||
| DayOfMonth | int32 | ||
| ScanSources | array[object] | ||
| ServiceId | string | ||
| ServiceName | string | ||
| Repositories | array[object] | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| Type | string | ||
| Connection | string | ||
| PackageType | string | ||
| Organization | string | ||
| Registry | string | ||
| ReferencesToScan | array[string] | ||
| Remediations | array[object] | ||
| IsEnabled | boolean | ||
| Type | string | ||
| FileDiscoveryFilterConfiguration | object | ||
| IsEnabled | boolean | ||
| DaysBeforeRescan | int32 | ||
| FilterStrategy | string | Enum:  | 
xxxxxxxxxx[ {  "Id": "{string}",  "Name": "{string}",  "Description": "{string}",  "UserId": "{string}",  "ScanConfigurationId": "{string}",  "Deleted": "{boolean}",  "Type": "{string}",  "RecurrencePattern": {   "Type": "{string}",   "HourlyRecurrence": {    "EveryNumberOfHours": "{int32}"   },   "DailyRecurrence": {    "EveryNumberOfDays": "{int32}"   },   "WeeklyRecurrence": {    "DaysOfWeek": [     "{array[string]...}"    ],    "EveryNumberOfWeeks": "{int32}"   },   "MonthlyRecurrence": {    "EveryNumberOfMonths": "{int32}",    "DayOfMonth": "{int32}"   }  },  "ScanSources": [   {    "ServiceId": "{string}",    "ServiceName": "{string}",    "Repositories": [     {      "RepositoryId": "{string}",      "RepositoryName": "{string}",      "Type": "{string}",      "Connection": "{string}",      "PackageType": "{string}",      "Organization": "{string}",      "Registry": "{string}",      "ReferencesToScan": [       "{array[string]...}"      ]     }    ]   }  ],  "Remediations": [   {    "IsEnabled": "{boolean}",    "Type": "{string}"   }  ],  "FileDiscoveryFilterConfiguration": {   "IsEnabled": "{boolean}",   "DaysBeforeRescan": "{int32}",   "FilterStrategy": "{string}"  } }]Create a workflow
| object | object | ||
| Name | string | ||
| Description | string | ||
| ScanConfigurationId | string | ||
| Type | string | Enum:  | |
| RecurrencePattern | object | ||
| Type | string | Enum:  | |
| HourlyRecurrence | object | ||
| EveryNumberOfHours | int32 | ||
| DailyRecurrence | object | ||
| EveryNumberOfDays | int32 | ||
| WeeklyRecurrence | object | ||
| DaysOfWeek | array[string] | Enum:  | |
| EveryNumberOfWeeks | int32 | ||
| MonthlyRecurrence | object | ||
| EveryNumberOfMonths | int32 | ||
| DayOfMonth | int32 | ||
| ScanSources | array[object] | ||
| ServiceId | string | ||
| ServiceName | string | ||
| Repositories | array[object] | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| Type | string | ||
| Connection | string | ||
| PackageType | string | ||
| Organization | string | ||
| Registry | string | ||
| ReferencesToScan | array[string] | ||
| Remediations | array[object] | ||
| IsEnabled | boolean | ||
| Type | string | ||
| FileDiscoveryFilterConfiguration | object | ||
| IsEnabled | boolean | ||
| DaysBeforeRescan | int32 | ||
| FilterStrategy | string | Enum:  | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/workflows' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "Description": "{string}",  "ScanConfigurationId": "{string}",  "Type": "{string}",  "RecurrencePattern": {    "Type": "{string}",    "HourlyRecurrence": {      "EveryNumberOfHours": "{int32}"    },    "DailyRecurrence": {      "EveryNumberOfDays": "{int32}"    },    "WeeklyRecurrence": {      "DaysOfWeek": [        "{array[string]...}"      ],      "EveryNumberOfWeeks": "{int32}"    },    "MonthlyRecurrence": {      "EveryNumberOfMonths": "{int32}",      "DayOfMonth": "{int32}"    }  },  "ScanSources": [    {      "ServiceId": "{string}",      "ServiceName": "{string}",      "Repositories": [        {          "RepositoryId": "{string}",          "RepositoryName": "{string}",          "Type": "{string}",          "Connection": "{string}",          "PackageType": "{string}",          "Organization": "{string}",          "Registry": "{string}",          "ReferencesToScan": [            "{array[string]...}"          ]        }      ]    }  ],  "Remediations": [    {      "IsEnabled": "{boolean}",      "Type": "{string}"    }  ],  "FileDiscoveryFilterConfiguration": {    "IsEnabled": "{boolean}",    "DaysBeforeRescan": "{int32}",    "FilterStrategy": "{string}"  }}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Get workflow by Id
| id | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/workflows/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Id | string | ||
| Name | string | ||
| Description | string | ||
| UserId | string | ||
| ScanConfigurationId | string | ||
| Deleted | boolean | ||
| Type | string | Enum:  | |
| RecurrencePattern | object | ||
| Type | string | Enum:  | |
| HourlyRecurrence | object | ||
| EveryNumberOfHours | int32 | ||
| DailyRecurrence | object | ||
| EveryNumberOfDays | int32 | ||
| WeeklyRecurrence | object | ||
| DaysOfWeek | array[string] | Enum:  | |
| EveryNumberOfWeeks | int32 | ||
| MonthlyRecurrence | object | ||
| EveryNumberOfMonths | int32 | ||
| DayOfMonth | int32 | ||
| ScanSources | array[object] | ||
| ServiceId | string | ||
| ServiceName | string | ||
| Repositories | array[object] | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| Type | string | ||
| Connection | string | ||
| PackageType | string | ||
| Organization | string | ||
| Registry | string | ||
| ReferencesToScan | array[string] | ||
| Remediations | array[object] | ||
| IsEnabled | boolean | ||
| Type | string | ||
| FileDiscoveryFilterConfiguration | object | ||
| IsEnabled | boolean | ||
| DaysBeforeRescan | int32 | ||
| FilterStrategy | string | Enum:  | 
xxxxxxxxxx{ "Id": "{string}", "Name": "{string}", "Description": "{string}", "UserId": "{string}", "ScanConfigurationId": "{string}", "Deleted": "{boolean}", "Type": "{string}", "RecurrencePattern": {  "Type": "{string}",  "HourlyRecurrence": {   "EveryNumberOfHours": "{int32}"  },  "DailyRecurrence": {   "EveryNumberOfDays": "{int32}"  },  "WeeklyRecurrence": {   "DaysOfWeek": [    "{array[string]...}"   ],   "EveryNumberOfWeeks": "{int32}"  },  "MonthlyRecurrence": {   "EveryNumberOfMonths": "{int32}",   "DayOfMonth": "{int32}"  } }, "ScanSources": [  {   "ServiceId": "{string}",   "ServiceName": "{string}",   "Repositories": [    {     "RepositoryId": "{string}",     "RepositoryName": "{string}",     "Type": "{string}",     "Connection": "{string}",     "PackageType": "{string}",     "Organization": "{string}",     "Registry": "{string}",     "ReferencesToScan": [      "{array[string]...}"     ]    }   ]  } ], "Remediations": [  {   "IsEnabled": "{boolean}",   "Type": "{string}"  } ], "FileDiscoveryFilterConfiguration": {  "IsEnabled": "{boolean}",  "DaysBeforeRescan": "{int32}",  "FilterStrategy": "{string}" }}Update a workflow
| id | string | 
| object | object | ||
| Name | string | ||
| Description | string | ||
| ScanConfigurationId | string | ||
| RecurrencePattern | object | ||
| Type | string | Enum:  | |
| HourlyRecurrence | object | ||
| EveryNumberOfHours | int32 | ||
| DailyRecurrence | object | ||
| EveryNumberOfDays | int32 | ||
| WeeklyRecurrence | object | ||
| DaysOfWeek | array[string] | Enum:  | |
| EveryNumberOfWeeks | int32 | ||
| MonthlyRecurrence | object | ||
| EveryNumberOfMonths | int32 | ||
| DayOfMonth | int32 | ||
| ScanSources | array[object] | ||
| ServiceId | string | ||
| ServiceName | string | ||
| Repositories | array[object] | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| Type | string | ||
| Connection | string | ||
| PackageType | string | ||
| Organization | string | ||
| Registry | string | ||
| ReferencesToScan | array[string] | ||
| Remediations | array[object] | ||
| IsEnabled | boolean | ||
| Type | string | ||
| FileDiscoveryFilterConfiguration | object | ||
| IsEnabled | boolean | ||
| DaysBeforeRescan | int32 | ||
| FilterStrategy | string | Enum:  | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/workflows/%7Bid%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "Description": "{string}",  "ScanConfigurationId": "{string}",  "RecurrencePattern": {    "Type": "{string}",    "HourlyRecurrence": {      "EveryNumberOfHours": "{int32}"    },    "DailyRecurrence": {      "EveryNumberOfDays": "{int32}"    },    "WeeklyRecurrence": {      "DaysOfWeek": [        "{array[string]...}"      ],      "EveryNumberOfWeeks": "{int32}"    },    "MonthlyRecurrence": {      "EveryNumberOfMonths": "{int32}",      "DayOfMonth": "{int32}"    }  },  "ScanSources": [    {      "ServiceId": "{string}",      "ServiceName": "{string}",      "Repositories": [        {          "RepositoryId": "{string}",          "RepositoryName": "{string}",          "Type": "{string}",          "Connection": "{string}",          "PackageType": "{string}",          "Organization": "{string}",          "Registry": "{string}",          "ReferencesToScan": [            "{array[string]...}"          ]        }      ]    }  ],  "Remediations": [    {      "IsEnabled": "{boolean}",      "Type": "{string}"    }  ],  "FileDiscoveryFilterConfiguration": {    "IsEnabled": "{boolean}",    "DaysBeforeRescan": "{int32}",    "FilterStrategy": "{string}"  }}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Delete Workflow by id
| id | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/workflows/%7Bid%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Update workflow scan source
| id | string | 
| object | object | ||
| ServiceId | string | ||
| ServiceName | string | ||
| Repositories | array[object] | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| Type | string | ||
| Connection | string | ||
| PackageType | string | ||
| Organization | string | ||
| Registry | string | ||
| ReferencesToScan | array[string] | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/workflows/%7Bid%7D/scan-source' \ --header 'Authorization: Bearer {token}' \ --data '{  "ServiceId": "{string}",  "ServiceName": "{string}",  "Repositories": [    {      "RepositoryId": "{string}",      "RepositoryName": "{string}",      "Type": "{string}",      "Connection": "{string}",      "PackageType": "{string}",      "Organization": "{string}",      "Registry": "{string}",      "ReferencesToScan": [        "{array[string]...}"      ]    }  ]}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Bad Request
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}List all workflows by repositoryId
| repositoryId | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/workflows/repositories/%7BrepositoryId%7D' \ --header 'Authorization: Bearer {token}'Success
| array | array[object] | ||
| Id | string | ||
| Name | string | ||
| Description | string | ||
| UserId | string | ||
| ScanConfigurationId | string | ||
| Deleted | boolean | ||
| Type | string | Enum:  | |
| RecurrencePattern | object | ||
| Type | string | Enum:  | |
| HourlyRecurrence | object | ||
| EveryNumberOfHours | int32 | ||
| DailyRecurrence | object | ||
| EveryNumberOfDays | int32 | ||
| WeeklyRecurrence | object | ||
| DaysOfWeek | array[string] | Enum:  | |
| EveryNumberOfWeeks | int32 | ||
| MonthlyRecurrence | object | ||
| EveryNumberOfMonths | int32 | ||
| DayOfMonth | int32 | ||
| ScanSources | array[object] | ||
| ServiceId | string | ||
| ServiceName | string | ||
| Repositories | array[object] | ||
| RepositoryId | string | ||
| RepositoryName | string | ||
| Type | string | ||
| Connection | string | ||
| PackageType | string | ||
| Organization | string | ||
| Registry | string | ||
| ReferencesToScan | array[string] | ||
| Remediations | array[object] | ||
| IsEnabled | boolean | ||
| Type | string | ||
| FileDiscoveryFilterConfiguration | object | ||
| IsEnabled | boolean | ||
| DaysBeforeRescan | int32 | ||
| FilterStrategy | string | Enum:  | 
xxxxxxxxxx[ {  "Id": "{string}",  "Name": "{string}",  "Description": "{string}",  "UserId": "{string}",  "ScanConfigurationId": "{string}",  "Deleted": "{boolean}",  "Type": "{string}",  "RecurrencePattern": {   "Type": "{string}",   "HourlyRecurrence": {    "EveryNumberOfHours": "{int32}"   },   "DailyRecurrence": {    "EveryNumberOfDays": "{int32}"   },   "WeeklyRecurrence": {    "DaysOfWeek": [     "{array[string]...}"    ],    "EveryNumberOfWeeks": "{int32}"   },   "MonthlyRecurrence": {    "EveryNumberOfMonths": "{int32}",    "DayOfMonth": "{int32}"   }  },  "ScanSources": [   {    "ServiceId": "{string}",    "ServiceName": "{string}",    "Repositories": [     {      "RepositoryId": "{string}",      "RepositoryName": "{string}",      "Type": "{string}",      "Connection": "{string}",      "PackageType": "{string}",      "Organization": "{string}",      "Registry": "{string}",      "ReferencesToScan": [       "{array[string]...}"      ]     }    ]   }  ],  "Remediations": [   {    "IsEnabled": "{boolean}",    "Type": "{string}"   }  ],  "FileDiscoveryFilterConfiguration": {   "IsEnabled": "{boolean}",   "DaysBeforeRescan": "{int32}",   "FilterStrategy": "{string}"  } }]Licenses
Get licenses
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/licenses' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| License | object | ||
| ProductId | string | ||
| ProductName | string | ||
| Expiration | int64 | ||
| DeploymentId | string | ||
| ActivationKey | string | ||
| LicenseContent | string | ||
| MaxDevelopers | int32 | ||
| ResponseMessage | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "License": {  "ProductId": "{string}",  "ProductName": "{string}",  "Expiration": "{int64}",  "DeploymentId": "{string}",  "ActivationKey": "{string}",  "LicenseContent": "{string}",  "MaxDevelopers": "{int32}" }, "ResponseMessage": "{string}"}Remove licenses
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/licenses' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseMessage | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseMessage": "{string}"}Activate a online license
| object | object | ||
| Key | string | minLength: 1 | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/licenses/online' \ --header 'Authorization: Bearer {token}' \ --data '{  "Key": "{string}"}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseMessage | string | 
Bad Request
xxxxxxxxxx{ "Result": "{string}", "ResponseMessage": "{string}"}Ocm
Get OCM
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/ocm' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| OcmInformation | object | ||
| Id | string | ||
| ApiKey | string | ||
| ServerApi | string | ||
| RegistrationCode | string | ||
| DeploymentId | string | ||
| CmVersion | string | ||
| ScanConfigurationHash | string | ||
| StorageConfigurationHash | string | ||
| RetentionConfigurationHash | string | ||
| ExternalLoggerConfigurationHash | string | ||
| UserConfigurationHash | string | ||
| LicenseConfigurationHash | string | ||
| SmtpConfigurationHash | string | ||
| NotificationConfigurationHash | string | ||
| EnrollStatus | string | Enum:  | |
| LastServerConnection | int64 | ||
| LastConfigurationSync | int64 | ||
| ConnectionStatus | string | Enum:  | |
| CreatedAt | date-time | ||
| LastUpdated | date-time | ||
| TenantId | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "OcmInformation": {  "Id": "{string}",  "ApiKey": "{string}",  "ServerApi": "{string}",  "RegistrationCode": "{string}",  "DeploymentId": "{string}",  "CmVersion": "{string}",  "ScanConfigurationHash": "{string}",  "StorageConfigurationHash": "{string}",  "RetentionConfigurationHash": "{string}",  "ExternalLoggerConfigurationHash": "{string}",  "UserConfigurationHash": "{string}",  "LicenseConfigurationHash": "{string}",  "SmtpConfigurationHash": "{string}",  "NotificationConfigurationHash": "{string}",  "EnrollStatus": "{string}",  "LastServerConnection": "{int64}",  "LastConfigurationSync": "{int64}",  "ConnectionStatus": "{string}",  "CreatedAt": "{date-time}",  "LastUpdated": "{date-time}",  "TenantId": "{string}" }}Update OCM
| object | object | ||
| ServerApi | string | ||
| RegCode | string | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/ocm' \ --header 'Authorization: Bearer {token}' \ --data '{  "ServerApi": "{string}",  "RegCode": "{string}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Delete OCM
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/ocm' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | 
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}"}Services
Get all services
| content | boolean | ||
| type | array | Enum:  | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services' \ --header 'Authorization: Bearer {token}' \ --data content={content} \ --data type={type}Success
| object | object | ||
| ServiceDtos | array[object] | ||
| Name | string | ||
| Id | string | ||
| CredentialsType | int32 | ||
| ScanWorkflowId | string | ||
| Domain | string | ||
| StatusMessage | string | 
Success
Bad Request
xxxxxxxxxx{ "ServiceDtos": [  {   "Name": "{string}",   "Id": "{string}",   "CredentialsType": "{int32}",   "ScanWorkflowId": "{string}",   "Domain": "{string}"  } ], "StatusMessage": "{string}"}Add a service
| object | object | ||
| Name | string | ||
| Credentials | string | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/services' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "Credentials": "{string}"}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| Id | string | ||
| Name | string | 
Bad Request
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "Id": "{string}", "Name": "{string}"}Get a service by id
| serviceId | string | 
| content | boolean | ||
| Search | string | ||
| Page | integer | ||
| PageSize | integer | ||
| FilterValue | string | ||
| Cursor | string | ||
| PrioritizedRepositoriesReference | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D' \ --header 'Authorization: Bearer {token}' \ --data content={content} \ --data Search={Search} \ --data Page={Page} \ --data PageSize={PageSize} \ --data FilterValue={FilterValue} \ --data Cursor={Cursor} \ --data PrioritizedRepositoriesReference={PrioritizedRepositoriesReference}Success
| object | object | ||
| Name | string | ||
| Id | string | ||
| CredentialsType | int32 | ||
| ScanWorkflowId | string | ||
| Domain | string | 
Bad Request
Not Found
xxxxxxxxxx{ "Name": "{string}", "Id": "{string}", "CredentialsType": "{int32}", "ScanWorkflowId": "{string}", "Domain": "{string}"}Update a service by id
| serviceId | string | 
| object | object | ||
| Name | string | ||
| Credentials | string | ||
| HasNewCredentials | boolean | 
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D' \ --header 'Authorization: Bearer {token}' \ --data '{  "Name": "{string}",  "Credentials": "{string}",  "HasNewCredentials": "{boolean}"}'Success
| object | object | ||
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | ||
| Id | string | ||
| Name | string | 
Bad Request
xxxxxxxxxx{ "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}, "Id": "{string}", "Name": "{string}"}Delete a service by id
| serviceId | string | 
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Result | string | Enum:  | |
| ResponseKey | string | ||
| ResponseMessage | string | ||
| ResponseMessageParams | object | ||
| * | string | 
Not Found
xxxxxxxxxx{ "Result": "{string}", "ResponseKey": "{string}", "ResponseMessage": "{string}", "ResponseMessageParams": {}}Get service references by serviceId and repositoryId
| serviceId | string | ||
| repositoryId | string | 
| Page | integer | ||
| PageSize | integer | ||
| FilterValue | string | ||
| Cursor | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/%7BrepositoryId%7D/references' \ --header 'Authorization: Bearer {token}' \ --data Page={Page} \ --data PageSize={PageSize} \ --data FilterValue={FilterValue} \ --data Cursor={Cursor}Success
| object | object | ||
| References | array[string] | ||
| TotalReferences | int32 | 
Not Found
xxxxxxxxxx{ "References": [  "{array[string]...}" ], "TotalReferences": "{int32}"}Get service references by serviceId
| serviceId | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/references' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| ServiceId | string | ||
| ServiceName | string | 
Not Found
xxxxxxxxxx{ "ServiceId": "{string}", "ServiceName": "{string}"}Get service resources by serviceId
| serviceId | string | 
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/resources' \ --header 'Authorization: Bearer {token}'Success
| object | object | ||
| Resources | array[string] | 
Not Found
xxxxxxxxxx{ "Resources": [  "{array[string]...}" ]}Add services references
| array | array[object] | ||
| ServiceId | string | ||
| RepositoryIds | array[string] | 
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/services/references' \ --header 'Authorization: Bearer {token}' \ --data '[  {    "ServiceId": "{string}",    "RepositoryIds": [      "{array[string]...}"    ]  }]'Success
| array | array[object] | ||
| ServiceId | string | ||
| ServiceName | string | 
No Content
Not Found
xxxxxxxxxx[ {  "ServiceId": "{string}",  "ServiceName": "{string}" }]Startup
Get startup status
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/startup' \ --header 'Authorization: Bearer {token}'Success
| No response body | 
Server Error
xxxxxxxxxxNo response