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 |
xxxxxxxxxx
curl --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 | ||
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}",
"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 |
xxxxxxxxxx
curl --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: |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/externallogger' \
--header 'Authorization: Bearer {token}'
Success
No response body |
xxxxxxxxxx
No response
Add a new External Logger
object | object | ||
ConnectionSettings | object | ||
ServerAddress | string | ||
Port | int32 | ||
Facility | string | Enum: | |
Format | string | Enum: |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
No response
Update an existing External Logger
id | string |
object | object | ||
ConnectionSettings | object | ||
ServerAddress | string | ||
Port | int32 | ||
Facility | string | Enum: | |
Format | string | Enum: |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
No response
Delete an External Logger
id | string |
xxxxxxxxxx
curl --request DELETE \
--url 'https://opswat.developerhub.io/api/v1/externallogger/%7Bid%7D' \
--header 'Authorization: Bearer {token}'
Success
No response body |
xxxxxxxxxx
No response
Global Label Keys
Global label keys management
Returns all global label keys
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"GlobalKeys": [
{
"Id": "{string}",
"Name": "{string}",
"Description": "{string}",
"ValueType": "{string}",
"Options": [
"{array[string]...}"
],
"Created": "{date-time}",
"Updated": "{date-time}"
}
]
}
Adds a new global label key
object | object | ||
Name | string | ||
Description | string | ||
ValueType | string | ||
Options | array[string] |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"GlobalKey": {
"Id": "{string}",
"Name": "{string}",
"Description": "{string}",
"ValueType": "{string}",
"Options": [
"{array[string]...}"
],
"Created": "{date-time}",
"Updated": "{date-time}"
}
}
Updates an existing global label key
id | string |
object | object | ||
Name | string | ||
Description | string | ||
ValueType | string | ||
Options | array[string] |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"GlobalKey": {
"Id": "{string}",
"Name": "{string}",
"Description": "{string}",
"ValueType": "{string}",
"Options": [
"{array[string]...}"
],
"Created": "{date-time}",
"Updated": "{date-time}"
}
}
Deletes a global label key
id | string |
xxxxxxxxxx
curl --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}"
}
Retrieves a list of packages based on search criteria
Name | string | ||
Version | string | ||
Vulnerabilities | array | ||
LicenseRisks | array | ||
Connection | string | ||
Repository | string | ||
Reference | string | ||
ScanId | string | ||
StepSha256 | string | ||
Search | string |
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/packages' \
--header 'Authorization: Bearer {token}' \
--data Name={Name} \
--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 | ||
Source | string | ||
Cwes | array[string] | ||
Dependencies | array[object] | ||
Ecosystem | string | ||
Group | string | ||
PackageName | string | ||
PackageVersion | string | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[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 | ||
Created | date-time | ||
Updated | date-time |
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Packages": [...]
}
Retrieves a package by its unique identifier
id | string |
xxxxxxxxxx
curl --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 | ||
Source | string | ||
Cwes | array[string] | ||
Dependencies | array[object] | ||
Ecosystem | string | ||
Group | string | ||
PackageName | string | ||
PackageVersion | string | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[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 | ||
Created | date-time | ||
Updated | date-time |
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Package": {...}
}
Retrieves CVEs associated with a specific package
id | string |
xxxxxxxxxx
curl --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 | ||
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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 | ||
Source | string | ||
Cwes | array[string] | ||
Dependencies | array[object] | ||
Ecosystem | string | ||
Group | string | ||
PackageName | string | ||
PackageVersion | string | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[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 | ||
Created | date-time | ||
Updated | date-time |
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Packages": [...]
}
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 |
xxxxxxxxxx
curl --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 |
Bad Request
Conflict
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
Disable real-time protection for storage
storageId | string |
xxxxxxxxxx
curl --request PATCH \
--url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/disable' \
--header 'Authorization: Bearer {token}'
Success
No response body |
xxxxxxxxxx
No response
Disable real-time protection for repository
storageId | string | ||
repositoryId | string |
xxxxxxxxxx
curl --request PATCH \
--url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/%7BrepositoryId%7D/disable' \
--header 'Authorization: Bearer {token}'
Success
No response body |
xxxxxxxxxx
No response
List storages with real-time protection enabled
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 | ||
WorkflowName | 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}",
"WorkflowName": "{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 |
xxxxxxxxxx
curl --request DELETE \
--url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D' \
--header 'Authorization: Bearer {token}' \
--data forceDelete={forceDelete}
Success
No response body |
xxxxxxxxxx
No response
Delete real-time scan data for repository
storageId | string | ||
repositoryId | string |
forceDelete | boolean |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
No response
Scan Configurations
List, add, update and delete Scan Configurations
scan-configurations
object | object | ||
Name | string | maxLength: 50 minLength: 3 | |
ScanPoolId | string | ||
Rules | array[string] | ||
UserAgent | string |
xxxxxxxxxx
curl --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: | |
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 | ||
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}",
"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": {
"MinimumSize": "{int64}",
"MaximumSize": "{int64}",
"MinimumDateTime": "{date-time}",
"MaximumDateTime": "{date-time}"
}
}
Get Scan Configurations
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/scan-configurations' \
--header 'Authorization: Bearer {token}'
Success
object | object | ||
Result | string | Enum: | |
ResponseKey | string | ||
ResponseMessage | 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: | |
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 | ||
MinimumSize | int64 | ||
MaximumSize | int64 | ||
MinimumDateTime | date-time | ||
MaximumDateTime | date-time |
Bad Request
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Workflows": [
{
"Id": "{string}",
"ScanPoolId": "{string}",
"Rules": [
"{array[string]...}"
],
"Type": "{string}",
"Name": "{string}",
"ScanPool": {
"Id": "{string}",
"Name": "{string}",
"ScanPoolType": "{string}",
"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": {
"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 |
xxxxxxxxxx
curl --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 |
Bad Request
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
Delete a Scan Configuration
id | string |
xxxxxxxxxx
curl --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 |
Bad Request
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
Get Scan Configuration by ID
id | string |
xxxxxxxxxx
curl --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 | ||
Workflow | object | ||
Id | string | ||
ScanPoolId | string | ||
Rules | array[string] | ||
Type | string | Enum: | |
Name | string | ||
ScanPool | object | ||
Id | string | ||
Name | string | ||
ScanPoolType | string | Enum: | |
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 | ||
MinimumSize | int64 | ||
MaximumSize | int64 | ||
MinimumDateTime | date-time | ||
MaximumDateTime | date-time |
Bad Request
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Workflow": {
"Id": "{string}",
"ScanPoolId": "{string}",
"Rules": [
"{array[string]...}"
],
"Type": "{string}",
"Name": "{string}",
"ScanPool": {
"Id": "{string}",
"Name": "{string}",
"ScanPoolType": "{string}",
"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": {
"MinimumSize": "{int64}",
"MaximumSize": "{int64}",
"MinimumDateTime": "{date-time}",
"MaximumDateTime": "{date-time}"
}
}
}
Get all Scan Configurations by ScanPool ID
id | string |
xxxxxxxxxx
curl --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 | ||
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: | |
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 | ||
MinimumSize | int64 | ||
MaximumSize | int64 | ||
MinimumDateTime | date-time | ||
MaximumDateTime | date-time |
Bad Request
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Workflows": [
{
"Id": "{string}",
"ScanPoolId": "{string}",
"Rules": [
"{array[string]...}"
],
"Type": "{string}",
"Name": "{string}",
"ScanPool": {
"Id": "{string}",
"Name": "{string}",
"ScanPoolType": "{string}",
"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": {
"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: |
xxxxxxxxxx
curl --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 | ||
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}",
"ScanInstanceId": "{string}"
}
Delete scan instance
id | string |
xxxxxxxxxx
curl --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 |
Bad Request
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
Get a scan instance by ID
id | string |
xxxxxxxxxx
curl --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 | ||
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}",
"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 |
xxxxxxxxxx
curl --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 |
Bad Request
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
Scan Pools
Manage your scan pools
Add a new Scan Pool
object | object | ||
Name | string | ||
ScanPoolType | string | Enum: |
xxxxxxxxxx
curl --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 | ||
ScanPoolId | string |
Bad Request
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"ScanPoolId": "{string}"
}
Get Scan Pools
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/scan-pools' \
--header 'Authorization: Bearer {token}'
Success
object | object | ||
Result | string | Enum: | |
ResponseKey | string | ||
ResponseMessage | string | ||
ScanPools | array[object] | ||
Id | string | ||
Name | string | ||
ScanPoolType | string | Enum: | |
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}",
"ScanPools": [
{
"Id": "{string}",
"Name": "{string}",
"ScanPoolType": "{string}",
"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}"
}
}
]
}
]
}
Delete a Scan Pool
id | string |
xxxxxxxxxx
curl --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 |
Bad Request
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
Get Scan Pool by ID
id | string |
xxxxxxxxxx
curl --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 | ||
ScanPool | object | ||
Id | string | ||
Name | string | ||
ScanPoolType | string | Enum: | |
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}",
"ScanPool": {
"Id": "{string}",
"Name": "{string}",
"ScanPoolType": "{string}",
"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 |
xxxxxxxxxx
curl --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 |
Bad Request
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
rules
id | string |
xxxxxxxxxx
curl --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
Add or start a scan
object | object | ||
StorageId | string | ||
StorageName | string | ||
ScanType | string | Enum: | |
WorkflowId | string | ||
RepositoryId | string | ||
RepositoryName | string | ||
ProtocolType | string | Enum: | |
RepositoryTags | array[string] | ||
RepositoryBranches | array[string] | ||
Organization | string | ||
Connection | string | ||
PackageType | string | ||
RepositoryType | string |
xxxxxxxxxx
curl --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}",
"RepositoryTags": [
"{array[string]...}"
],
"RepositoryBranches": [
"{array[string]...}"
],
"Organization": "{string}",
"Connection": "{string}",
"PackageType": "{string}",
"RepositoryType": "{string}"
}'
Success
object | object | ||
ResponseKey | string | ||
ResponseMessage | string | ||
ScanIds | array[string] | ||
BranchesUsedForScanning | array[string] | ||
TagsUsedForScanning | 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]...}"
],
"BranchesUsedForScanning": [
"{array[string]...}"
],
"TagsUsedForScanning": [
"{array[string]...}"
],
"ProtocolType": "{string}",
"RepositoryId": "{string}",
"RepositoryName": "{string}",
"ServiceId": "{string}",
"StorageName": "{string}",
"WorkflowId": "{string}",
"WorkflowName": "{string}",
"TriggerEvent": "{string}",
"TriggerBy": "{string}"
}
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: |
xxxxxxxxxx
curl --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}"
}
Delete multiple scans by their scan IDs
array | array[string] |
xxxxxxxxxx
curl --request DELETE \
--url 'https://opswat.developerhub.io/api/v1/scans' \
--header 'Authorization: Bearer {token}' \
--data '[
"{array[string]...}"
]'
Success
No response body |
Bad Request
Server Error
xxxxxxxxxx
No response
Stop a scan
id | string |
xxxxxxxxxx
curl --request POST \
--url 'https://opswat.developerhub.io/api/v1/scans/%7Bid%7D' \
--header 'Authorization: Bearer {token}'
Success
object | object | ||
StatusCode | int32 |
xxxxxxxxxx
{
"StatusCode": "{int32}"
}
Get scan results by scan ID
id | string |
xxxxxxxxxx
curl --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 | ||
TagUsedForScanning | string | ||
BranchUsedForScanning | string | ||
ScanId | string | ||
ProtocolType | string | Enum: | |
Connection | string | ||
PackageType | string | ||
Organization | string | ||
ScanResults | array[object] | ||
Id | string | ||
ScanId | string | ||
ScanWorkflowSnapshotId | string | ||
MetaDefenderCoreUrl | string | ||
Name | string | ||
Path | string | ||
Hash | string | ||
ObjectStorageMetadata | string | ||
Size | int64 | ||
LastModified | date-time | ||
StorageLocation | string | ||
PathForDisplay | string | ||
Progress | object | ||
Upload | int32 | ||
Scan | int32 | ||
ScanResult | 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 | ||
Details | string | ||
ProgressPercentage | int32 | ||
UserAgent | string | ||
Profile | string | ||
Result | string | ||
BlockedReason | string | ||
FileTypeSkippedScan | boolean | ||
ProcessingTime | number | ||
QueueTime | number | ||
ResultI | string | Enum: | |
FilesExtractedCount | int32 | ||
ScanResults | object | ||
ScanDetails | array[object] | ||
EngineName | string | ||
ThreatFound | string | ||
ScanResultI | int32 | ||
DefTime | string | ||
ScanTime | number | ||
EngId | string | ||
WaitTime | number | ||
DataId | string | ||
ScanAllResultI | int32 | ||
ScanAllResultA | string | ||
StartTime | string | ||
TotalTime | number | ||
TotalAvs | int32 | ||
TotalDetections | int32 | ||
ProgressPercentage | int32 | ||
FileInfo | object | ||
FileSize | int64 | ||
UploadTimestamp | string | ||
Md5 | string | ||
Sha1 | string | ||
Sha256 | string | ||
FileTypeCategory | string | ||
FileTypeDescription | string | ||
FileTypeExtension | string | ||
DisplayName | string | ||
OriginalFilePath | string | ||
ProcessInfo | object | ||
PostProcessing | object | ||
ActionsRan | string | ||
ActionsFailed | string | ||
ConvertedTo | string | ||
CopyMoveDestination | string | ||
ConvertedDestination | string | ||
SanitizationDetails | object | ||
FailureCategory | string | ||
Details | string | ||
ProgressPercentage | int32 | ||
UserAgent | string | ||
Profile | string | ||
Result | string | ||
BlockedReason | string | ||
FileTypeSkippedScan | boolean | ||
ProcessingTime | number | ||
QueueTime | number | ||
ResultI | string | Enum: | |
DataId | string | ||
DlpInfo | object | ||
Verdict | int64 | ||
SbomInfo | object | ||
FinalVerdict | object | ||
Blocked | boolean | ||
LicensingPackageCounts | object | ||
Allowed | int32 | ||
Blocked | int32 | ||
Unknown | int32 | ||
Unsupported | int32 | ||
Severity | string | Enum: | |
TotalPackageCount | int32 | ||
Verdict | string | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
OverviewReport | object | ||
IsPartialReport | boolean | ||
OsInfo | object | ||
OsName | string | ||
OsVersion | string | ||
ScanMode | string | ||
Steps | array[object] | ||
Command | string | ||
Packages | array[object] | ||
Authors | string | ||
ReleaseDate | date-time | ||
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] | ||
PackageName | string | ||
PackageVersion | string | ||
Hashes | array[object] | ||
Sha256 | string | ||
FileName | string | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[string] | ||
Arch | string | ||
OsName | string | ||
OsVersion | string | ||
Dependencies | array[object] | ||
Ecosystem | string | ||
Group | string | ||
PackageName | string | ||
PackageVersion | string | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[string] | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
LicenseStatus | string | ||
LicensingPackageCounts | object | ||
Allowed | int32 | ||
Blocked | int32 | ||
Unknown | int32 | ||
Unsupported | int32 | ||
Step | int32 | ||
VulnerabilityCount | int32 | ||
Sha256 | string | ||
Severity | string | Enum: | |
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
Packages | array[object] | ||
Authors | string | ||
ReleaseDate | date-time | ||
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] | ||
PackageName | string | ||
PackageVersion | string | ||
Target | string | ||
Hashes | array[object] | ||
Sha256 | string | ||
FileName | string | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[string] | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
Dependencies | array[object] | ||
Ecosystem | string | ||
Group | string | ||
PackageName | string | ||
PackageVersion | string | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[string] | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
DependenciesPackageCount | int32 | ||
DependenciesVulnerabilityTotal | int32 | ||
DependenciesVulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
ResultTemplateHash | 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 | ||
SessionCookie | string | ||
ProcessingState | string | Enum: | |
ExceptionDetails | string | ||
Created | date-time | ||
DiscoveryStarted | date-time | ||
DiscoveryStartedDaySec | int64 | ||
FileProcessingDetails | object | ||
StreamingStartedTime | date-time | ||
StreamingCompletedTime | date-time | ||
StreamingTimeSpanMs | int64 | ||
ScanCompletedTime | date-time | ||
ProcessingTimeSpanMs | int64 | ||
ProcessingFailedTime | date-time | ||
ProcessingRetryCount | int32 | ||
ObjectRemediationActions | array[object] | ||
ObjectActionType | string | Enum: | |
ObjectActionState | string | Enum: | |
Exceptions | array[string] | ||
ObjectTriggeredActions | array[object] | ||
ActionStatus | string | Enum: | |
TriggeredActionType | string | Enum: | |
CoreEngines | array[object] | ||
EngineId | string | ||
EngineName | string | ||
EngineVersion | string | ||
DbVersion | string | ||
DefinitionTime | string | ||
VulnerabilityIssues | object | ||
critical | int32 | ||
high | int32 | ||
medium | int32 | ||
low | int32 | ||
unknown | int32 | ||
ScanStatus | string | Enum: | |
DiscoveryStatus | string | Enum: | |
Errors | array[string] | ||
BlockedLicensesCount | 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] |
Not Found
xxxxxxxxxx
{
"ServiceId": "{string}",
"RepositoryId": "{string}",
"RepositoryName": "{string}",
"RepositoryType": "{string}",
"TagUsedForScanning": "{string}",
"BranchUsedForScanning": "{string}",
"ScanId": "{string}",
"ProtocolType": "{string}",
"Connection": "{string}",
"PackageType": "{string}",
"Organization": "{string}",
"ScanResults": [...],
"VulnerabilityIssues": {...},
"ScanStatus": "{string}",
"DiscoveryStatus": "{string}",
"Errors": [...],
"BlockedLicensesCount": "{int32}",
"Licenses": {...}
}
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: |
xxxxxxxxxx
curl --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 | ||
ProtocolType | string | Enum: | |
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 | ||
Config | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode | ||
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}",
"ProtocolType": "{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}",
"Config": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
]
},
"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: |
xxxxxxxxxx
curl --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 | ||
ProtocolType | string | Enum: | |
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 | ||
Config | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode | ||
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}",
"ProtocolType": "{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}",
"Config": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
]
},
"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 |
xxxxxxxxxx
curl --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 | ||
ProtocolType | string | Enum: | |
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 | ||
Config | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode | ||
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}",
"ProtocolType": "{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}",
"Config": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
]
},
"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 |
xxxxxxxxxx
curl --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 | ||
ProtocolType | string | Enum: | |
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 | ||
Config | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode | ||
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}",
"ProtocolType": "{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}",
"Config": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
]
},
"Package": {
"TotalPackages": "{int32}",
"VulnerablePackages": "{int32}"
},
"ScannedOn": "{date-time}",
"StopTime": "{date-time}",
"TriggerEvent": "{string}",
"Errors": [
"{array[string]...}"
]
},
"ScanStatus": {
"ScanningState": "{string}",
"UploadProgress": "{int32}",
"ScanProgress": "{int32}"
}
}
]
Get detailed scan result
fileId | string | ||
dataId | string |
size | integer | Default: 100 | |
first | integer |
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/scans/details/%7BfileId%7D/%7BdataId%7D' \
--header 'Authorization: Bearer {token}' \
--data size=100 \
--data first={first}
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 | ||
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 | ||
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 | ||
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] | ||
os | string | ||
os | string | ||
package | string | ||
hashes | array[object] | ||
sha256 | string | ||
file | string | ||
package | string | ||
vulnerabilities | array[object] | ||
id | string | ||
severity | string | Enum: | |
source | string | ||
fixed | string | ||
cwes | array[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] | ||
vulnerability | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
step | int32 | ||
vulnerability | int32 | ||
sha256 | string | ||
severity | string | Enum: | |
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 | ||
hashes | array[object] | ||
sha256 | string | ||
file | string | ||
vulnerabilities | array[object] | ||
id | string | ||
severity | string | Enum: | |
source | string | ||
fixed | string | ||
cwes | array[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] | ||
vulnerability | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
dependencies | int32 | ||
dependencies | int32 | ||
dependencies | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | 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 |
Bad Request
Not Found
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}"
}
Enumerate all scan schedules
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/scans/schedules' \
--header 'Authorization: Bearer {token}'
Success
array | array[object] | ||
Id | string | ||
Name | string | ||
StorageId | string | ||
OwnerId | string | ||
CreatedAt | date-time | ||
NextScanTime | date-time | ||
LastScanTime | date-time | ||
WorkflowId | 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 | ||
StartDate | date-time | ||
TimeToStart | date-time | ||
Priority | string | Enum: | |
AdditionalPropertiesString | string |
xxxxxxxxxx
[
{
"Id": "{string}",
"Name": "{string}",
"StorageId": "{string}",
"OwnerId": "{string}",
"CreatedAt": "{date-time}",
"NextScanTime": "{date-time}",
"LastScanTime": "{date-time}",
"WorkflowId": "{string}",
"RecurrencePattern": {
"Type": "{string}",
"HourlyRecurrence": {
"EveryNumberOfHours": "{int32}"
},
"DailyRecurrence": {
"EveryNumberOfDays": "{int32}"
},
"WeeklyRecurrence": {
"DaysOfWeek": [
"{array[string]...}"
],
"EveryNumberOfWeeks": "{int32}"
},
"MonthlyRecurrence": {
"EveryNumberOfMonths": "{int32}",
"DayOfMonth": "{int32}"
},
"StartDate": "{date-time}",
"TimeToStart": "{date-time}"
},
"Priority": "{string}",
"AdditionalPropertiesString": "{string}"
}
]
Enumerate files by scan ID
scanId | string |
startIndex | integer | ||
count | integer | Default: 10000 |
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/scans/%7BscanId%7D/files' \
--header 'Authorization: Bearer {token}' \
--data startIndex={startIndex} \
--data count=10000
Success
array | array[object] | ||
Id | string | ||
ScanId | string | ||
ScanWorkflowSnapshotId | string | ||
MetaDefenderCoreUrl | string | ||
Name | string | ||
Path | string | ||
Hash | string | ||
ObjectStorageMetadata | string | ||
Size | int64 | ||
LastModified | date-time | ||
StorageLocation | string | ||
PathForDisplay | string | ||
Progress | object | ||
Upload | int32 | ||
Scan | int32 | ||
ScanResult | 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 | ||
Details | string | ||
ProgressPercentage | int32 | ||
UserAgent | string | ||
Profile | string | ||
Result | string | ||
BlockedReason | string | ||
FileTypeSkippedScan | boolean | ||
ProcessingTime | number | ||
QueueTime | number | ||
ResultI | string | Enum: | |
FilesExtractedCount | int32 | ||
ScanResults | object | ||
ScanDetails | array[object] | ||
EngineName | string | ||
ThreatFound | string | ||
ScanResultI | int32 | ||
DefTime | string | ||
ScanTime | number | ||
EngId | string | ||
WaitTime | number | ||
DataId | string | ||
ScanAllResultI | int32 | ||
ScanAllResultA | string | ||
StartTime | string | ||
TotalTime | number | ||
TotalAvs | int32 | ||
TotalDetections | int32 | ||
ProgressPercentage | int32 | ||
FileInfo | object | ||
FileSize | int64 | ||
UploadTimestamp | string | ||
Md5 | string | ||
Sha1 | string | ||
Sha256 | string | ||
FileTypeCategory | string | ||
FileTypeDescription | string | ||
FileTypeExtension | string | ||
DisplayName | string | ||
OriginalFilePath | string | ||
ProcessInfo | object | ||
PostProcessing | object | ||
ActionsRan | string | ||
ActionsFailed | string | ||
ConvertedTo | string | ||
CopyMoveDestination | string | ||
ConvertedDestination | string | ||
SanitizationDetails | object | ||
FailureCategory | string | ||
Details | string | ||
ProgressPercentage | int32 | ||
UserAgent | string | ||
Profile | string | ||
Result | string | ||
BlockedReason | string | ||
FileTypeSkippedScan | boolean | ||
ProcessingTime | number | ||
QueueTime | number | ||
ResultI | string | Enum: | |
DataId | string | ||
DlpInfo | object | ||
Verdict | int64 | ||
SbomInfo | object | ||
FinalVerdict | object | ||
Blocked | boolean | ||
LicensingPackageCounts | object | ||
Allowed | int32 | ||
Blocked | int32 | ||
Unknown | int32 | ||
Unsupported | int32 | ||
Severity | string | Enum: | |
TotalPackageCount | int32 | ||
Verdict | string | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
OverviewReport | object | ||
IsPartialReport | boolean | ||
OsInfo | object | ||
OsName | string | ||
OsVersion | string | ||
ScanMode | string | ||
Steps | array[object] | ||
Command | string | ||
Packages | array[object] | ||
Authors | string | ||
ReleaseDate | date-time | ||
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] | ||
PackageName | string | ||
PackageVersion | string | ||
Hashes | array[object] | ||
Sha256 | string | ||
FileName | string | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[string] | ||
Arch | string | ||
OsName | string | ||
OsVersion | string | ||
Dependencies | array[object] | ||
Ecosystem | string | ||
Group | string | ||
PackageName | string | ||
PackageVersion | string | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[string] | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
LicenseStatus | string | ||
LicensingPackageCounts | object | ||
Allowed | int32 | ||
Blocked | int32 | ||
Unknown | int32 | ||
Unsupported | int32 | ||
Step | int32 | ||
VulnerabilityCount | int32 | ||
Sha256 | string | ||
Severity | string | Enum: | |
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
Packages | array[object] | ||
Authors | string | ||
ReleaseDate | date-time | ||
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] | ||
PackageName | string | ||
PackageVersion | string | ||
Target | string | ||
Hashes | array[object] | ||
Sha256 | string | ||
FileName | string | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[string] | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
Dependencies | array[object] | ||
Ecosystem | string | ||
Group | string | ||
PackageName | string | ||
PackageVersion | string | ||
Vulnerabilities | array[object] | ||
Id | string | ||
Severity | string | Enum: | |
Source | string | ||
FixedVersions | string | ||
Cwes | array[string] | ||
VulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
DependenciesPackageCount | int32 | ||
DependenciesVulnerabilityTotal | int32 | ||
DependenciesVulnerabilityCounts | object | ||
Critical | int32 | ||
High | int32 | ||
Medium | int32 | ||
Low | int32 | ||
Unknown | int32 | ||
ResultTemplateHash | 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 | ||
SessionCookie | string | ||
ProcessingState | string | Enum: | |
ExceptionDetails | string | ||
Created | date-time | ||
DiscoveryStarted | date-time | ||
DiscoveryStartedDaySec | int64 | ||
FileProcessingDetails | object | ||
StreamingStartedTime | date-time | ||
StreamingCompletedTime | date-time | ||
StreamingTimeSpanMs | int64 | ||
ScanCompletedTime | date-time | ||
ProcessingTimeSpanMs | int64 | ||
ProcessingFailedTime | date-time | ||
ProcessingRetryCount | int32 | ||
ObjectRemediationActions | array[object] | ||
ObjectActionType | string | Enum: | |
ObjectActionState | string | Enum: | |
Exceptions | array[string] | ||
ObjectTriggeredActions | array[object] | ||
ActionStatus | string | Enum: | |
TriggeredActionType | string | Enum: | |
CoreEngines | array[object] | ||
EngineId | string | ||
EngineName | string | ||
EngineVersion | string | ||
DbVersion | string | ||
DefinitionTime | string |
Not Found
xxxxxxxxxx
[
{...}
]
Update the SMTP configuration
object | object | ||
ResponseKey | string | ||
ResponseMessage | string | ||
ResponseMessageParams | object | ||
* | string | ||
Smtp | object | ||
Host | string | ||
Port | int32 | ||
SenderAddress | string | ||
SenderName | string | ||
Domain | string | ||
BaseUrl | string | ||
UserName | string | ||
Password | string | ||
SecureSocketOption | string | Enum: | |
IgnoreCertWarnings | boolean | ||
IsEnabled | boolean |
xxxxxxxxxx
curl --request POST \
--url 'https://opswat.developerhub.io/api/v1/smtp' \
--header 'Authorization: Bearer {token}' \
--data '{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"ResponseMessageParams": {},
"Smtp": {
"Host": "{string}",
"Port": "{int32}",
"SenderAddress": "{string}",
"SenderName": "{string}",
"Domain": "{string}",
"BaseUrl": "{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 the SMTP configuration
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/smtp' \
--header 'Authorization: Bearer {token}'
Success
object | object | ||
ResponseKey | string | ||
ResponseMessage | string | ||
Smtp | object | ||
Host | string | ||
Port | int32 | ||
SenderAddress | string | ||
SenderName | string | ||
Domain | string | ||
BaseUrl | string | ||
UserName | string | ||
Password | string | ||
SecureSocketOption | string | Enum: | |
IgnoreCertWarnings | boolean | ||
IsEnabled | boolean |
Bad Request
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Smtp": {
"Host": "{string}",
"Port": "{int32}",
"SenderAddress": "{string}",
"SenderName": "{string}",
"Domain": "{string}",
"BaseUrl": "{string}",
"UserName": "{string}",
"Password": "{string}",
"SecureSocketOption": "{string}",
"IgnoreCertWarnings": "{boolean}",
"IsEnabled": "{boolean}"
}
}
Add Jira Configuration
object | object | ||
Id | string | ||
Name | string | ||
BaseAddress | string | ||
ProductAddress | string | ||
Username | string | ||
ApiKey | string |
xxxxxxxxxx
curl --request POST \
--url 'https://opswat.developerhub.io/api/v1/jira' \
--header 'Authorization: Bearer {token}' \
--data '{
"Id": "{string}",
"Name": "{string}",
"BaseAddress": "{string}",
"ProductAddress": "{string}",
"Username": "{string}",
"ApiKey": "{string}"
}'
Success
object | object | ||
ResponseKey | string | ||
ResponseMessage | string |
Bad Request
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
Get All Jira Configurations
xxxxxxxxxx
curl --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 | ||
BaseAddress | string | ||
ProductAddress | string | ||
Username | string | ||
ApiKey | string |
Bad Request
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"JiraEntries": [
{
"Id": "{string}",
"Name": "{string}",
"BaseAddress": "{string}",
"ProductAddress": "{string}",
"Username": "{string}",
"ApiKey": "{string}"
}
]
}
Get Jira Configuration by ID
id | string |
xxxxxxxxxx
curl --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 | ||
BaseAddress | string | ||
ProductAddress | string | ||
Username | string | ||
ApiKey | string |
Not Found
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Jira": {
"Id": "{string}",
"Name": "{string}",
"BaseAddress": "{string}",
"ProductAddress": "{string}",
"Username": "{string}",
"ApiKey": "{string}"
}
}
Update Jira Configuration by ID
id | string |
object | object | ||
Id | string | ||
Name | string | ||
BaseAddress | string | ||
ProductAddress | string | ||
Username | string | ||
ApiKey | string |
xxxxxxxxxx
curl --request PUT \
--url 'https://opswat.developerhub.io/api/v1/jira/%7Bid%7D' \
--header 'Authorization: Bearer {token}' \
--data '{
"Id": "{string}",
"Name": "{string}",
"BaseAddress": "{string}",
"ProductAddress": "{string}",
"Username": "{string}",
"ApiKey": "{string}"
}'
Success
object | object | ||
ResponseKey | string | ||
ResponseMessage | string |
Not Found
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
Delete Jira Configuration by ID
id | string |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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}"
}
]
}
Add a new user
object | object | ||
FullName | string | ||
UserName | string | ||
Password | string | ||
string | |||
Role | string | Enum: |
xxxxxxxxxx
curl --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 users
Type | string | Enum: | |
StartIndex | integer | ||
Count | integer | ||
SearchTerm | string |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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}"
}
Get current user
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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 |
xxxxxxxxxx
curl --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
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/version' \
--header 'Authorization: Bearer {token}'
Success
object | object | ||
ResponseKey | string | ||
ResponseMessage | string | ||
ResponseMessageParams | object | ||
* | string | ||
Version | string | ||
LastSupportedConfigVersion | string |
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"ResponseMessageParams": {},
"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 |
xxxxxxxxxx
curl --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
xxxxxxxxxx
No response
Handle Scan Event
Handles a scan event triggered by a webhook. Requires a custom body.
routeParameter | string |
No request body |
xxxxxxxxxx
curl --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
xxxxxxxxxx
No response
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 | ||
BranchNamesToScan | array[string] | ||
TagNamesToScan | array[string] | ||
Remediations | array[object] | ||
IsEnabled | boolean | ||
Type | string | ||
Config | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode |
xxxxxxxxxx
curl --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}",
"BranchNamesToScan": [
"{array[string]...}"
],
"TagNamesToScan": [
"{array[string]...}"
]
}
]
}
],
"Remediations": [
{
"IsEnabled": "{boolean}",
"Type": "{string}",
"Config": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
]
}'
Success
object | object | ||
Result | string | Enum: | |
ResponseKey | string | ||
ResponseMessage | string |
Bad Request
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
List all workflows
includeDeleted | boolean |
xxxxxxxxxx
curl --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 | ||
BranchNamesToScan | array[string] | ||
TagNamesToScan | array[string] | ||
Remediations | array[object] | ||
IsEnabled | boolean | ||
Type | string | ||
Config | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode |
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}",
"BranchNamesToScan": [
"{array[string]...}"
],
"TagNamesToScan": [
"{array[string]...}"
]
}
]
}
],
"Remediations": [
{
"IsEnabled": "{boolean}",
"Type": "{string}",
"Config": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
]
}
]
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 | ||
BranchNamesToScan | array[string] | ||
TagNamesToScan | array[string] | ||
Remediations | array[object] | ||
IsEnabled | boolean | ||
Type | string | ||
Config | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode |
xxxxxxxxxx
curl --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}",
"BranchNamesToScan": [
"{array[string]...}"
],
"TagNamesToScan": [
"{array[string]...}"
]
}
]
}
],
"Remediations": [
{
"IsEnabled": "{boolean}",
"Type": "{string}",
"Config": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
]
}'
Success
object | object | ||
Result | string | Enum: | |
ResponseKey | string | ||
ResponseMessage | string |
Bad Request
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
Get workflow by Id
id | string |
xxxxxxxxxx
curl --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 | ||
BranchNamesToScan | array[string] | ||
TagNamesToScan | array[string] | ||
Remediations | array[object] | ||
IsEnabled | boolean | ||
Type | string | ||
Config | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode |
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}",
"BranchNamesToScan": [
"{array[string]...}"
],
"TagNamesToScan": [
"{array[string]...}"
]
}
]
}
],
"Remediations": [
{
"IsEnabled": "{boolean}",
"Type": "{string}",
"Config": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
]
}
Delete Workflow by id
id | string |
xxxxxxxxxx
curl --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 |
Bad Request
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
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 | ||
BranchNamesToScan | array[string] | ||
TagNamesToScan | array[string] |
xxxxxxxxxx
curl --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}",
"BranchNamesToScan": [
"{array[string]...}"
],
"TagNamesToScan": [
"{array[string]...}"
]
}
]
}'
Success
object | object | ||
Result | string | Enum: | |
ResponseKey | string | ||
ResponseMessage | string |
Bad Request
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
List all workflows by repositoryId
repositoryId | string |
xxxxxxxxxx
curl --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 | ||
BranchNamesToScan | array[string] | ||
TagNamesToScan | array[string] | ||
Remediations | array[object] | ||
IsEnabled | boolean | ||
Type | string | ||
Config | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode |
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}",
"BranchNamesToScan": [
"{array[string]...}"
],
"TagNamesToScan": [
"{array[string]...}"
]
}
]
}
],
"Remediations": [
{
"IsEnabled": "{boolean}",
"Type": "{string}",
"Config": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
]
}
]
Licenses
online
object | object | ||
Key | string | minLength: 1 |
xxxxxxxxxx
curl --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}"
}
licenses
xxxxxxxxxx
curl --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}"
}
licenses
xxxxxxxxxx
curl --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}"
}
Ocm
ocm
object | object | ||
ServerApi | string | ||
RegCode | string |
xxxxxxxxxx
curl --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}"
}
ocm
xxxxxxxxxx
curl --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}"
}
ocm
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/ocm' \
--header 'Authorization: Bearer {token}'
Success
object | object | ||
ResponseKey | string | ||
ResponseMessage | string | ||
OcmInformation | object | ||
Id | string | ||
ServerApi | string | ||
RegistrationCode | string | ||
ConnectionStatus | string | Enum: | |
EnrollStatus | string | Enum: | |
LastServerConnection | int64 | ||
LastConfigurationSync | int64 | ||
ApiKey | string | ||
CmVersion | string | ||
DeploymentId | string | ||
ScanConfigurationHash | string | ||
StorageConfigurationHash | string | ||
SmtpConfigurationHash | string | ||
NotificationConfigurationHash | string | ||
RetentionConfigurationHash | string | ||
ExternalLoggerConfigurationHash | string | ||
UserConfigurationHash | string | ||
LicenseConfigurationHash | string |
xxxxxxxxxx
{
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"OcmInformation": {
"Id": "{string}",
"ServerApi": "{string}",
"RegistrationCode": "{string}",
"ConnectionStatus": "{string}",
"EnrollStatus": "{string}",
"LastServerConnection": "{int64}",
"LastConfigurationSync": "{int64}",
"ApiKey": "{string}",
"CmVersion": "{string}",
"DeploymentId": "{string}",
"ScanConfigurationHash": "{string}",
"StorageConfigurationHash": "{string}",
"SmtpConfigurationHash": "{string}",
"NotificationConfigurationHash": "{string}",
"RetentionConfigurationHash": "{string}",
"ExternalLoggerConfigurationHash": "{string}",
"UserConfigurationHash": "{string}",
"LicenseConfigurationHash": "{string}"
}
}
Services
services
object | object | ||
Name | string | ||
Source | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode | ||
VendorType | string | Enum: | |
ProtocolType | string | Enum: | |
Credentials | string |
xxxxxxxxxx
curl --request POST \
--url 'https://opswat.developerhub.io/api/v1/services' \
--header 'Authorization: Bearer {token}' \
--data '{
"Name": "{string}",
"Source": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
},
"VendorType": "{string}",
"ProtocolType": "{string}",
"Credentials": "{string}"
}'
Success
object | object | ||
Result | string | Enum: | |
ResponseKey | string | ||
ResponseMessage | string | ||
Id | string | ||
Name | string | ||
Type | object | ||
Name | string | ||
CategoryType | string | Enum: | |
ProtocolType | string | Enum: | |
VendorType | string | Enum: | |
Details | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode |
Bad Request
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Id": "{string}",
"Name": "{string}",
"Type": {
"Name": "{string}",
"CategoryType": "{string}",
"ProtocolType": "{string}",
"VendorType": "{string}"
},
"Details": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
services
content | boolean | ||
type | array | Enum: |
xxxxxxxxxx
curl --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 | ||
Source | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode | ||
VendorType | string | Enum: | |
ProtocolType | string | Enum: | |
Id | string | ||
CredentialsType | int32 | ||
ScanWorkflowId | string | ||
StatusMessage | string |
Success
Bad Request
xxxxxxxxxx
{
"ServiceDtos": [
{
"Name": "{string}",
"Source": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
},
"VendorType": "{string}",
"ProtocolType": "{string}",
"Id": "{string}",
"CredentialsType": "{int32}",
"ScanWorkflowId": "{string}"
}
],
"StatusMessage": "{string}"
}
{serviceId}
serviceId | string |
object | object | ||
Name | string | ||
Credentials | string | ||
HasNewCredentials | boolean |
xxxxxxxxxx
curl --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 | ||
Result | string | Enum: | |
ResponseKey | string | ||
ResponseMessage | string | ||
Id | string | ||
Name | string | ||
Type | object | ||
Name | string | ||
CategoryType | string | Enum: | |
ProtocolType | string | Enum: | |
VendorType | string | Enum: | |
Details | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode |
Bad Request
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}",
"Id": "{string}",
"Name": "{string}",
"Type": {
"Name": "{string}",
"CategoryType": "{string}",
"ProtocolType": "{string}",
"VendorType": "{string}"
},
"Details": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
}
}
{serviceId}
serviceId | string |
content | boolean | ||
Page | integer | ||
PageSize | integer | ||
FilterValue | string | ||
Cursor | integer | ||
PrioritizedRepositories | string |
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D' \
--header 'Authorization: Bearer {token}' \
--data content={content} \
--data Page={Page} \
--data PageSize={PageSize} \
--data FilterValue={FilterValue} \
--data Cursor={Cursor} \
--data PrioritizedRepositories={PrioritizedRepositories}
Success
object | object | ||
Name | string | ||
Source | object | ||
Options | object | ||
PropertyNameCaseInsensitive | boolean | ||
Parent | System.Text.Json.Nodes.JsonNode | ||
Root | System.Text.Json.Nodes.JsonNode | ||
VendorType | string | Enum: | |
ProtocolType | string | Enum: | |
Id | string | ||
CredentialsType | int32 | ||
ScanWorkflowId | string |
Bad Request
Not Found
xxxxxxxxxx
{
"Name": "{string}",
"Source": {
"Options": {
"PropertyNameCaseInsensitive": "{boolean}"
},
"Parent": "{System.Text.Json.Nodes.JsonNode}",
"Root": "{System.Text.Json.Nodes.JsonNode}"
},
"VendorType": "{string}",
"ProtocolType": "{string}",
"Id": "{string}",
"CredentialsType": "{int32}",
"ScanWorkflowId": "{string}"
}
{serviceId}
serviceId | string |
xxxxxxxxxx
curl --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 |
Not Found
xxxxxxxxxx
{
"Result": "{string}",
"ResponseKey": "{string}",
"ResponseMessage": "{string}"
}
branches
serviceId | string |
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/branches' \
--header 'Authorization: Bearer {token}'
Success
object | object | ||
ServiceId | string | ||
ServiceName | string | ||
RepositoryBranchInfoArray | array[object] | ||
RepositoryId | string | ||
DefaultBranch | string | ||
Branches | array[string] |
Not Found
xxxxxxxxxx
{
"ServiceId": "{string}",
"ServiceName": "{string}",
"RepositoryBranchInfoArray": [
{
"RepositoryId": "{string}",
"DefaultBranch": "{string}",
"Branches": [
"{array[string]...}"
]
}
]
}
tags
serviceId | string |
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/tags' \
--header 'Authorization: Bearer {token}'
Success
object | object | ||
ServiceId | string | ||
RepositoryTagInfoArray | array[object] | ||
RepositoryId | string | ||
DefaultTag | string | ||
Tags | array[string] |
Not Found
xxxxxxxxxx
{
"ServiceId": "{string}",
"RepositoryTagInfoArray": [
{
"RepositoryId": "{string}",
"DefaultTag": "{string}",
"Tags": [
"{array[string]...}"
]
}
]
}
resources
serviceId | string |
xxxxxxxxxx
curl --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]...}"
]
}
tags
serviceId | string | ||
repositoryId | string |
Page | integer | ||
PageSize | integer | ||
FilterValue | string | ||
Cursor | integer |
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/%7BrepositoryId%7D/tags' \
--header 'Authorization: Bearer {token}' \
--data Page={Page} \
--data PageSize={PageSize} \
--data FilterValue={FilterValue} \
--data Cursor={Cursor}
Success
object | object | ||
Tags | array[string] | ||
TotalTags | int32 |
Not Found
xxxxxxxxxx
{
"Tags": [
"{array[string]...}"
],
"TotalTags": "{int32}"
}
branches
serviceId | string | ||
repositoryId | string |
Page | integer | ||
PageSize | integer | ||
FilterValue | string | ||
Cursor | integer |
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/%7BrepositoryId%7D/branches' \
--header 'Authorization: Bearer {token}' \
--data Page={Page} \
--data PageSize={PageSize} \
--data FilterValue={FilterValue} \
--data Cursor={Cursor}
Success
object | object | ||
ServiceId | string | minLength: 1 | |
RepositoryId | string | minLength: 1 | |
DefaultBranch | string | ||
Branches | array[string] | ||
TotalBranches | int32 |
Not Found
xxxxxxxxxx
{
"ServiceId": "{string}",
"RepositoryId": "{string}",
"DefaultBranch": "{string}",
"Branches": [
"{array[string]...}"
],
"TotalBranches": "{int32}"
}
branches
array | array[object] | ||
ServiceId | string | ||
RepositoryIds | array[string] |
xxxxxxxxxx
curl --request POST \
--url 'https://opswat.developerhub.io/api/v1/services/branches' \
--header 'Authorization: Bearer {token}' \
--data '[
{
"ServiceId": "{string}",
"RepositoryIds": [
"{array[string]...}"
]
}
]'
Success
array | array[object] | ||
ServiceId | string | ||
ServiceName | string | ||
RepositoryBranchInfoArray | array[object] | ||
RepositoryId | string | ||
DefaultBranch | string | ||
Branches | array[string] |
Not Found
xxxxxxxxxx
[
{
"ServiceId": "{string}",
"ServiceName": "{string}",
"RepositoryBranchInfoArray": [
{
"RepositoryId": "{string}",
"DefaultBranch": "{string}",
"Branches": [
"{array[string]...}"
]
}
]
}
]
tags
array | array[object] | ||
ServiceId | string | ||
RepositoryIds | array[string] |
xxxxxxxxxx
curl --request POST \
--url 'https://opswat.developerhub.io/api/v1/services/tags' \
--header 'Authorization: Bearer {token}' \
--data '[
{
"ServiceId": "{string}",
"RepositoryIds": [
"{array[string]...}"
]
}
]'
Success
array | array[object] | ||
ServiceId | string | ||
RepositoryTagInfoArray | array[object] | ||
RepositoryId | string | ||
DefaultTag | string | ||
Tags | array[string] |
Not Found
xxxxxxxxxx
[
{
"ServiceId": "{string}",
"RepositoryTagInfoArray": [
{
"RepositoryId": "{string}",
"DefaultTag": "{string}",
"Tags": [
"{array[string]...}"
]
}
]
}
]
Startup
startup
xxxxxxxxxx
curl --get \
--url 'https://opswat.developerhub.io/api/v1/startup' \
--header 'Authorization: Bearer {token}'
Success
No response body |
Server Error
xxxxxxxxxx
No response