Authentication
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
Manage Audit
List audit events
| Start | string | pattern: | |
| Count | string | pattern: | |
| LogType | string | pattern: | |
| CategoryType | string | pattern: | |
| LogLevel | string | pattern: | |
| SearchText | string | pattern: |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/audit' \ --data Start={Start} \ --data Count={Count} \ --data LogType={LogType} \ --data CategoryType={CategoryType} \ --data LogLevel={LogLevel} \ --data SearchText={SearchText}OK
| object | object | ||
| entries | array[object] | ||
| id | string | ||
| level | integer | ||
| properties | object | ||
| logType | integer | ||
| category | integer | ||
| eventTimestamp | date-time | ||
| userId | string | ||
| userName | string | ||
| renderedMessage | string | ||
| totalCount | int64 | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
xxxxxxxxxx{ "entries": [ { "id": "{string}", "level": "{integer}", "properties": { "logType": "{integer}", "category": "{integer}", "eventTimestamp": "{date-time}", "userId": "{string}", "userName": "{string}" }, "renderedMessage": "{string}" } ], "totalCount": "{int64}", "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Manage Configuration
Get application configuration
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Manage Export
Export a CycloneDX report for repository
| repoId | string |
| Reference | string | pattern: |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/cyclonedx/%7BrepoId%7D' \ --data Reference={Reference}OK
| object | object | ||
| fileStream | file | ||
| contentType | string | ||
| fileDownloadName | string | ||
| lastModified | date-time | ||
| entityTag | object | ||
| tag | object | ||
| buffer | string | ||
| offset | int32 | ||
| length | int32 | ||
| value | string | ||
| hasValue | boolean | ||
| isWeak | boolean | ||
| enableRangeProcessing | boolean |
Bad Request
Not Found
xxxxxxxxxx{ "fileStream": "{file}", "contentType": "{string}", "fileDownloadName": "{string}", "lastModified": "{date-time}", "entityTag": { "tag": { "buffer": "{string}", "offset": "{int32}", "length": "{int32}", "value": "{string}", "hasValue": "{boolean}" }, "isWeak": "{boolean}" }, "enableRangeProcessing": "{boolean}"}Export an SPDX v3 report for repository
| scanId | string |
| format | string | ||
| version | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/spdx/%7BscanId%7D' \ --data format={format} \ --data version={version}OK
| object | object | ||
| fileStream | file | ||
| contentType | string | ||
| fileDownloadName | string | ||
| lastModified | date-time | ||
| entityTag | object | ||
| tag | object | ||
| buffer | string | ||
| offset | int32 | ||
| length | int32 | ||
| value | string | ||
| hasValue | boolean | ||
| isWeak | boolean | ||
| enableRangeProcessing | boolean |
Bad Request
Not Found
xxxxxxxxxx{ "fileStream": "{file}", "contentType": "{string}", "fileDownloadName": "{string}", "lastModified": "{date-time}", "entityTag": { "tag": { "buffer": "{string}", "offset": "{int32}", "length": "{int32}", "value": "{string}", "hasValue": "{boolean}" }, "isWeak": "{boolean}" }, "enableRangeProcessing": "{boolean}"}Export a PDF report for all scans
| ProductAddress | string | pattern: | |
| Type | array | ||
| TimeFrame | string | pattern: | |
| Vulnerabilities | array | ||
| LicenseRisks | array | ||
| Status | array | ||
| TriggerEvent | array | ||
| Workflow | string | pattern: | |
| Connection | string | pattern: | |
| Secrets | boolean | ||
| Threats | boolean | ||
| Search | string | pattern: | |
| ConnectionType | string | pattern: | |
| RepositoryId | string | pattern: | |
| Latest | boolean |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/pdf/all-scans' \ --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} \ --data RepositoryId={RepositoryId} \ --data Latest={Latest}OK
| object | object | ||
| fileStream | file | ||
| contentType | string | ||
| fileDownloadName | string | ||
| lastModified | date-time | ||
| entityTag | object | ||
| tag | object | ||
| buffer | string | ||
| offset | int32 | ||
| length | int32 | ||
| value | string | ||
| hasValue | boolean | ||
| isWeak | boolean | ||
| enableRangeProcessing | boolean |
Bad Request
Not Found
xxxxxxxxxx{ "fileStream": "{file}", "contentType": "{string}", "fileDownloadName": "{string}", "lastModified": "{date-time}", "entityTag": { "tag": { "buffer": "{string}", "offset": "{int32}", "length": "{int32}", "value": "{string}", "hasValue": "{boolean}" }, "isWeak": "{boolean}" }, "enableRangeProcessing": "{boolean}"}Export a PDF overview report for repository
| scanId | string |
| ProductAddress | string | pattern: |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/pdf/overview/%7BscanId%7D' \ --data ProductAddress={ProductAddress}OK
| object | object | ||
| fileStream | file | ||
| contentType | string | ||
| fileDownloadName | string | ||
| lastModified | date-time | ||
| entityTag | object | ||
| tag | object | ||
| buffer | string | ||
| offset | int32 | ||
| length | int32 | ||
| value | string | ||
| hasValue | boolean | ||
| isWeak | boolean | ||
| enableRangeProcessing | boolean |
Bad Request
Not Found
xxxxxxxxxx{ "fileStream": "{file}", "contentType": "{string}", "fileDownloadName": "{string}", "lastModified": "{date-time}", "entityTag": { "tag": { "buffer": "{string}", "offset": "{int32}", "length": "{int32}", "value": "{string}", "hasValue": "{boolean}" }, "isWeak": "{boolean}" }, "enableRangeProcessing": "{boolean}"}Export a PDF SBOM report for repository
| scanId | string |
| ProductAddress | string | pattern: |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/pdf/sbom/%7BscanId%7D' \ --data ProductAddress={ProductAddress}OK
| object | object | ||
| fileStream | file | ||
| contentType | string | ||
| fileDownloadName | string | ||
| lastModified | date-time | ||
| entityTag | object | ||
| tag | object | ||
| buffer | string | ||
| offset | int32 | ||
| length | int32 | ||
| value | string | ||
| hasValue | boolean | ||
| isWeak | boolean | ||
| enableRangeProcessing | boolean |
Bad Request
Not Found
xxxxxxxxxx{ "fileStream": "{file}", "contentType": "{string}", "fileDownloadName": "{string}", "lastModified": "{date-time}", "entityTag": { "tag": { "buffer": "{string}", "offset": "{int32}", "length": "{int32}", "value": "{string}", "hasValue": "{boolean}" }, "isWeak": "{boolean}" }, "enableRangeProcessing": "{boolean}"}Export a PDF SBOM report for a specific batch of files
| fileId | string |
| ProductAddress | string | pattern: |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/pdf/sbom/file/%7BfileId%7D' \ --data ProductAddress={ProductAddress}OK
| object | object | ||
| fileStream | file | ||
| contentType | string | ||
| fileDownloadName | string | ||
| lastModified | date-time | ||
| entityTag | object | ||
| tag | object | ||
| buffer | string | ||
| offset | int32 | ||
| length | int32 | ||
| value | string | ||
| hasValue | boolean | ||
| isWeak | boolean | ||
| enableRangeProcessing | boolean |
Bad Request
Not Found
xxxxxxxxxx{ "fileStream": "{file}", "contentType": "{string}", "fileDownloadName": "{string}", "lastModified": "{date-time}", "entityTag": { "tag": { "buffer": "{string}", "offset": "{int32}", "length": "{int32}", "value": "{string}", "hasValue": "{boolean}" }, "isWeak": "{boolean}" }, "enableRangeProcessing": "{boolean}"}Export a CSV report for repository
| scanId | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/csv/sbom/%7BscanId%7D'OK
| object | object | ||
| fileStream | file | ||
| contentType | string | ||
| fileDownloadName | string | ||
| lastModified | date-time | ||
| entityTag | object | ||
| tag | object | ||
| buffer | string | ||
| offset | int32 | ||
| length | int32 | ||
| value | string | ||
| hasValue | boolean | ||
| isWeak | boolean | ||
| enableRangeProcessing | boolean |
Bad Request
Not Found
xxxxxxxxxx{ "fileStream": "{file}", "contentType": "{string}", "fileDownloadName": "{string}", "lastModified": "{date-time}", "entityTag": { "tag": { "buffer": "{string}", "offset": "{int32}", "length": "{int32}", "value": "{string}", "hasValue": "{boolean}" }, "isWeak": "{boolean}" }, "enableRangeProcessing": "{boolean}"}Export a CSV report for a specific batch of files
| fileId | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/export/csv/sbom/file/%7BfileId%7D'OK
| object | object | ||
| fileStream | file | ||
| contentType | string | ||
| fileDownloadName | string | ||
| lastModified | date-time | ||
| entityTag | object | ||
| tag | object | ||
| buffer | string | ||
| offset | int32 | ||
| length | int32 | ||
| value | string | ||
| hasValue | boolean | ||
| isWeak | boolean | ||
| enableRangeProcessing | boolean |
Bad Request
Not Found
xxxxxxxxxx{ "fileStream": "{file}", "contentType": "{string}", "fileDownloadName": "{string}", "lastModified": "{date-time}", "entityTag": { "tag": { "buffer": "{string}", "offset": "{int32}", "length": "{int32}", "value": "{string}", "hasValue": "{boolean}" }, "isWeak": "{boolean}" }, "enableRangeProcessing": "{boolean}"}Manage External Loggers
Get all external loggers
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/externallogger'OK
| No response body |
xxxxxxxxxxNo responseAdd an external logger
| object | object | ||
| connectionSettings | object | ||
| serverAddress | string | ||
| port | int32 | ||
| facility | integer | ||
| format | integer |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/externallogger' \ --data '{ "connectionSettings": { "serverAddress": "{string}", "port": "{int32}", "facility": "{integer}", "format": "{integer}" }}'OK
| No response body |
xxxxxxxxxxNo responseUpdate an external logger
| id | string |
| object | object | ||
| connectionSettings | object | ||
| serverAddress | string | ||
| port | int32 | ||
| facility | integer | ||
| format | integer |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/externallogger/%7Bid%7D' \ --data '{ "connectionSettings": { "serverAddress": "{string}", "port": "{int32}", "facility": "{integer}", "format": "{integer}" }}'OK
| No response body |
xxxxxxxxxxNo responseDelete an external logger
| id | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/externallogger/%7Bid%7D'OK
| No response body |
xxxxxxxxxxNo responseManage Files
Get files uploaded and scanned directly in the system
| page | integer | ||
| pageSize | integer | ||
| search | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/file/direct' \ --data page={page} \ --data pageSize={pageSize} \ --data search={search}OK
| object | object | ||
| count | int32 | ||
| blockedFiles | int32 | ||
| files | array[object] | ||
| id | string | ||
| scanResultId | string | ||
| fileName | string | ||
| filePath | string | ||
| vulnerabilityIssues | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| dependencyVulnerabilityIssues | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| cves | array[object] | ||
| id | string | ||
| fixedVersions | array[string] | ||
| severity | integer | ||
| source | string | ||
| cwes | array[string] | ||
| steps | array[object] | ||
| command | 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 | ||
| 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 | ||
| dependencies | array[object] | ||
| ecosystem | string | ||
| group | string | ||
| packageName | string | ||
| packageVersion | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| severity | string | ||
| source | string | ||
| fixedVersions | array[string] | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| supplierName | string | ||
| releaseDate | date-time | ||
| labels | array[object] | ||
| key | string | ||
| value | string | ||
| valueType | string | ||
| created | date-time | ||
| updated | date-time | ||
| latest | object | ||
| version | string | ||
| releaseDate | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| step | int32 | ||
| vulnerabilityCount | int32 | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| hash | string | ||
| severity | integer | ||
| isMalware | boolean | ||
| hasSecrets | boolean | ||
| blocked | boolean | ||
| vulnerable | boolean | ||
| licenses | object | ||
| allowed | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usageRestriction | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| blocked | array | ||
| processingState | integer | ||
| isArchive | boolean | ||
| size | int64 | ||
| hash | string | ||
| startTime | date-time | ||
| metadata | string | ||
| packages | array[object] | ||
| packageId | string | ||
| ecosystem | string | ||
| group | string | ||
| packageName | string | ||
| packageVersion | string | ||
| target | 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 | ||
| vulnerabilities | array | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| dependencies | array | ||
| labels | array | ||
| latest | object | ||
| version | string | ||
| releaseDate | string | ||
| hasMoreItems | boolean |
Not Found
xxxxxxxxxx{ "count": "{int32}", "blockedFiles": "{int32}", "files": [...], "hasMoreItems": "{boolean}"}Manage Global Label Keys
Returns all global label keys
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/global-label-keys'OK
| object | object | ||
| globalKeys | array[object] | ||
| id | string | ||
| name | string | ||
| description | string | ||
| valueType | string | ||
| options | array[string] | ||
| created | date-time | ||
| updated | date-time | ||
| tenantId | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "globalKeys": [ { "id": "{string}", "name": "{string}", "description": "{string}", "valueType": "{string}", "options": [ "{array[string]...}" ], "created": "{date-time}", "updated": "{date-time}", "tenantId": "{string}", "createdAt": "{date-time}", "lastUpdated": "{date-time}" } ], "responseKey": "{string}", "responseMessage": "{string}"}Adds a new global label key
| object | object | ||
| name | string | ||
| description | string | ||
| valueType | string | ||
| options | array[string] |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/global-label-keys' \ --data '{ "name": "{string}", "description": "{string}", "valueType": "{string}", "options": [ "{array[string]...}" ]}'OK
| object | object | ||
| globalKey | object | ||
| id | string | ||
| name | string | ||
| description | string | ||
| valueType | string | ||
| options | array[string] | ||
| created | date-time | ||
| updated | date-time | ||
| tenantId | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "globalKey": { "id": "{string}", "name": "{string}", "description": "{string}", "valueType": "{string}", "options": [ "{array[string]...}" ], "created": "{date-time}", "updated": "{date-time}", "tenantId": "{string}", "createdAt": "{date-time}", "lastUpdated": "{date-time}" }, "responseKey": "{string}", "responseMessage": "{string}"}Updates an global label key
| id | string |
| object | object | ||
| name | string | ||
| description | string | ||
| valueType | string | ||
| options | array[string] |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/global-label-keys/%7Bid%7D' \ --data '{ "name": "{string}", "description": "{string}", "valueType": "{string}", "options": [ "{array[string]...}" ]}'OK
| object | object | ||
| globalKey | object | ||
| id | string | ||
| name | string | ||
| description | string | ||
| valueType | string | ||
| options | array[string] | ||
| created | date-time | ||
| updated | date-time | ||
| tenantId | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "globalKey": { "id": "{string}", "name": "{string}", "description": "{string}", "valueType": "{string}", "options": [ "{array[string]...}" ], "created": "{date-time}", "updated": "{date-time}", "tenantId": "{string}", "createdAt": "{date-time}", "lastUpdated": "{date-time}" }, "responseKey": "{string}", "responseMessage": "{string}"}Deletes an global label key
| id | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/global-label-keys/%7Bid%7D'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Manage Licenses
Activate an online license
| object | object | ||
| key | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/licenses/online' \ --data '{ "key": "{string}"}'OK
| object | object | ||
| result | integer | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "result": "{integer}", "responseMessage": "{string}"}Remove licenses
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/licenses'OK
| object | object | ||
| result | integer | ||
| responseMessage | string |
Bad Request
Not Found
xxxxxxxxxx{ "result": "{integer}", "responseMessage": "{string}"}Get licenses
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/licenses'OK
| object | object | ||
| result | integer | ||
| license | object | ||
| productId | string | ||
| productName | string | ||
| expiration | int64 | ||
| deploymentId | string | ||
| activationKey | string | ||
| licenseContent | string | ||
| maxDevelopers | int32 | ||
| responseMessage | string |
Bad Request
Not Found
xxxxxxxxxx{ "result": "{integer}", "license": { "productId": "{string}", "productName": "{string}", "expiration": "{int64}", "deploymentId": "{string}", "activationKey": "{string}", "licenseContent": "{string}", "maxDevelopers": "{int32}" }, "responseMessage": "{string}"}Manage Opswat Central Management Ocm
Update an OCM instance
| object | object | ||
| serverApi | string | ||
| regCode | string |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/ocm' \ --data '{ "serverApi": "{string}", "regCode": "{string}"}'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Delete an OCM instance
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/ocm'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Get an OCM instance
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/ocm'OK
| object | object | ||
| ocmInformation | object | ||
| id | string | ||
| apiKey | string | ||
| serverApi | string | ||
| registrationCode | string | ||
| deploymentId | string | ||
| cmVersion | string | ||
| scanConfigurationHash | string | ||
| storageConfigurationHash | string | ||
| retentionConfigurationHash | string | ||
| externalLoggerConfigurationHash | string | ||
| userConfigurationHash | string | ||
| licenseConfigurationHash | string | ||
| smtpConfigurationHash | string | ||
| notificationConfigurationHash | string | ||
| enrollStatus | integer | ||
| lastServerConnection | int64 | ||
| lastConfigurationSync | int64 | ||
| connectionStatus | integer | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| tenantId | string | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "ocmInformation": { "id": "{string}", "apiKey": "{string}", "serverApi": "{string}", "registrationCode": "{string}", "deploymentId": "{string}", "cmVersion": "{string}", "scanConfigurationHash": "{string}", "storageConfigurationHash": "{string}", "retentionConfigurationHash": "{string}", "externalLoggerConfigurationHash": "{string}", "userConfigurationHash": "{string}", "licenseConfigurationHash": "{string}", "smtpConfigurationHash": "{string}", "notificationConfigurationHash": "{string}", "enrollStatus": "{integer}", "lastServerConnection": "{int64}", "lastConfigurationSync": "{int64}", "connectionStatus": "{integer}", "createdAt": "{date-time}", "lastUpdated": "{date-time}", "tenantId": "{string}" }, "responseKey": "{string}", "responseMessage": "{string}"}Manage Onboarding
Get onboarding
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/onboarding'OK
| object | object | ||
| hasUserConfigured | boolean | ||
| hasLicenseConfigured | boolean | ||
| hasScanInstanceConfigured | boolean | ||
| hasConnectionConfigured | boolean | ||
| isCloudType | boolean | ||
| isEulaAgreed | boolean | ||
| isOnboardingDone | boolean | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "hasUserConfigured": "{boolean}", "hasLicenseConfigured": "{boolean}", "hasScanInstanceConfigured": "{boolean}", "hasConnectionConfigured": "{boolean}", "isCloudType": "{boolean}", "isEulaAgreed": "{boolean}", "isOnboardingDone": "{boolean}", "responseKey": "{string}", "responseMessage": "{string}"}Complete onboarding
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/onboarding/complete'OK
| No response body |
xxxxxxxxxxNo responseAgree to onboarding EULA
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/onboarding/accept-eula'OK
| No response body |
xxxxxxxxxxNo responseManage Packages
Retrieves a list of packages based on search criteria
| Name | string | pattern: | |
| Ecosystem | string | pattern: | |
| Version | string | pattern: | |
| Vulnerabilities | array | ||
| LicenseRisks | array | ||
| Connection | string | pattern: | |
| Repository | string | pattern: | |
| Reference | string | pattern: | |
| ScanId | string | pattern: | |
| StepSha256 | string | pattern: | |
| Search | string | pattern: |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages' \ --data Name={Name} \ --data Ecosystem={Ecosystem} \ --data Version={Version} \ --data Vulnerabilities={Vulnerabilities} \ --data LicenseRisks={LicenseRisks} \ --data Connection={Connection} \ --data Repository={Repository} \ --data Reference={Reference} \ --data ScanId={ScanId} \ --data StepSha256={StepSha256} \ --data Search={Search}OK
| object | object | ||
| 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 | ||
| 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 | ||
| dependencies | array[object] | ||
| ecosystem | string | ||
| group | string | ||
| packageName | string | ||
| packageVersion | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| severity | string | ||
| source | string | ||
| fixedVersions | array[string] | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| supplierName | string | ||
| releaseDate | date-time | ||
| labels | array[object] | ||
| key | string | ||
| value | string | ||
| valueType | string | ||
| created | date-time | ||
| updated | date-time | ||
| latest | object | ||
| version | string | ||
| releaseDate | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "packages": [...], "responseKey": "{string}", "responseMessage": "{string}"}Retrieves all versions of a specific package by its name and ecosystem
| ecosystem | string | ||
| packageName | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/versions' \ --data ecosystem={ecosystem} \ --data packageName={packageName}OK
| object | object | ||
| packageName | string | ||
| ecosystem | string | ||
| versions | array[object] | ||
| version | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| fixedVersions | array[string] | ||
| severity | integer | ||
| source | string | ||
| cwes | array[string] | ||
| supplierName | string | ||
| releaseDate | date-time | ||
| dependencies | array[object] | ||
| ecosystem | string | ||
| group | string | ||
| packageName | string | ||
| packageVersion | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| severity | string | ||
| source | string | ||
| fixedVersions | array[string] | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| licenses | object | ||
| allowed | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usageRestriction | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| blocked | array | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "packageName": "{string}", "ecosystem": "{string}", "versions": [ { "version": "{string}", "vulnerabilities": [ { "id": "{string}", "fixedVersions": [ "{array[string]...}" ], "severity": "{integer}", "source": "{string}", "cwes": [ "{array[string]...}" ] } ], "supplierName": "{string}", "releaseDate": "{date-time}", "dependencies": [ { "ecosystem": "{string}", "group": "{string}", "packageName": "{string}", "packageVersion": "{string}", "vulnerabilities": [ { "id": "{string}", "severity": "{string}", "source": "{string}", "fixedVersions": [ "{array[string]...}" ], "cwes": [ "{array[string]...}" ], "type": "{string}" } ], "vulnerabilityCounts": { "critical": "{int32}", "high": "{int32}", "medium": "{int32}", "low": "{int32}", "unknown": "{int32}" } } ], "licenses": { "allowed": [ { "id": "{string}", "url": "{string}", "category": "{string}", "usageRestriction": { "permissions": [ "{array[string]...}" ], "conditions": [ "{array[string]...}" ], "limitations": [ "{array[string]...}" ] } } ], "blocked": [ "{array...}" ] } } ], "responseKey": "{string}", "responseMessage": "{string}"}Retrieves a package by its internal database ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D'OK
| object | object | ||
| 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 | ||
| 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 | integer | ||
| source | string | ||
| cwes | array[string] | ||
| dependencies | array[object] | ||
| ecosystem | string | ||
| group | string | ||
| packageName | string | ||
| packageVersion | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| severity | string | ||
| source | string | ||
| fixedVersions | array[string] | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| supplierName | string | ||
| releaseDate | date-time | ||
| labels | array[object] | ||
| key | string | ||
| value | string | ||
| valueType | string | ||
| created | date-time | ||
| updated | date-time | ||
| latest | object | ||
| version | string | ||
| releaseDate | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "package": {...}, "responseKey": "{string}", "responseMessage": "{string}"}Retrieves a package by its universal package UID
| uidInB64 | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/by-uid/%7BuidInB64%7D'OK
| object | object | ||
| 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 | ||
| 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 | integer | ||
| source | string | ||
| cwes | array[string] | ||
| dependencies | array[object] | ||
| ecosystem | string | ||
| group | string | ||
| packageName | string | ||
| packageVersion | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| severity | string | ||
| source | string | ||
| fixedVersions | array[string] | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| supplierName | string | ||
| releaseDate | date-time | ||
| labels | array[object] | ||
| key | string | ||
| value | string | ||
| valueType | string | ||
| created | date-time | ||
| updated | date-time | ||
| latest | object | ||
| version | string | ||
| releaseDate | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "package": {...}, "responseKey": "{string}", "responseMessage": "{string}"}Retrieves CVEs associated with a specific package
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/cves'OK
| object | object | ||
| cves | array[object] | ||
| id | string | ||
| fixedVersions | array[string] | ||
| severity | integer | ||
| source | string | ||
| cwes | array[string] | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "cves": [ { "id": "{string}", "fixedVersions": [ "{array[string]...}" ], "severity": "{integer}", "source": "{string}", "cwes": [ "{array[string]...}" ] } ], "responseKey": "{string}", "responseMessage": "{string}"}Retrieves all labels for a specific package
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/labels'OK
| object | object | ||
| labels | array[object] | ||
| Key | string | ||
| Value | string | ||
| ValueType | string | ||
| Created | date-time | ||
| Updated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "labels": [ { "Key": "{string}", "Value": "{string}", "ValueType": "{string}", "Created": "{date-time}", "Updated": "{date-time}" } ], "responseKey": "{string}", "responseMessage": "{string}"}Adds a label to a package
| id | string |
| object | object | ||
| Key | string | ||
| Value | string | ||
| ValueType | string | ||
| Created | date-time | ||
| Updated | date-time |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/labels' \ --data '{ "Key": "{string}", "Value": "{string}", "ValueType": "{string}", "Created": "{date-time}", "Updated": "{date-time}"}'OK
| object | object | ||
| label | object | ||
| Key | string | ||
| Value | string | ||
| ValueType | string | ||
| Created | date-time | ||
| Updated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "label": { "Key": "{string}", "Value": "{string}", "ValueType": "{string}", "Created": "{date-time}", "Updated": "{date-time}" }, "responseKey": "{string}", "responseMessage": "{string}"}Updates a label in a package
| id | string | ||
| key | string |
| object | object | ||
| value | string | ||
| valueType | string |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/labels/%7Bkey%7D' \ --data '{ "value": "{string}", "valueType": "{string}"}'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Deletes a label from a package
| id | string | ||
| key | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/packages/%7Bid%7D/labels/%7Bkey%7D'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Searches for packages by label key and optionally value
| key | string | ||
| value | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/packages/search/labels' \ --data key={key} \ --data value={value}OK
| object | object | ||
| 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 | ||
| 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 | ||
| dependencies | array[object] | ||
| ecosystem | string | ||
| group | string | ||
| packageName | string | ||
| packageVersion | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| severity | string | ||
| source | string | ||
| fixedVersions | array[string] | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| supplierName | string | ||
| releaseDate | date-time | ||
| labels | array[object] | ||
| key | string | ||
| value | string | ||
| valueType | string | ||
| created | date-time | ||
| updated | date-time | ||
| latest | object | ||
| version | string | ||
| releaseDate | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "packages": [...], "responseKey": "{string}", "responseMessage": "{string}"}Manage Projects
Create a project
| object | object | ||
| name | string | maxLength: 50 | |
| workflowIds | array[string] | ||
| storageIds | array[string] |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects' \ --data '{ "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ]}'OK
| object | object | ||
| project | object | ||
| id | string | ||
| name | string | ||
| workflowIds | array[string] | ||
| storageIds | array[string] | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "project": { "id": "{string}", "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ] }, "responseKey": "{string}", "responseMessage": "{string}"}List projects
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/projects'OK
| array | array[object] | ||
| id | string | ||
| name | string | ||
| workflowIds | array[string] | ||
| storageIds | array[string] |
xxxxxxxxxx[ { "id": "{string}", "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ] }]Get a project by ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D'OK
| object | object | ||
| id | string | ||
| name | string | ||
| workflowIds | array[string] | ||
| storageIds | array[string] |
Not Found
xxxxxxxxxx{ "id": "{string}", "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ]}Update a project
| id | string |
| object | object | ||
| name | string | maxLength: 50 |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D' \ --data '{ "name": "{string}"}'OK
| object | object | ||
| project | object | ||
| id | string | ||
| name | string | ||
| workflowIds | array[string] | ||
| storageIds | array[string] | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "project": { "id": "{string}", "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ] }, "responseKey": "{string}", "responseMessage": "{string}"}Delete a project
| id | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D'OK
| object | object | ||
| project | object | ||
| id | string | ||
| name | string | ||
| workflowIds | array[string] | ||
| storageIds | array[string] | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "project": { "id": "{string}", "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ] }, "responseKey": "{string}", "responseMessage": "{string}"}Attach workflows to a project
| id | string |
| object | object | ||
| ids | array[string] |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D/workflows/attach' \ --data '{ "ids": [ "{array[string]...}" ]}'OK
| object | object | ||
| project | object | ||
| id | string | ||
| name | string | ||
| workflowIds | array[string] | ||
| storageIds | array[string] | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "project": { "id": "{string}", "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ] }, "responseKey": "{string}", "responseMessage": "{string}"}Detach workflows from a project
| id | string |
| object | object | ||
| ids | array[string] |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D/workflows/detach' \ --data '{ "ids": [ "{array[string]...}" ]}'OK
| object | object | ||
| project | object | ||
| id | string | ||
| name | string | ||
| workflowIds | array[string] | ||
| storageIds | array[string] | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "project": { "id": "{string}", "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ] }, "responseKey": "{string}", "responseMessage": "{string}"}Attach connections (services) to a project
| id | string |
| object | object | ||
| ids | array[string] |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D/storages/attach' \ --data '{ "ids": [ "{array[string]...}" ]}'OK
| object | object | ||
| project | object | ||
| id | string | ||
| name | string | ||
| workflowIds | array[string] | ||
| storageIds | array[string] | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "project": { "id": "{string}", "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ] }, "responseKey": "{string}", "responseMessage": "{string}"}Detach connections (services) from a project
| id | string |
| object | object | ||
| ids | array[string] |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/projects/%7Bid%7D/storages/detach' \ --data '{ "ids": [ "{array[string]...}" ]}'OK
| object | object | ||
| project | object | ||
| id | string | ||
| name | string | ||
| workflowIds | array[string] | ||
| storageIds | array[string] | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "project": { "id": "{string}", "name": "{string}", "workflowIds": [ "{array[string]...}" ], "storageIds": [ "{array[string]...}" ] }, "responseKey": "{string}", "responseMessage": "{string}"}Manage Real-time Protection
Enable real-time protection for multiple repositories
| storageId | string |
| object | object | ||
| repositories | array[object] | ||
| repositoryId | string | ||
| repositoryName | string | ||
| connection | string | ||
| workflowId | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/enable' \ --data '{ "repositories": [ { "repositoryId": "{string}", "repositoryName": "{string}" } ], "connection": "{string}", "workflowId": "{string}"}'Multi-Status
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Conflict
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Disable real-time protection for connection
| storageId | string |
xxxxxxxxxxcurl --request PATCH \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/disable'OK
| No response body |
xxxxxxxxxxNo responseDisable real-time protection for repository
| storageId | string | ||
| repositoryId | string |
xxxxxxxxxxcurl --request PATCH \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/%7BrepositoryId%7D/disable'OK
| No response body |
xxxxxxxxxxNo responseList connections with real-time protection enabled
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/realtime'OK
| object | object | ||
| storages | array[object] | ||
| id | string | ||
| name | string | ||
| storageType | object | ||
| name | string | ||
| categoryType | integer | ||
| protocolType | integer | ||
| vendorType | integer | ||
| storageStatus | object | ||
| message | string | ||
| statusType | integer |
xxxxxxxxxx{ "storages": [ { "id": "{string}", "name": "{string}", "storageType": { "name": "{string}", "categoryType": "{integer}", "protocolType": "{integer}", "vendorType": "{integer}" }, "storageStatus": { "message": "{string}", "statusType": "{integer}" } } ]}List ongoing real-time protection scans for connection
| storageId | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D'OK
| object | object | ||
| storageId | string | ||
| realTimeScans | array[object] | ||
| scanId | string | ||
| repositoryId | string | ||
| repositoryName | string | ||
| scanningState | integer | ||
| workflowId | string | ||
| scanInformation | object | ||
| totalFiles | int32 | ||
| malware | int32 | ||
| secret | int32 | ||
| blockedFiles | int32 | ||
| vulnerabilityIssues | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| licenses | object | ||
| blockedLicensesCount | int32 | ||
| allowed | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usageRestriction | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| blocked | array | ||
| package | object | ||
| totalPackages | int32 | ||
| vulnerablePackages | int32 |
xxxxxxxxxx{ "storageId": "{string}", "realTimeScans": [ { "scanId": "{string}", "repositoryId": "{string}", "repositoryName": "{string}", "scanningState": "{integer}", "workflowId": "{string}" } ], "scanInformation": { "totalFiles": "{int32}", "malware": "{int32}", "secret": "{int32}", "blockedFiles": "{int32}", "vulnerabilityIssues": { "critical": "{int32}", "high": "{int32}", "medium": "{int32}", "low": "{int32}", "unknown": "{int32}" }, "licenses": { "blockedLicensesCount": "{int32}", "allowed": [ { "id": "{string}", "url": "{string}", "category": "{string}", "usageRestriction": { "permissions": [ "{array[string]...}" ], "conditions": [ "{array[string]...}" ], "limitations": [ "{array[string]...}" ] } } ], "blocked": [ "{array...}" ] }, "package": { "totalPackages": "{int32}", "vulnerablePackages": "{int32}" } }}Delete real-time scan protection for connection
| storageId | string |
| forceDelete | boolean |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D' \ --data forceDelete={forceDelete}OK
| No response body |
xxxxxxxxxxNo responseDelete real-time scan protection for repository
| storageId | string | ||
| repositoryId | string |
| forceDelete | boolean |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/realtime/%7BstorageId%7D/%7BrepositoryId%7D' \ --data forceDelete={forceDelete}OK
| No response body |
xxxxxxxxxxNo responseAdd a scan configuration
| object | object | ||
| name | string | maxLength: 50 minLength: 3 | |
| scanPoolId | string | ||
| rules | array[string] | ||
| userAgent | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations' \ --data '{ "name": "{string}", "scanPoolId": "{string}", "rules": [ "{array[string]...}" ], "userAgent": "{string}"}'OK
| object | object | ||
| id | string | ||
| scanPoolId | string | ||
| rules | array[string] | ||
| type | integer | ||
| name | string | ||
| scanPool | object | ||
| id | string | ||
| name | string | ||
| scanPoolType | integer | ||
| isDefault | boolean | ||
| scanInstances | array[object] | ||
| id | string | ||
| scanPoolId | string | ||
| url | string | ||
| apiKey | string | ||
| timeout | string | pattern: | |
| userAgent | string | ||
| filters | object | ||
| id | string | ||
| minimumSize | int64 | ||
| maximumSize | int64 | ||
| minimumDateTime | date-time | ||
| maximumDateTime | date-time |
Bad Request
Bad Gateway
xxxxxxxxxx{ "id": "{string}", "scanPoolId": "{string}", "rules": [ "{array[string]...}" ], "type": "{integer}", "name": "{string}", "scanPool": { "id": "{string}", "name": "{string}", "scanPoolType": "{integer}", "isDefault": "{boolean}", "scanInstances": [ { "id": "{string}", "scanPoolId": "{string}", "url": "{string}", "apiKey": "{string}", "timeout": "{string}" } ] }, "userAgent": "{string}", "filters": { "id": "{string}", "minimumSize": "{int64}", "maximumSize": "{int64}", "minimumDateTime": "{date-time}", "maximumDateTime": "{date-time}" }}Get all scan configurations
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations'OK
| object | object | ||
| Workflows | array[object] | ||
| id | string | ||
| scanPoolId | string | ||
| rules | array[string] | ||
| type | integer | ||
| name | string | ||
| scanPool | object | ||
| id | string | ||
| name | string | ||
| scanPoolType | integer | ||
| isDefault | boolean | ||
| scanInstances | array[object] | ||
| id | string | ||
| scanPoolId | string | ||
| url | string | ||
| apiKey | string | ||
| timeout | string | pattern: | |
| userAgent | string | ||
| filters | object | ||
| id | string | ||
| minimumSize | int64 | ||
| maximumSize | int64 | ||
| minimumDateTime | date-time | ||
| maximumDateTime | date-time | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "Workflows": [ { "id": "{string}", "scanPoolId": "{string}", "rules": [ "{array[string]...}" ], "type": "{integer}", "name": "{string}", "scanPool": { "id": "{string}", "name": "{string}", "scanPoolType": "{integer}", "isDefault": "{boolean}", "scanInstances": [ { "id": "{string}", "scanPoolId": "{string}", "url": "{string}", "apiKey": "{string}", "timeout": "{string}" } ] }, "userAgent": "{string}", "filters": { "id": "{string}", "minimumSize": "{int64}", "maximumSize": "{int64}", "minimumDateTime": "{date-time}", "maximumDateTime": "{date-time}" } } ], "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Update a scan configuration
| id | string |
| object | object | ||
| name | string | maxLength: 50 minLength: 3 | |
| scanPoolId | string | ||
| rules | array[string] | ||
| userAgent | string |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations/%7Bid%7D' \ --data '{ "name": "{string}", "scanPoolId": "{string}", "rules": [ "{array[string]...}" ], "userAgent": "{string}"}'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Delete a scan configuration
| id | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations/%7Bid%7D'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get a scan configuration by ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations/%7Bid%7D'OK
| object | object | ||
| Workflow | object | ||
| id | string | ||
| scanPoolId | string | ||
| rules | array[string] | ||
| type | integer | ||
| name | string | ||
| scanPool | object | ||
| id | string | ||
| name | string | ||
| scanPoolType | integer | ||
| isDefault | boolean | ||
| scanInstances | array[object] | ||
| id | string | ||
| scanPoolId | string | ||
| url | string | ||
| apiKey | string | ||
| timeout | string | pattern: | |
| userAgent | string | ||
| filters | object | ||
| id | string | ||
| minimumSize | int64 | ||
| maximumSize | int64 | ||
| minimumDateTime | date-time | ||
| maximumDateTime | date-time | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "Workflow": { "id": "{string}", "scanPoolId": "{string}", "rules": [ "{array[string]...}" ], "type": "{integer}", "name": "{string}", "scanPool": { "id": "{string}", "name": "{string}", "scanPoolType": "{integer}", "isDefault": "{boolean}", "scanInstances": [ { "id": "{string}", "scanPoolId": "{string}", "url": "{string}", "apiKey": "{string}", "timeout": "{string}" } ] }, "userAgent": "{string}", "filters": { "id": "{string}", "minimumSize": "{int64}", "maximumSize": "{int64}", "minimumDateTime": "{date-time}", "maximumDateTime": "{date-time}" } }, "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get all scan configurations by scan pool ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-configurations/scan-pools/%7Bid%7D'OK
| object | object | ||
| Workflows | array[object] | ||
| id | string | ||
| scanPoolId | string | ||
| rules | array[string] | ||
| type | integer | ||
| name | string | ||
| scanPool | object | ||
| id | string | ||
| name | string | ||
| scanPoolType | integer | ||
| isDefault | boolean | ||
| scanInstances | array[object] | ||
| id | string | ||
| scanPoolId | string | ||
| url | string | ||
| apiKey | string | ||
| timeout | string | pattern: | |
| userAgent | string | ||
| filters | object | ||
| id | string | ||
| minimumSize | int64 | ||
| maximumSize | int64 | ||
| minimumDateTime | date-time | ||
| maximumDateTime | date-time | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
xxxxxxxxxx{ "Workflows": [ { "id": "{string}", "scanPoolId": "{string}", "rules": [ "{array[string]...}" ], "type": "{integer}", "name": "{string}", "scanPool": { "id": "{string}", "name": "{string}", "scanPoolType": "{integer}", "isDefault": "{boolean}", "scanInstances": [ { "id": "{string}", "scanPoolId": "{string}", "url": "{string}", "apiKey": "{string}", "timeout": "{string}" } ] }, "userAgent": "{string}", "filters": { "id": "{string}", "minimumSize": "{int64}", "maximumSize": "{int64}", "minimumDateTime": "{date-time}", "maximumDateTime": "{date-time}" } } ], "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Manage Scan Instances
Add a new scan instance
| object | object | ||
| scanPoolId | string | ||
| url | string | ||
| apiKey | string | ||
| timeout | string | pattern: | |
| scanInstanceType | integer |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scan-instances' \ --data '{ "scanPoolId": "{string}", "url": "{string}", "apiKey": "{string}", "timeout": "{string}", "scanInstanceType": "{integer}"}'OK
| object | object | ||
| scanInstanceId | string | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "scanInstanceId": "{string}", "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Delete a scan instance
| id | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/scan-instances/%7Bid%7D'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get a scan instance by ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-instances/%7Bid%7D'OK
| object | object | ||
| scanInstance | object | ||
| id | string | ||
| scanPoolId | string | ||
| url | string | ||
| apiKey | string | ||
| timeout | string | pattern: | |
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "scanInstance": { "id": "{string}", "scanPoolId": "{string}", "url": "{string}", "apiKey": "{string}", "timeout": "{string}" }, "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Update a scan instance
| id | string |
| object | object | ||
| url | string | ||
| apiKey | string | ||
| timeout | string | pattern: |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/scan-instances/%7Bid%7D' \ --data '{ "url": "{string}", "apiKey": "{string}", "timeout": "{string}"}'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Add a new scan pool
| object | object | ||
| name | string | ||
| scanPoolType | integer |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scan-pools' \ --data '{ "name": "{string}", "scanPoolType": "{integer}"}'OK
| object | object | ||
| scanPoolId | string | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "scanPoolId": "{string}", "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get scan pools
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-pools'OK
| object | object | ||
| scanPools | array[object] | ||
| id | string | ||
| name | string | ||
| scanPoolType | integer | ||
| isDefault | boolean | ||
| scanInstances | array[object] | ||
| id | string | ||
| scanPoolId | string | ||
| url | string | ||
| apiKey | string | ||
| timeout | string | pattern: | |
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "scanPools": [ { "id": "{string}", "name": "{string}", "scanPoolType": "{integer}", "isDefault": "{boolean}", "scanInstances": [ { "id": "{string}", "scanPoolId": "{string}", "url": "{string}", "apiKey": "{string}", "timeout": "{string}" } ] } ], "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Delete a scan pool
| id | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/scan-pools/%7Bid%7D'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get a scan pool by ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-pools/%7Bid%7D'OK
| object | object | ||
| scanPool | object | ||
| id | string | ||
| name | string | ||
| scanPoolType | integer | ||
| isDefault | boolean | ||
| scanInstances | array[object] | ||
| id | string | ||
| scanPoolId | string | ||
| url | string | ||
| apiKey | string | ||
| timeout | string | pattern: | |
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "scanPool": { "id": "{string}", "name": "{string}", "scanPoolType": "{integer}", "isDefault": "{boolean}", "scanInstances": [ { "id": "{string}", "scanPoolId": "{string}", "url": "{string}", "apiKey": "{string}", "timeout": "{string}" } ] }, "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Update an existing scan pool
| id | string |
| object | object | ||
| name | string |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/scan-pools/%7Bid%7D' \ --data '{ "name": "{string}"}'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
Not Found
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get all rules from a scan pool
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scan-pools/%7Bid%7D/rules'OK
| array | array[object] | ||
| name | string | ||
| user | array[string] |
Bad Request
xxxxxxxxxx[ { "name": "{string}", "user_agents": [ "{array[string]...}" ] }]Manage Scans
Add or start a scan
| object | object | ||
| storageId | string | ||
| storageName | string | ||
| scanType | integer | ||
| workflowId | string | ||
| repositoryId | string | ||
| repositoryName | string | ||
| protocolType | integer | ||
| repositoryReferences | array[string] | ||
| organization | string | ||
| connection | string | ||
| packageType | string | ||
| repositoryType | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scans' \ --data '{ "storageId": "{string}", "storageName": "{string}", "scanType": "{integer}", "workflowId": "{string}", "repositoryId": "{string}", "repositoryName": "{string}", "protocolType": "{integer}", "repositoryReferences": [ "{array[string]...}" ], "organization": "{string}", "connection": "{string}", "packageType": "{string}", "repositoryType": "{string}"}'OK
| object | object | ||
| scanIds | array[string] | ||
| referencesUsedForScanning | array[string] | ||
| protocolType | integer | ||
| repositoryId | string | ||
| repositoryName | string | ||
| serviceId | string | ||
| storageName | string | ||
| workflowId | string | ||
| workflowName | string | ||
| triggerEvent | string | ||
| triggerBy | string | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "scanIds": [ "{array[string]...}" ], "referencesUsedForScanning": [ "{array[string]...}" ], "protocolType": "{integer}", "repositoryId": "{string}", "repositoryName": "{string}", "serviceId": "{string}", "storageName": "{string}", "workflowId": "{string}", "workflowName": "{string}", "triggerEvent": "{string}", "triggerBy": "{string}", "responseKey": "{string}", "responseMessage": "{string}"}Enumerate scan results
| Type | array | ||
| TimeFrame | string | pattern: | |
| Vulnerabilities | array | ||
| LicenseRisks | array | ||
| Status | array | ||
| TriggerEvent | array | ||
| Workflow | string | pattern: | |
| Connection | string | pattern: | |
| Secrets | boolean | ||
| Threats | boolean | ||
| Search | string | pattern: | |
| ConnectionType | string | pattern: | |
| RepositoryId | string | pattern: | |
| Latest | boolean |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans' \ --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} \ --data RepositoryId={RepositoryId} \ --data Latest={Latest}OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Delete multiple scans by their scan IDs
| array | array[string] |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/scans' \ --data '[ "{array[string]...}"]'OK
| No response body |
Bad Request
Internal Server Error
xxxxxxxxxxNo responseUpload and scan a file immediately
| object | object | ||
| files | array[string] | ||
| workflowId | string | ||
| metadata | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scans/direct' \ --form 'file=@{file}'OK
| object | object | ||
| scanIds | array[string] | ||
| referencesUsedForScanning | array[string] | ||
| protocolType | integer | ||
| repositoryId | string | ||
| repositoryName | string | ||
| serviceId | string | ||
| storageName | string | ||
| workflowId | string | ||
| workflowName | string | ||
| triggerEvent | string | ||
| triggerBy | string | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "scanIds": [ "{array[string]...}" ], "referencesUsedForScanning": [ "{array[string]...}" ], "protocolType": "{integer}", "repositoryId": "{string}", "repositoryName": "{string}", "serviceId": "{string}", "storageName": "{string}", "workflowId": "{string}", "workflowName": "{string}", "triggerEvent": "{string}", "triggerBy": "{string}", "responseKey": "{string}", "responseMessage": "{string}"}Stop a scan
| id | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scans/%7Bid%7D'OK
| object | object | ||
| statusCode | int32 |
xxxxxxxxxx{ "statusCode": "{int32}"}Get scan results by scan ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7Bid%7D'OK
| object | object | ||
| serviceId | string | ||
| repositoryId | string | ||
| repositoryName | string | ||
| repositoryType | string | ||
| referenceUsedForScanning | string | ||
| scanId | string | ||
| protocolType | integer | ||
| connection | string | ||
| packageType | string | ||
| organization | string | ||
| startTime | date-time | ||
| stopTime | date-time | ||
| duration | string | pattern: | |
| vulnerabilityIssues | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| scanStatus | integer | ||
| discoveryStatus | integer | ||
| errors | array[string] | ||
| blockedLicensesCount | int32 | ||
| infectedFiles | int32 | ||
| filesWithSecrets | int32 |
Not Found
xxxxxxxxxx{ "serviceId": "{string}", "repositoryId": "{string}", "repositoryName": "{string}", "repositoryType": "{string}", "referenceUsedForScanning": "{string}", "scanId": "{string}", "protocolType": "{integer}", "connection": "{string}", "packageType": "{string}", "organization": "{string}", "startTime": "{date-time}", "stopTime": "{date-time}", "duration": "{string}", "vulnerabilityIssues": { "critical": "{int32}", "high": "{int32}", "medium": "{int32}", "low": "{int32}", "unknown": "{int32}" }, "scanStatus": "{integer}", "discoveryStatus": "{integer}", "errors": [ "{array[string]...}" ], "blockedLicensesCount": "{int32}", "infectedFiles": "{int32}", "filesWithSecrets": "{int32}"}Enumerate all latest scan results
| Type | array | ||
| TimeFrame | string | pattern: | |
| Vulnerabilities | array | ||
| LicenseRisks | array | ||
| Status | array | ||
| TriggerEvent | array | ||
| Workflow | string | pattern: | |
| Connection | string | pattern: | |
| Secrets | boolean | ||
| Threats | boolean | ||
| Search | string | pattern: | |
| ConnectionType | string | pattern: | |
| RepositoryId | string | pattern: | |
| Latest | boolean |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/latest' \ --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} \ --data RepositoryId={RepositoryId} \ --data Latest={Latest}OK
| array | array[object] | ||
| scanId | string | ||
| repository | object | ||
| connectionId | string | ||
| connectionName | string | ||
| protocolType | integer | ||
| 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 | ||
| workflow | object | ||
| workflowId | string | ||
| workflowName | string | ||
| workflowType | string | ||
| workflowIsDeleted | boolean | ||
| remediations | array[object] | ||
| isEnabled | boolean | ||
| type | string | ||
| package | object | ||
| totalPackages | int32 | ||
| vulnerablePackages | int32 | ||
| scannedOn | date-time | ||
| stopTime | date-time | ||
| triggerEvent | string | ||
| errors | array[string] | ||
| scanStatus | object | ||
| scanningState | string | ||
| uploadProgress | int32 | ||
| scanProgress | int32 | ||
| metadata | string |
Not Found
xxxxxxxxxx[ { "scanId": "{string}", "repository": { "connectionId": "{string}", "connectionName": "{string}", "protocolType": "{integer}", "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": [ "{array...}" ] }, "workflow": { "workflowId": "{string}", "workflowName": "{string}", "workflowType": "{string}", "workflowIsDeleted": "{boolean}", "remediations": [ { "isEnabled": "{boolean}", "type": "{string}", "config": "{}" } ] }, "package": { "totalPackages": "{int32}", "vulnerablePackages": "{int32}" }, "scannedOn": "{date-time}", "stopTime": "{date-time}", "triggerEvent": "{string}", "errors": [ "{array[string]...}" ] }, "scanStatus": { "scanningState": "{string}", "uploadProgress": "{int32}", "scanProgress": "{int32}" }, "metadata": "{string}" }]Enumerate all latest scan results by service ID
| serviceId | string |
| Type | array | ||
| TimeFrame | string | pattern: | |
| Vulnerabilities | array | ||
| LicenseRisks | array | ||
| Status | array | ||
| TriggerEvent | array | ||
| Workflow | string | pattern: | |
| Connection | string | pattern: | |
| Secrets | boolean | ||
| Threats | boolean | ||
| Search | string | pattern: | |
| ConnectionType | string | pattern: | |
| RepositoryId | string | pattern: | |
| Latest | boolean |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BserviceId%7D/latest' \ --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} \ --data RepositoryId={RepositoryId} \ --data Latest={Latest}OK
| object | object | ||
| scanId | string | ||
| repository | object | ||
| connectionId | string | ||
| connectionName | string | ||
| protocolType | integer | ||
| 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 | ||
| workflow | object | ||
| workflowId | string | ||
| workflowName | string | ||
| workflowType | string | ||
| workflowIsDeleted | boolean | ||
| remediations | array[object] | ||
| isEnabled | boolean | ||
| type | string | ||
| package | object | ||
| totalPackages | int32 | ||
| vulnerablePackages | int32 | ||
| scannedOn | date-time | ||
| stopTime | date-time | ||
| triggerEvent | string | ||
| errors | array[string] | ||
| scanStatus | object | ||
| scanningState | string | ||
| uploadProgress | int32 | ||
| scanProgress | int32 | ||
| metadata | string |
xxxxxxxxxx{ "scanId": "{string}", "repository": { "connectionId": "{string}", "connectionName": "{string}", "protocolType": "{integer}", "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": [ "{array...}" ] }, "workflow": { "workflowId": "{string}", "workflowName": "{string}", "workflowType": "{string}", "workflowIsDeleted": "{boolean}", "remediations": [ { "isEnabled": "{boolean}", "type": "{string}", "config": "{}" } ] }, "package": { "totalPackages": "{int32}", "vulnerablePackages": "{int32}" }, "scannedOn": "{date-time}", "stopTime": "{date-time}", "triggerEvent": "{string}", "errors": [ "{array[string]...}" ] }, "scanStatus": { "scanningState": "{string}", "uploadProgress": "{int32}", "scanProgress": "{int32}" }, "metadata": "{string}"}Get scan overview by scan ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7Bid%7D/overview'OK
| array | array[object] | ||
| scanId | string | ||
| repository | object | ||
| connectionId | string | ||
| connectionName | string | ||
| protocolType | integer | ||
| 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 | ||
| workflow | object | ||
| workflowId | string | ||
| workflowName | string | ||
| workflowType | string | ||
| workflowIsDeleted | boolean | ||
| remediations | array[object] | ||
| isEnabled | boolean | ||
| type | string | ||
| package | object | ||
| totalPackages | int32 | ||
| vulnerablePackages | int32 | ||
| scannedOn | date-time | ||
| stopTime | date-time | ||
| triggerEvent | string | ||
| errors | array[string] | ||
| scanStatus | object | ||
| scanningState | string | ||
| uploadProgress | int32 | ||
| scanProgress | int32 | ||
| metadata | string |
xxxxxxxxxx[ { "scanId": "{string}", "repository": { "connectionId": "{string}", "connectionName": "{string}", "protocolType": "{integer}", "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": [ "{array...}" ] }, "workflow": { "workflowId": "{string}", "workflowName": "{string}", "workflowType": "{string}", "workflowIsDeleted": "{boolean}", "remediations": [ { "isEnabled": "{boolean}", "type": "{string}", "config": "{}" } ] }, "package": { "totalPackages": "{int32}", "vulnerablePackages": "{int32}" }, "scannedOn": "{date-time}", "stopTime": "{date-time}", "triggerEvent": "{string}", "errors": [ "{array[string]...}" ] }, "scanStatus": { "scanningState": "{string}", "uploadProgress": "{int32}", "scanProgress": "{int32}" }, "metadata": "{string}" }]Enumerate all scan results by repository ID
| serviceId | string | ||
| repositoryId | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BserviceId%7D/%7BrepositoryId%7D'OK
| array | array[object] | ||
| scanId | string | ||
| repository | object | ||
| connectionId | string | ||
| connectionName | string | ||
| protocolType | integer | ||
| 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 | ||
| workflow | object | ||
| workflowId | string | ||
| workflowName | string | ||
| workflowType | string | ||
| workflowIsDeleted | boolean | ||
| remediations | array[object] | ||
| isEnabled | boolean | ||
| type | string | ||
| package | object | ||
| totalPackages | int32 | ||
| vulnerablePackages | int32 | ||
| scannedOn | date-time | ||
| stopTime | date-time | ||
| triggerEvent | string | ||
| errors | array[string] | ||
| scanStatus | object | ||
| scanningState | string | ||
| uploadProgress | int32 | ||
| scanProgress | int32 | ||
| metadata | string |
xxxxxxxxxx[ { "scanId": "{string}", "repository": { "connectionId": "{string}", "connectionName": "{string}", "protocolType": "{integer}", "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": [ "{array...}" ] }, "workflow": { "workflowId": "{string}", "workflowName": "{string}", "workflowType": "{string}", "workflowIsDeleted": "{boolean}", "remediations": [ { "isEnabled": "{boolean}", "type": "{string}", "config": "{}" } ] }, "package": { "totalPackages": "{int32}", "vulnerablePackages": "{int32}" }, "scannedOn": "{date-time}", "stopTime": "{date-time}", "triggerEvent": "{string}", "errors": [ "{array[string]...}" ] }, "scanStatus": { "scanningState": "{string}", "uploadProgress": "{int32}", "scanProgress": "{int32}" }, "metadata": "{string}" }]Enumerate all scan schedules
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/schedules'OK
| array | array[object] | ||
| id | string | ||
| workflowId | string | ||
| storageId | string | ||
| userId | string | ||
| name | string | ||
| priority | integer | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| lastScanTime | date-time | ||
| nextScanTime | date-time | ||
| recurrenceType | integer | ||
| startDate | date-time | ||
| timeToStart | date-time | ||
| everyNumberOfHours | int32 | ||
| everyNumberOfDays | int32 | ||
| everyNumberOfWeeks | int32 | ||
| everyNumberOfMonths | int32 | ||
| daysOfWeek | array[integer] | ||
| dayOfMonth | int32 | ||
| workflow | object | ||
| id | string | ||
| name | string | ||
| description | string | ||
| userId | string | ||
| scanConfigurationId | string | ||
| deleted | boolean | ||
| type | integer | ||
| scanSources | array[object] | ||
| serviceId | string | ||
| serviceName | string | ||
| repositories | array[object] | ||
| repositoryId | string | ||
| repositoryName | string | ||
| type | string | ||
| connection | string | ||
| packageType | string | ||
| organization | string | ||
| registry | string | ||
| referencesToScan | array[string] | ||
| remediations | |||
| string | Enum: | ||
| emailRecipients | array[string] | ||
| isEnabled | boolean | ||
| malware | boolean | ||
| secret | boolean | ||
| allowRiskyPackages | boolean | ||
| recurrencePattern | object | ||
| type | integer | ||
| hourlyRecurrence | object | ||
| everyNumberOfHours | int32 | ||
| dailyRecurrence | object | ||
| everyNumberOfDays | int32 | ||
| weeklyRecurrence | object | ||
| daysOfWeek | array[integer] | ||
| everyNumberOfWeeks | int32 | ||
| monthlyRecurrence | object | ||
| everyNumberOfMonths | int32 | ||
| dayOfMonth | int32 | ||
| scanSchedules | array | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| tenantId | string | ||
| scans | array[object] | ||
| name | string | ||
| discoveryState | integer | ||
| scanningState | integer | ||
| scanType | integer | ||
| startTime | date-time | ||
| stopTime | date-time | ||
| executionId | string | ||
| errors | array[string] | ||
| priority | integer | ||
| realTimeIsEnabled | boolean | ||
| realTimeStartDate | date-time | ||
| realTimeHandlingType | integer | ||
| storageId | string | ||
| scanScheduleId | string | ||
| userId | string | ||
| tenantId | string | ||
| scanSchedule | object | ||
| repositoryId | string | ||
| repositoryName | string | ||
| repositoryReference | string | ||
| repositoryRevision | string | ||
| repositoryType | string | ||
| packageType | string | ||
| scanTargetPath | string | ||
| organization | string | ||
| serviceName | string | ||
| protocolType | string | ||
| workflowId | string | ||
| workflowName | string | ||
| scanPartition | string | ||
| scanStatistics | object | ||
| totalFiles | int32 | ||
| infectedFiles | int32 | ||
| filesWithSecrets | int32 | ||
| totalVulnerabilities | int32 | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| startTime | date-time | ||
| stopTime | date-time | ||
| duration | string | pattern: | |
| appliedRemediations | array[string] | ||
| totalPackages | int32 | ||
| packagesWithVulnerabilities | int32 | ||
| allowedLicenses | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usage | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| blockedLicenses | array | ||
| scan | object | ||
| name | string | ||
| discoveryState | integer | ||
| scanningState | integer | ||
| scanType | integer | ||
| startTime | date-time | ||
| stopTime | date-time | ||
| executionId | string | ||
| priority | integer | ||
| realTimeIsEnabled | boolean | ||
| realTimeStartDate | date-time | ||
| realTimeHandlingType | integer | ||
| storageId | string | ||
| scanScheduleId | string | ||
| userId | string | ||
| tenantId | string | ||
| repositoryId | string | ||
| repositoryName | string | ||
| repositoryReference | string | ||
| repositoryRevision | string | ||
| repositoryType | string | ||
| packageType | string | ||
| scanTargetPath | string | ||
| organization | string | ||
| serviceName | string | ||
| protocolType | string | ||
| workflowId | string | ||
| workflowName | string | ||
| scanPartition | string | ||
| id | string | ||
| rowVersion | uint32 | ||
| id | string | ||
| tenantId | string | ||
| id | string |
xxxxxxxxxx[ {...}]Clean up historical scan results older than the specified time frame
| object | object | ||
| timeFrame | integer |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/scans/cleanup' \ --data '{ "timeFrame": "{integer}"}'OK
| object | object | ||
| deletedScansCount | int32 | ||
| totalScansFound | int32 | ||
| responseKey | string | ||
| responseMessage | string |
Multi-Status
Bad Request
Internal Server Error
xxxxxxxxxx{ "deletedScansCount": "{int32}", "totalScansFound": "{int32}", "responseKey": "{string}", "responseMessage": "{string}"}Enumerate files by scan ID
| scanId | string |
| page | integer | ||
| pageSize | integer | ||
| search | string | ||
| includeArchives | boolean |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BscanId%7D/files' \ --data page={page} \ --data pageSize={pageSize} \ --data search={search} \ --data includeArchives={includeArchives}OK
| array | array[object] | ||
| objectIdentityId | string | ||
| objectIdentityHash | string | ||
| scanResultId | string | ||
| progressUpload | int32 | ||
| progressScan | int32 | ||
| processingState | integer | ||
| exceptionDetails | string | ||
| created | date-time | ||
| discoveryStarted | date-time | ||
| discoveryStartedDaySec | int64 | ||
| streamingStartedTime | date-time | ||
| streamingCompletedTime | date-time | ||
| streamingTimeSpanMs | int64 | ||
| scanCompletedTime | date-time | ||
| processingTimeSpanMs | int64 | ||
| processingFailedTime | date-time | ||
| processingRetryCount | int32 | ||
| coreEngines | array[object] | ||
| engineId | string | ||
| engineName | string | ||
| engineVersion | string | ||
| dbVersion | string | ||
| definitionTime | string | ||
| objectTriggeredActions | array[object] | ||
| actionStatus | integer | ||
| triggeredActionType | integer | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| tenantId | string | ||
| objectRemediationActions | array[object] | ||
| id | string | ||
| objectActionType | integer | ||
| objectActionState | integer | ||
| exceptions | array[string] | ||
| fileId | string | ||
| fileScanCompletedTime | date-time | ||
| remediationId | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| tenantId | string | ||
| file | object | ||
| versions | array[object] | ||
| url | string | ||
| fileId | string | ||
| fileScanCompletedTime | date-time | ||
| scanResultId | string | ||
| objectIdentityId | string | ||
| objectIdentityHash | string | ||
| progressScan | int32 | ||
| progressUpload | int32 | ||
| processingState | integer | ||
| exceptionDetails | string | ||
| created | date-time | ||
| discoveryStarted | date-time | ||
| discoveryStartedDaySec | int64 | ||
| streamingTimeSpanMs | int64 | ||
| scanCompletedTime | date-time | ||
| processingTimeSpanMs | int64 | ||
| streamingStartedTime | date-time | ||
| streamingCompletedTime | date-time | ||
| processingFailedTime | date-time | ||
| processingRetryCount | int32 | ||
| coreEngines | array | ||
| lastUpdated | date-time | ||
| createdAt | date-time | ||
| tenantId | string | ||
| objectIdentity | object | ||
| id | string | ||
| storageId | string | ||
| lastModifiedTime | date-time | ||
| storageObjectHash | string | ||
| path | string | ||
| processingType | integer | ||
| type | integer | ||
| objectIdentityHash | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| tenantId | string | ||
| objectIdentityActions | array[object] | ||
| scanResult | object | ||
| coreEnginesHash | string | ||
| objectIdentityId | string | ||
| objectIdentityHash | string | ||
| objectIdentity | object | ||
| id | string | ||
| storageId | string | ||
| lastModifiedTime | date-time | ||
| storageObjectHash | string | ||
| path | string | ||
| processingType | integer | ||
| type | integer | ||
| objectIdentityHash | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| tenantId | string | ||
| objectIdentityActions | array[object] | ||
| id | string | ||
| coreScanResult | string | ||
| resultI | integer | ||
| scanAllResultI | int32 | ||
| totalDetections | int32 | ||
| vulnerabilities | int32 | ||
| dlpVerdict | int64 | ||
| hasVulnerability | boolean | ||
| sandboxVerdict | integer | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| tenantId | string | ||
| file | object | ||
| id | string | ||
| scanId | string | ||
| storageId | string | ||
| scanWorkflowSnapshotId | string | ||
| metaDefenderCoreUrl | string | ||
| name | string | ||
| path | string | ||
| hash | string | ||
| objectStorageMetadata | string | ||
| size | int64 | ||
| lastModified | date-time | ||
| storageLocation | string | ||
| pathForDisplay | string | ||
| id | string | ||
| scanId | string | ||
| storageId | string | ||
| scanWorkflowSnapshotId | string | ||
| metaDefenderCoreUrl | string | ||
| name | string | ||
| path | string | ||
| hash | string | ||
| objectStorageMetadata | string | ||
| size | int64 | ||
| lastModified | date-time | ||
| storageLocation | string | ||
| pathForDisplay | string |
Not Found
xxxxxxxxxx[ {...}]Get the core result of a file by its scan result ID
| scanResultId | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BscanResultId%7D/core-result'OK
| 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 | ||
| total | int32 | ||
| verdict | string | ||
| verdict | array[string] | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| vulnerable | int32 | ||
| overview | object | ||
| is | boolean | ||
| os | object | ||
| os | string | ||
| os | string | ||
| scan | string | ||
| steps | array[object] | ||
| command | string | ||
| license | string | ||
| licensing | object | ||
| allowed | int32 | ||
| blocked | int32 | ||
| unknown | int32 | ||
| unsupported | int32 | ||
| packages | array[object] | ||
| authors | string | ||
| release | string | ||
| arch | string | ||
| ecosystem | string | ||
| group | string | ||
| archive | boolean | ||
| executable | boolean | ||
| uid | string | ||
| licenses | object | ||
| allowed | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usage | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| blocked | array | ||
| os | string | ||
| os | string | ||
| package | string | ||
| latest | object | ||
| version | string | ||
| release | string | ||
| hashes | array[object] | ||
| sha256 | string | ||
| file | string | ||
| package | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| source | string | ||
| fixed | string | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| dependencies | array[object] | ||
| uid | string | ||
| ecosystem | string | ||
| group | string | ||
| package | string | ||
| package | string | ||
| vulnerabilities | array | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| package | string | ||
| up | boolean | ||
| step | int32 | ||
| vulnerability | int32 | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| dependencies | int32 | ||
| dependencies | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| sha256 | string | ||
| package | int32 | ||
| vulnerable | int32 | ||
| vulnerable | int32 | ||
| packages | array[object] | ||
| authors | string | ||
| release | string | ||
| ecosystem | string | ||
| group | string | ||
| archive | boolean | ||
| executable | boolean | ||
| uid | string | ||
| licenses | object | ||
| allowed | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usage | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| blocked | array | ||
| package | string | ||
| package | string | ||
| target | string | ||
| latest | object | ||
| version | string | ||
| release | string | ||
| hashes | array | ||
| vulnerabilities | array | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| dependencies | array | ||
| package | string | ||
| up | boolean | ||
| dependencies | int32 | ||
| dependencies | int32 | ||
| dependencies | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| vulnerability | int32 | ||
| vulnerability | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| has | boolean | ||
| package | int32 | ||
| timestamp | string | ||
| vulnerable | int32 | ||
| vulnerable | int32 | ||
| result | string | ||
| vulnerability | object | ||
| result | object | ||
| code | int64 | ||
| hash | string | ||
| method | int64 | ||
| timestamp | string | ||
| timing | int64 | ||
| detected | object | ||
| has | boolean | ||
| is | boolean | ||
| product | object | ||
| id | int64 | ||
| name | string | ||
| remediation | string | ||
| severity | string | ||
| sig | string | ||
| signature | int64 | ||
| vendor | object | ||
| id | int64 | ||
| name | string | ||
| version | string | ||
| version | object | ||
| count | int64 | ||
| feed | int64 | ||
| version | string | ||
| vulnerabilities | array[object] | ||
| description | string | ||
| details | object | ||
| cpe | string | ||
| cve | string | ||
| cvss | object | ||
| access | string | ||
| access | string | ||
| authentication | string | ||
| availability | string | ||
| confidentiality | string | ||
| generated | string | ||
| integrity | string | ||
| score | string | ||
| source | string | ||
| cvss | object | ||
| attack | string | ||
| attack | string | ||
| availability | string | ||
| base | string | ||
| base | string | ||
| confidentiality | string | ||
| exploitability | string | ||
| impact | string | ||
| integrity | string | ||
| privileges | string | ||
| scope | string | ||
| user | string | ||
| vector | string | ||
| cwe | string | ||
| last | string | ||
| published | string | ||
| references | array[string] | ||
| severity | string | ||
| severity | int32 | ||
| static | int64 | ||
| engine | object | ||
| * | array[object] | ||
| abandoned | boolean | ||
| active | boolean | ||
| def | string | ||
| download | int32 | ||
| download | date-time | ||
| eng | string | ||
| eng | string | ||
| eng | string | ||
| eng | string | ||
| engine | string | ||
| pinned | boolean | ||
| state | string | ||
| type | string | ||
| db | string | ||
| sessionCookie | string | ||
| isFailed | boolean |
xxxxxxxxxx{ "extracted_files": {...}, "scan_results": {...}, "file_info": {...}, "process_info": {...}, "data_id": "{string}", "source": "{string}", "scanned_on": "{string}", "dlp_info": {...}, "sbom_info": {...}, "vulnerability_info": {...}, "engine_stat": {}, "sessionCookie": "{string}", "isFailed": "{boolean}"}Get the core results of files in an archive by their scan result ID
| scanResultId | string |
| count | integer | ||
| offset | integer |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/scans/%7BscanResultId%7D/archive' \ --data count={count} \ --data offset={offset}OK
| object | object | ||
| coreScanResults | array[object] | ||
| extractedFiles | object | ||
| dataId | string | ||
| scanResultI | int32 | ||
| detectedBy | int32 | ||
| filesInArchive | array[object] | ||
| displayName | string | ||
| dataId | string | ||
| fileType | string | ||
| fileTypeDescription | string | ||
| scanResultI | int32 | ||
| scanAllResultI | int32 | ||
| detectedBy | int32 | ||
| scannedWith | int32 | ||
| progressPercentage | int32 | ||
| fileSize | int64 | ||
| processInfo | object | ||
| postProcessing | object | ||
| actionsRan | string | ||
| actionsFailed | string | ||
| convertedTo | string | ||
| copyMoveDestination | string | ||
| convertedDestination | string | ||
| sanitizationDetails | object | ||
| failureCategory | string | ||
| progressPercentage | int32 | ||
| userAgent | string | ||
| profile | string | ||
| result | string | ||
| blockedReason | string | ||
| fileTypeSkippedScan | boolean | ||
| processingTime | number | ||
| queueTime | number | ||
| filesExtractedCount | int32 | ||
| scanResults | object | ||
| scanDetails | object | ||
| * | object | ||
| threatFound | string | ||
| scanResultI | int32 | ||
| defTime | string | ||
| scanTime | number | ||
| waitTime | number | ||
| engId | string | ||
| dataId | string | ||
| scanAllResultI | int32 | ||
| startTime | string | ||
| totalTime | number | ||
| totalAvs | int32 | ||
| progressPercentage | int32 | ||
| scanAllResultA | string | ||
| fileInfo | object | ||
| fileSize | int64 | ||
| uploadTimestamp | string | ||
| md5 | string | ||
| sha1 | string | ||
| sha256 | string | ||
| fileTypeCategory | string | ||
| fileTypeCategoryCloud | string | ||
| fileTypeDescription | string | ||
| fileTypeExtension | string | ||
| fileTypeExtensionCloud | string | ||
| displayName | string | ||
| originalFilePath | string | ||
| processInfo | object | ||
| postProcessing | object | ||
| actionsRan | string | ||
| actionsFailed | string | ||
| convertedTo | string | ||
| copyMoveDestination | string | ||
| convertedDestination | string | ||
| sanitizationDetails | object | ||
| failureCategory | string | ||
| progressPercentage | int32 | ||
| userAgent | string | ||
| profile | string | ||
| result | string | ||
| blockedReason | string | ||
| fileTypeSkippedScan | boolean | ||
| processingTime | number | ||
| queueTime | number | ||
| dataId | string | ||
| source | string | ||
| scannedOn | string | ||
| dlpInfo | object | ||
| hits | object | ||
| displayName | string | ||
| hits | array[object] | ||
| after | string | ||
| before | string | ||
| hit | string | ||
| certainty | string | ||
| certaintyScore | int64 | ||
| severity | integer | ||
| verdict | int64 | ||
| sbomInfo | object | ||
| finalVerdict | object | ||
| blocked | boolean | ||
| severity | integer | ||
| verdict | string | ||
| overviewReport | object | ||
| steps | array[object] | ||
| command | string | ||
| packages | array[object] | ||
| authors | string | ||
| arch | string | ||
| ecosystem | string | ||
| group | string | ||
| archive | boolean | ||
| executable | boolean | ||
| uid | string | ||
| licenses | object | ||
| allowed | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usageRestriction | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| blocked | array | ||
| osName | string | ||
| latest | object | ||
| version | string | ||
| hashes | array[object] | ||
| sha256 | string | ||
| vulnerabilities | array[object] | ||
| id | string | ||
| source | string | ||
| cwes | array[string] | ||
| type | string | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| dependencies | array[object] | ||
| ecosystem | string | ||
| group | string | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| upToDate | boolean | ||
| step | int32 | ||
| sha256 | string | ||
| severity | integer | ||
| packages | array[object] | ||
| authors | string | ||
| ecosystem | string | ||
| group | string | ||
| archive | boolean | ||
| executable | boolean | ||
| uid | string | ||
| licenses | object | ||
| allowed | array[object] | ||
| id | string | ||
| url | string | ||
| category | string | ||
| usageRestriction | object | ||
| permissions | array[string] | ||
| conditions | array[string] | ||
| limitations | array[string] | ||
| blocked | array | ||
| target | string | ||
| latest | object | ||
| version | string | ||
| hashes | array | ||
| vulnerabilities | array | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| dependencies | array | ||
| upToDate | boolean | ||
| vulnerabilityCount | int32 | ||
| vulnerabilityCounts | object | ||
| critical | int32 | ||
| high | int32 | ||
| medium | int32 | ||
| low | int32 | ||
| unknown | int32 | ||
| hasPeInfo | boolean | ||
| timestamp | string | ||
| vulnerabilityInfo | object | ||
| vulnerabilityInfoResult | object | ||
| code | int64 | ||
| hash | string | ||
| method | int64 | ||
| timeStamp | string | ||
| timing | int64 | ||
| detectedProduct | object | ||
| hasVulnerability | boolean | ||
| isCurrent | boolean | ||
| product | object | ||
| id | int64 | ||
| name | string | ||
| remediationLink | string | ||
| severity | string | ||
| sigName | string | ||
| signature | int64 | ||
| vendor | object | ||
| id | int64 | ||
| name | string | ||
| version | string | ||
| versionData | object | ||
| countBehind | int64 | ||
| feedId | int64 | ||
| version | string | ||
| vulnerabilities | array[object] | ||
| description | string | ||
| details | object | ||
| cpe | string | ||
| cve | string | ||
| cvss | object | ||
| accessComplexity | string | ||
| accessVector | string | ||
| authentication | string | ||
| availabilityImpact | string | ||
| confidentialityImpact | string | ||
| generatedOnEpoch | string | ||
| integrityImpact | string | ||
| score | string | ||
| source | string | ||
| cvss3 | object | ||
| attackComplexity | string | ||
| attackVector | string | ||
| availabilityImpact | string | ||
| baseScore | string | ||
| baseSeverity | string | ||
| confidentialityImpact | string | ||
| exploitabilityScore | string | ||
| impactScore | string | ||
| integrityImpact | string | ||
| privilegesRequired | string | ||
| scope | string | ||
| userInteraction | string | ||
| vectorString | string | ||
| cwe | string | ||
| lastModifiedEpoch | string | ||
| publishedEpoch | string | ||
| references | array[string] | ||
| severity | string | ||
| severityIndex | int32 | ||
| staticId | int64 | ||
| engines | object | ||
| * | array[object] | ||
| abandoned | boolean | ||
| active | boolean | ||
| defTime | string | ||
| downloadProgress | int32 | ||
| engId | string | ||
| engName | string | ||
| engType | string | ||
| engineVersion | string | ||
| engineType | string | ||
| pinned | boolean | ||
| state | string | ||
| type | string | ||
| dbVer | string | ||
| sessionCookie | string | ||
| isFailed | boolean | ||
| hasMore | boolean |
xxxxxxxxxx{ "coreScanResults": [...], "hasMore": "{boolean}"}Manage Services Connections
Add a service
| object | object | ||
| credentials | string | ||
| name | string | ||
| vendorType | integer | ||
| protocolType | integer |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/services' \ --data '{ "credentials": "{string}", "name": "{string}", "source": "{}", "vendorType": "{integer}", "protocolType": "{integer}"}'OK
| object | object | ||
| id | string | ||
| name | string | ||
| type | object | ||
| name | string | ||
| categoryType | integer | ||
| protocolType | integer | ||
| vendorType | integer | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
xxxxxxxxxx{ "id": "{string}", "name": "{string}", "type": { "name": "{string}", "categoryType": "{integer}", "protocolType": "{integer}", "vendorType": "{integer}" }, "details": "{}", "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get all services
| content | boolean | ||
| type | array |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services' \ --data content={content} \ --data type={type}OK
| object | object | ||
| serviceDtos | array[object] | ||
| id | string | ||
| credentialsType | int32 | ||
| scanWorkflowId | string | ||
| domain | string | ||
| realTimeStatus | integer | ||
| name | string | ||
| vendorType | integer | ||
| protocolType | integer | ||
| statusMessage | string |
Partial Content
Bad Request
xxxxxxxxxx{ "serviceDtos": [ { "id": "{string}", "credentialsType": "{int32}", "scanWorkflowId": "{string}", "domain": "{string}", "realTimeStatus": "{integer}", "name": "{string}", "source": "{}", "vendorType": "{integer}", "protocolType": "{integer}" } ], "statusMessage": "{string}"}Update a service by ID
| serviceId | string |
| object | object | ||
| name | string | ||
| credentials | string | ||
| hasNewCredentials | boolean |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D' \ --data '{ "name": "{string}", "credentials": "{string}", "hasNewCredentials": "{boolean}"}'OK
| object | object | ||
| id | string | ||
| name | string | ||
| type | object | ||
| name | string | ||
| categoryType | integer | ||
| protocolType | integer | ||
| vendorType | integer | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
xxxxxxxxxx{ "id": "{string}", "name": "{string}", "type": { "name": "{string}", "categoryType": "{integer}", "protocolType": "{integer}", "vendorType": "{integer}" }, "details": "{}", "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get a service by ID
| serviceId | string |
| content | boolean | ||
| Search | string | ||
| Page | integer | ||
| PageSize | integer | ||
| FilterValue | string | pattern: | |
| Cursor | string | pattern: | |
| PrioritizedRepositoriesReference | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D' \ --data content={content} \ --data Search={Search} \ --data Page={Page} \ --data PageSize={PageSize} \ --data FilterValue={FilterValue} \ --data Cursor={Cursor} \ --data PrioritizedRepositoriesReference={PrioritizedRepositoriesReference}OK
| object | object | ||
| id | string | ||
| credentialsType | int32 | ||
| scanWorkflowId | string | ||
| domain | string | ||
| realTimeStatus | integer | ||
| name | string | ||
| vendorType | integer | ||
| protocolType | integer |
Bad Request
Not Found
xxxxxxxxxx{ "id": "{string}", "credentialsType": "{int32}", "scanWorkflowId": "{string}", "domain": "{string}", "realTimeStatus": "{integer}", "name": "{string}", "source": "{}", "vendorType": "{integer}", "protocolType": "{integer}"}Delete a service by ID
| serviceId | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Not Found
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get service references by service ID
| serviceId | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/references'OK
| object | object | ||
| serviceId | string | ||
| serviceName | string | ||
| repositoryReferenceInfoArray | array[object] | ||
| repositoryId | string | ||
| defaultReference | string | ||
| references | array[string] |
Not Found
xxxxxxxxxx{ "serviceId": "{string}", "serviceName": "{string}", "repositoryReferenceInfoArray": [ { "repositoryId": "{string}", "defaultReference": "{string}", "references": [ "{array[string]...}" ] } ]}Get service resources by service ID
| serviceId | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/resources'OK
| object | object | ||
| resources | array[string] |
Not Found
xxxxxxxxxx{ "resources": [ "{array[string]...}" ]}Get service references by service ID and repository ID
| serviceId | string | ||
| repositoryId | string |
| Page | integer | ||
| PageSize | integer | ||
| FilterValue | string | pattern: | |
| Cursor | string | pattern: |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/services/%7BserviceId%7D/%7BrepositoryId%7D/references' \ --data Page={Page} \ --data PageSize={PageSize} \ --data FilterValue={FilterValue} \ --data Cursor={Cursor}OK
| object | object | ||
| references | array[string] | ||
| totalReferences | uint32 |
Not Found
xxxxxxxxxx{ "references": [ "{array[string]...}" ], "totalReferences": "{uint32}"}Add service references
| array | array[object] | ||
| serviceId | string | ||
| repositoryIds | array[string] |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/services/references' \ --data '[ { "serviceId": "{string}", "repositoryIds": [ "{array[string]...}" ] }]'OK
| array | array[object] | ||
| serviceId | string | ||
| serviceName | string | ||
| repositoryReferenceInfoArray | array[object] | ||
| repositoryId | string | ||
| defaultReference | string | ||
| references | array[string] |
No Content
Not Found
xxxxxxxxxx[ { "serviceId": "{string}", "serviceName": "{string}", "repositoryReferenceInfoArray": [ { "repositoryId": "{string}", "defaultReference": "{string}", "references": [ "{array[string]...}" ] } ] }]Update a SMTP configuration
| object | object | ||
| host | string | ||
| baseUrl | string | ||
| port | int32 | ||
| senderAddress | string | ||
| senderName | string | ||
| domain | string | ||
| username | string | ||
| password | string | ||
| secureSocketOption | integer | ||
| ignoreCertWarnings | boolean | ||
| isEnabled | boolean |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/smtp' \ --data '{ "host": "{string}", "baseUrl": "{string}", "port": "{int32}", "senderAddress": "{string}", "senderName": "{string}", "domain": "{string}", "username": "{string}", "password": "{string}", "secureSocketOption": "{integer}", "ignoreCertWarnings": "{boolean}", "isEnabled": "{boolean}"}'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Get a SMTP configuration
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/smtp'OK
| object | object | ||
| smtp | object | ||
| id | string | ||
| host | string | ||
| port | int32 | ||
| senderAddress | string | ||
| senderName | string | ||
| domain | string | ||
| baseUrl | string | ||
| userName | string | ||
| password | string | ||
| secureSocketOption | integer | ||
| ignoreCertWarnings | boolean | ||
| isEnabled | boolean | ||
| tenantId | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "smtp": { "id": "{string}", "host": "{string}", "port": "{int32}", "senderAddress": "{string}", "senderName": "{string}", "domain": "{string}", "baseUrl": "{string}", "userName": "{string}", "password": "{string}", "secureSocketOption": "{integer}", "ignoreCertWarnings": "{boolean}", "isEnabled": "{boolean}", "tenantId": "{string}", "createdAt": "{date-time}", "lastUpdated": "{date-time}" }, "responseKey": "{string}", "responseMessage": "{string}"}Add a Jira configuration
| object | object | ||
| name | string | ||
| apiKey | string | ||
| baseAddress | string | ||
| productAddress | string | ||
| username | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/jira' \ --data '{ "name": "{string}", "apiKey": "{string}", "baseAddress": "{string}", "productAddress": "{string}", "username": "{string}"}'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Get all Jira configurations
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/jira'OK
| object | object | ||
| jiraEntries | array[object] | ||
| id | string | ||
| name | string | ||
| apiKey | string | ||
| baseAddress | string | ||
| productAddress | string | ||
| username | string | ||
| tenantId | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "jiraEntries": [ { "id": "{string}", "name": "{string}", "apiKey": "{string}", "baseAddress": "{string}", "productAddress": "{string}", "username": "{string}", "tenantId": "{string}", "createdAt": "{date-time}", "lastUpdated": "{date-time}" } ], "responseKey": "{string}", "responseMessage": "{string}"}Get a Jira configuration by ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/jira/%7Bid%7D'OK
| object | object | ||
| jira | object | ||
| id | string | ||
| name | string | ||
| apiKey | string | ||
| baseAddress | string | ||
| productAddress | string | ||
| username | string | ||
| tenantId | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "jira": { "id": "{string}", "name": "{string}", "apiKey": "{string}", "baseAddress": "{string}", "productAddress": "{string}", "username": "{string}", "tenantId": "{string}", "createdAt": "{date-time}", "lastUpdated": "{date-time}" }, "responseKey": "{string}", "responseMessage": "{string}"}Update a Jira configuration by ID
| id | string |
| object | object | ||
| name | string | ||
| apiKey | string | ||
| baseAddress | string | ||
| productAddress | string | ||
| username | string |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/jira/%7Bid%7D' \ --data '{ "name": "{string}", "apiKey": "{string}", "baseAddress": "{string}", "productAddress": "{string}", "username": "{string}"}'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Delete a Jira configuration by ID
| id | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/jira/%7Bid%7D'OK
| object | object | ||
| jiraId | string | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "jiraId": "{string}", "responseKey": "{string}", "responseMessage": "{string}"}Get Jira projects
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/jira/%7Bid%7D/projects'OK
| object | object | ||
| projects | array[object] | ||
| id | string | ||
| name | string | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "projects": [ { "id": "{string}", "name": "{string}" } ], "responseKey": "{string}", "responseMessage": "{string}"}Add a Teams configuration
| object | object | ||
| name | string | ||
| apiKey | string | ||
| webhookUrl | string | ||
| productAddress | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/teams' \ --data '{ "name": "{string}", "apiKey": "{string}", "webhookUrl": "{string}", "productAddress": "{string}"}'Created
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Get all Teams configurations
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/teams'OK
| object | object | ||
| teamsConnections | array[object] | ||
| name | string | ||
| apiKey | string | ||
| webhookUrl | string | ||
| productAddress | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| id | string | ||
| tenantId | string | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "teamsConnections": [ { "name": "{string}", "apiKey": "{string}", "webhookUrl": "{string}", "productAddress": "{string}", "createdAt": "{date-time}", "lastUpdated": "{date-time}", "id": "{string}", "tenantId": "{string}" } ], "responseKey": "{string}", "responseMessage": "{string}"}Get a Teams configuration by ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/teams/%7Bid%7D'OK
| object | object | ||
| teams | object | ||
| name | string | ||
| apiKey | string | ||
| webhookUrl | string | ||
| productAddress | string | ||
| createdAt | date-time | ||
| lastUpdated | date-time | ||
| id | string | ||
| tenantId | string | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "teams": { "name": "{string}", "apiKey": "{string}", "webhookUrl": "{string}", "productAddress": "{string}", "createdAt": "{date-time}", "lastUpdated": "{date-time}", "id": "{string}", "tenantId": "{string}" }, "responseKey": "{string}", "responseMessage": "{string}"}Update a Teams configuration by ID
| id | string |
| object | object | ||
| name | string | ||
| apiKey | string | ||
| webhookUrl | string | ||
| productAddress | string |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/teams/%7Bid%7D' \ --data '{ "name": "{string}", "apiKey": "{string}", "webhookUrl": "{string}", "productAddress": "{string}"}'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Delete a Teams configuration by ID
| id | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/teams/%7Bid%7D'OK
| object | object | ||
| teamsId | string | ||
| responseKey | string | ||
| responseMessage | string |
Not Found
xxxxxxxxxx{ "teamsId": "{string}", "responseKey": "{string}", "responseMessage": "{string}"}Add a new user
| object | object | ||
| role | integer | ||
| fullName | string | ||
| userName | string | ||
| password | string | ||
| string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/users' \ --data '{ "role": "{integer}", "fullName": "{string}", "userName": "{string}", "password": "{string}", "email": "{string}"}'OK
| object | object | ||
| createUserParameters | object | ||
| role | integer | ||
| fullName | string | ||
| userName | string | ||
| password | string | ||
| string | |||
| currentUserId | string |
Bad Request
xxxxxxxxxx{ "createUserParameters": { "role": "{integer}", "fullName": "{string}", "userName": "{string}", "password": "{string}", "email": "{string}" }, "currentUserId": "{string}"}Get users
| Type | string | pattern: | |
| StartIndex | integer | ||
| Count | integer | ||
| SearchTerm | string | pattern: |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/users' \ --data Type={Type} \ --data StartIndex={StartIndex} \ --data Count={Count} \ --data SearchTerm={SearchTerm}OK
| object | object | ||
| enumerateUsersDto | object | ||
| entries | array[object] | ||
| userId | string | ||
| username | string | ||
| fullName | string | ||
| string | |||
| role | integer | ||
| showTutorial | boolean | ||
| totalCount | int64 | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "enumerateUsersDto": { "entries": [ { "userId": "{string}", "username": "{string}", "fullName": "{string}", "email": "{string}", "role": "{integer}", "showTutorial": "{boolean}" } ], "totalCount": "{int64}" }, "responseKey": "{string}", "responseMessage": "{string}"}Update a user
| object | object | ||
| userId | string | ||
| role | integer | ||
| userName | string | ||
| fullName | string | ||
| string | |||
| currentPassword | string | ||
| newPassword | string | ||
| showTutorial | boolean |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/users' \ --data '{ "userId": "{string}", "role": "{integer}", "userName": "{string}", "fullName": "{string}", "email": "{string}", "currentPassword": "{string}", "newPassword": "{string}", "showTutorial": "{boolean}"}'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Get current user
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/user'OK
| object | object | ||
| userDto | object | ||
| userId | string | ||
| username | string | ||
| fullName | string | ||
| string | |||
| role | integer | ||
| showTutorial | boolean | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "userDto": { "userId": "{string}", "username": "{string}", "fullName": "{string}", "email": "{string}", "role": "{integer}", "showTutorial": "{boolean}" }, "responseKey": "{string}", "responseMessage": "{string}"}Delete a user
| userId | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/users/%7BuserId%7D'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Login user
| object | object | ||
| username | string | ||
| password | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/user/login' \ --data '{ "username": "{string}", "password": "{string}"}'OK
| object | object | ||
| jwtToken | object | ||
| token | string | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "jwtToken": { "token": "{string}" }, "responseKey": "{string}", "responseMessage": "{string}"}Remove all tokens for an user
| userId | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/user/login/%7BuserId%7D'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Get a new Access Token
| object | object | ||
| accessToken | string |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/user/token' \ --data '{ "accessToken": "{string}"}'OK
| object | object | ||
| jwtToken | object | ||
| token | string | ||
| responseKey | string | ||
| responseMessage | string |
Bad Request
xxxxxxxxxx{ "jwtToken": { "token": "{string}" }, "responseKey": "{string}", "responseMessage": "{string}"}Request a password reset
| object | object | ||
| emailInput | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/user/password/request-reset' \ --data '{ "emailInput": "{string}"}'OK
| object | object | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "responseKey": "{string}", "responseMessage": "{string}"}Reset a user password
| object | object | ||
| newPassword | string | minLength: 12 | |
| newPasswordConfirmation | string | minLength: 12 | |
| secureToken | string | ||
| userId | string |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/user/password/new-password' \ --data '{ "newPassword": "{string}", "newPasswordConfirmation": "{string}", "secureToken": "{string}", "userId": "{string}"}'OK
| object | object | ||
| user | object | ||
| userId | string | ||
| username | string | ||
| fullName | string | ||
| string | |||
| role | integer | ||
| showTutorial | boolean | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "user": { "userId": "{string}", "username": "{string}", "fullName": "{string}", "email": "{string}", "role": "{integer}", "showTutorial": "{boolean}" }, "responseKey": "{string}", "responseMessage": "{string}"}Manage Versions
Get application version
| api | string | pattern: |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/version' \ --data api-version={api-version}OK
| object | object | ||
| version | string | ||
| lastSupportedConfigVersion | string | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "version": "{string}", "lastSupportedConfigVersion": "{string}", "responseKey": "{string}", "responseMessage": "{string}"}Get application version
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/version'OK
| object | object | ||
| version | string | ||
| lastSupportedConfigVersion | string | ||
| responseKey | string | ||
| responseMessage | string |
xxxxxxxxxx{ "version": "{string}", "lastSupportedConfigVersion": "{string}", "responseKey": "{string}", "responseMessage": "{string}"}Manage Webhooks
Handles a scan event triggered by a webhook. Requires a custom header and a body.
| routeParameter | string |
| No request body |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/webhook/hmac/%7BrouteParameter%7D'OK
| No response body |
Bad Request
Internal Server Error
xxxxxxxxxxNo responseHandles a scan event triggered by a webhook. Requires a custom body.
| routeParameter | string |
| No request body |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/webhook/%7BrouteParameter%7D'OK
| No response body |
Bad Request
Internal Server Error
xxxxxxxxxxNo responseCreate a workflow
| object | object | ||
| name | string | ||
| description | string | ||
| scanConfigurationId | string | ||
| type | integer | ||
| recurrencePattern | object | ||
| type | integer | ||
| hourlyRecurrence | object | ||
| everyNumberOfHours | int32 | ||
| dailyRecurrence | object | ||
| everyNumberOfDays | int32 | ||
| weeklyRecurrence | object | ||
| daysOfWeek | array[integer] | ||
| everyNumberOfWeeks | int32 | ||
| monthlyRecurrence | object | ||
| everyNumberOfMonths | int32 | ||
| dayOfMonth | int32 | ||
| scanSources | array[object] | ||
| serviceId | string | ||
| serviceName | string | ||
| repositories | array[object] | ||
| repositoryId | string | ||
| repositoryName | string | ||
| type | string | ||
| connection | string | ||
| packageType | string | ||
| organization | string | ||
| registry | string | ||
| referencesToScan | array[string] | ||
| remediations | array[object] | ||
| isEnabled | boolean | ||
| type | string | ||
| useDefaultReferences | boolean |
xxxxxxxxxxcurl --request POST \ --url 'https://opswat.developerhub.io/api/v1/workflows' \ --data '{ "name": "{string}", "description": "{string}", "scanConfigurationId": "{string}", "type": "{integer}", "recurrencePattern": { "type": "{integer}", "hourlyRecurrence": { "everyNumberOfHours": "{int32}" }, "dailyRecurrence": { "everyNumberOfDays": "{int32}" }, "weeklyRecurrence": { "daysOfWeek": [ "{array[integer]...}" ], "everyNumberOfWeeks": "{int32}" }, "monthlyRecurrence": { "everyNumberOfMonths": "{int32}", "dayOfMonth": "{int32}" } }, "scanSources": [ { "serviceId": "{string}", "serviceName": "{string}", "repositories": [ { "repositoryId": "{string}", "repositoryName": "{string}", "type": "{string}", "connection": "{string}", "packageType": "{string}", "organization": "{string}", "registry": "{string}", "referencesToScan": [ "{array[string]...}" ] } ] } ], "remediations": [ { "isEnabled": "{boolean}", "type": "{string}", "config": "{}" } ], "fileDiscoveryFilterConfiguration": "{}", "useDefaultReferences": "{boolean}"}'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}List all workflows
| includeDeleted | boolean |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/workflows' \ --data includeDeleted={includeDeleted}OK
| array | array[object] | ||
| id | string | ||
| name | string | ||
| description | string | ||
| userId | string | ||
| scanConfigurationId | string | ||
| deleted | boolean | ||
| type | integer | ||
| recurrencePattern | object | ||
| type | integer | ||
| hourlyRecurrence | object | ||
| everyNumberOfHours | int32 | ||
| dailyRecurrence | object | ||
| everyNumberOfDays | int32 | ||
| weeklyRecurrence | object | ||
| daysOfWeek | array[integer] | ||
| everyNumberOfWeeks | int32 | ||
| monthlyRecurrence | object | ||
| everyNumberOfMonths | int32 | ||
| dayOfMonth | int32 | ||
| scanSources | array[object] | ||
| serviceId | string | ||
| serviceName | string | ||
| repositories | array[object] | ||
| repositoryId | string | ||
| repositoryName | string | ||
| type | string | ||
| connection | string | ||
| packageType | string | ||
| organization | string | ||
| registry | string | ||
| referencesToScan | array[string] | ||
| remediations | array[object] | ||
| isEnabled | boolean | ||
| type | string |
xxxxxxxxxx[ { "id": "{string}", "name": "{string}", "description": "{string}", "userId": "{string}", "scanConfigurationId": "{string}", "deleted": "{boolean}", "type": "{integer}", "recurrencePattern": { "type": "{integer}", "hourlyRecurrence": { "everyNumberOfHours": "{int32}" }, "dailyRecurrence": { "everyNumberOfDays": "{int32}" }, "weeklyRecurrence": { "daysOfWeek": [ "{array[integer]...}" ], "everyNumberOfWeeks": "{int32}" }, "monthlyRecurrence": { "everyNumberOfMonths": "{int32}", "dayOfMonth": "{int32}" } }, "scanSources": [ { "serviceId": "{string}", "serviceName": "{string}", "repositories": [ { "repositoryId": "{string}", "repositoryName": "{string}", "type": "{string}", "connection": "{string}", "packageType": "{string}", "organization": "{string}", "registry": "{string}", "referencesToScan": [ "{array[string]...}" ] } ] } ], "remediations": [ { "isEnabled": "{boolean}", "type": "{string}", "config": "{}" } ], "fileDiscoveryFilterConfiguration": "{}" }]Update a workflow
| id | string |
| object | object | ||
| name | string | ||
| description | string | ||
| scanConfigurationId | string | ||
| recurrencePattern | object | ||
| type | integer | ||
| hourlyRecurrence | object | ||
| everyNumberOfHours | int32 | ||
| dailyRecurrence | object | ||
| everyNumberOfDays | int32 | ||
| weeklyRecurrence | object | ||
| daysOfWeek | array[integer] | ||
| everyNumberOfWeeks | int32 | ||
| monthlyRecurrence | object | ||
| everyNumberOfMonths | int32 | ||
| dayOfMonth | int32 | ||
| scanSources | array[object] | ||
| serviceId | string | ||
| serviceName | string | ||
| repositories | array[object] | ||
| repositoryId | string | ||
| repositoryName | string | ||
| type | string | ||
| connection | string | ||
| packageType | string | ||
| organization | string | ||
| registry | string | ||
| referencesToScan | array[string] | ||
| remediations | array[object] | ||
| isEnabled | boolean | ||
| type | string | ||
| useDefaultReferences | boolean |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/workflows/%7Bid%7D' \ --data '{ "name": "{string}", "description": "{string}", "scanConfigurationId": "{string}", "recurrencePattern": { "type": "{integer}", "hourlyRecurrence": { "everyNumberOfHours": "{int32}" }, "dailyRecurrence": { "everyNumberOfDays": "{int32}" }, "weeklyRecurrence": { "daysOfWeek": [ "{array[integer]...}" ], "everyNumberOfWeeks": "{int32}" }, "monthlyRecurrence": { "everyNumberOfMonths": "{int32}", "dayOfMonth": "{int32}" } }, "scanSources": [ { "serviceId": "{string}", "serviceName": "{string}", "repositories": [ { "repositoryId": "{string}", "repositoryName": "{string}", "type": "{string}", "connection": "{string}", "packageType": "{string}", "organization": "{string}", "registry": "{string}", "referencesToScan": [ "{array[string]...}" ] } ] } ], "remediations": [ { "isEnabled": "{boolean}", "type": "{string}", "config": "{}" } ], "fileDiscoveryFilterConfiguration": "{}", "useDefaultReferences": "{boolean}"}'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Get a workflow by ID
| id | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/workflows/%7Bid%7D'OK
| object | object | ||
| id | string | ||
| name | string | ||
| description | string | ||
| userId | string | ||
| scanConfigurationId | string | ||
| deleted | boolean | ||
| type | integer | ||
| recurrencePattern | object | ||
| type | integer | ||
| hourlyRecurrence | object | ||
| everyNumberOfHours | int32 | ||
| dailyRecurrence | object | ||
| everyNumberOfDays | int32 | ||
| weeklyRecurrence | object | ||
| daysOfWeek | array[integer] | ||
| everyNumberOfWeeks | int32 | ||
| monthlyRecurrence | object | ||
| everyNumberOfMonths | int32 | ||
| dayOfMonth | int32 | ||
| scanSources | array[object] | ||
| serviceId | string | ||
| serviceName | string | ||
| repositories | array[object] | ||
| repositoryId | string | ||
| repositoryName | string | ||
| type | string | ||
| connection | string | ||
| packageType | string | ||
| organization | string | ||
| registry | string | ||
| referencesToScan | array[string] | ||
| remediations | array[object] | ||
| isEnabled | boolean | ||
| type | string |
xxxxxxxxxx{ "id": "{string}", "name": "{string}", "description": "{string}", "userId": "{string}", "scanConfigurationId": "{string}", "deleted": "{boolean}", "type": "{integer}", "recurrencePattern": { "type": "{integer}", "hourlyRecurrence": { "everyNumberOfHours": "{int32}" }, "dailyRecurrence": { "everyNumberOfDays": "{int32}" }, "weeklyRecurrence": { "daysOfWeek": [ "{array[integer]...}" ], "everyNumberOfWeeks": "{int32}" }, "monthlyRecurrence": { "everyNumberOfMonths": "{int32}", "dayOfMonth": "{int32}" } }, "scanSources": [ { "serviceId": "{string}", "serviceName": "{string}", "repositories": [ { "repositoryId": "{string}", "repositoryName": "{string}", "type": "{string}", "connection": "{string}", "packageType": "{string}", "organization": "{string}", "registry": "{string}", "referencesToScan": [ "{array[string]...}" ] } ] } ], "remediations": [ { "isEnabled": "{boolean}", "type": "{string}", "config": "{}" } ], "fileDiscoveryFilterConfiguration": "{}"}Delete a workflow by ID
| id | string |
xxxxxxxxxxcurl --request DELETE \ --url 'https://opswat.developerhub.io/api/v1/workflows/%7Bid%7D'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}Update a workflow scan source
| id | string |
| object | object | ||
| serviceId | string | ||
| serviceName | string | ||
| repositories | array[object] | ||
| repositoryId | string | ||
| repositoryName | string | ||
| type | string | ||
| connection | string | ||
| packageType | string | ||
| organization | string | ||
| registry | string | ||
| referencesToScan | array[string] |
xxxxxxxxxxcurl --request PUT \ --url 'https://opswat.developerhub.io/api/v1/workflows/%7Bid%7D/scan-source' \ --data '{ "serviceId": "{string}", "serviceName": "{string}", "repositories": [ { "repositoryId": "{string}", "repositoryName": "{string}", "type": "{string}", "connection": "{string}", "packageType": "{string}", "organization": "{string}", "registry": "{string}", "referencesToScan": [ "{array[string]...}" ] } ]}'OK
| object | object | ||
| result | integer | ||
| responseKey | string | ||
| responseMessage | string | ||
| responseMessageParams | object | ||
| * | string |
Bad Request
xxxxxxxxxx{ "result": "{integer}", "responseKey": "{string}", "responseMessage": "{string}", "responseMessageParams": {}}List all workflows by repository ID
| repositoryId | string |
xxxxxxxxxxcurl --get \ --url 'https://opswat.developerhub.io/api/v1/workflows/repositories/%7BrepositoryId%7D'OK
| array | array[object] | ||
| id | string | ||
| name | string | ||
| description | string | ||
| userId | string | ||
| scanConfigurationId | string | ||
| deleted | boolean | ||
| type | integer | ||
| recurrencePattern | object | ||
| type | integer | ||
| hourlyRecurrence | object | ||
| everyNumberOfHours | int32 | ||
| dailyRecurrence | object | ||
| everyNumberOfDays | int32 | ||
| weeklyRecurrence | object | ||
| daysOfWeek | array[integer] | ||
| everyNumberOfWeeks | int32 | ||
| monthlyRecurrence | object | ||
| everyNumberOfMonths | int32 | ||
| dayOfMonth | int32 | ||
| scanSources | array[object] | ||
| serviceId | string | ||
| serviceName | string | ||
| repositories | array[object] | ||
| repositoryId | string | ||
| repositoryName | string | ||
| type | string | ||
| connection | string | ||
| packageType | string | ||
| organization | string | ||
| registry | string | ||
| referencesToScan | array[string] | ||
| remediations | array[object] | ||
| isEnabled | boolean | ||
| type | string |
xxxxxxxxxx[ { "id": "{string}", "name": "{string}", "description": "{string}", "userId": "{string}", "scanConfigurationId": "{string}", "deleted": "{boolean}", "type": "{integer}", "recurrencePattern": { "type": "{integer}", "hourlyRecurrence": { "everyNumberOfHours": "{int32}" }, "dailyRecurrence": { "everyNumberOfDays": "{int32}" }, "weeklyRecurrence": { "daysOfWeek": [ "{array[integer]...}" ], "everyNumberOfWeeks": "{int32}" }, "monthlyRecurrence": { "everyNumberOfMonths": "{int32}", "dayOfMonth": "{int32}" } }, "scanSources": [ { "serviceId": "{string}", "serviceName": "{string}", "repositories": [ { "repositoryId": "{string}", "repositoryName": "{string}", "type": "{string}", "connection": "{string}", "packageType": "{string}", "organization": "{string}", "registry": "{string}", "referencesToScan": [ "{array[string]...}" ] } ] } ], "remediations": [ { "isEnabled": "{boolean}", "type": "{string}", "config": "{}" } ], "fileDiscoveryFilterConfiguration": "{}" }]