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.

http Bearer

Access Token required

apiKey ApiKey

API Key sent in header

Fields
KeyIn
API KeyHeader
apiKey HmacAuth

HMAC SHA-256 signature (X-Hub-Signature)

Fields
KeyIn
X-Hub-SignatureHeader

Audit

Audit Management

List audit events

Auth
Query String
Startstring

pattern: ^[0-9]*$

Countstring

pattern: ^[0-9]*$

LogTypestring

Enum: FileDiscovered,FileScanned,FileDiscoveryFailed,ProcessStarted,ProcessCompleted,ProcessCancelled,ProcessFailed,ServiceAdded,ServiceUpdated,ServiceRemoved,LoggedIn,LoggedOut,UserCreated,UserRegistered,UserRoleUpdated,UserUpdated,UserRemoved,ScanInstanceAdd,ScanInstanceUpdate,ScanInstanceDelete,ScanInstanceImport,ScanPoolAdd,ScanPoolUpdate,ScanPoolDelete,ScanPoolImport,OnlineLicenseActivated,OfflineLicenseActivated,LicenseDeactivated,ConfigurationImported,ConfigurationExported,Notifications,Smtp,ExternalLoggerAdd,ExternalLoggerUpdate,ExternalLoggerDelete,DataRetention,ApiKeyAdd,ApiKeyUpdate,ApiKeyDelete,ScanConfigurationAdd,ScanConfigurationUpdate,ScanConfigurationDelete,ScanConfigurationSetDefault,ScanConfigurationImport,ScanAdd,ScanUpdate,ScanDelete,Other

CategoryTypestring

Enum: Processes,Remediations,ServiceUnits,Authentication,Settings,Users,Notifications,Other

LogLevelstring

Enum: Debug,Info,Warn,Error

SearchTextstring
GET /api/v1/audit
Copy
Responses
200

Success

400

Bad Request

Response
Copy

Export a CycloneDX report for repository

Auth
Path Params
repoIdstring
Query String
Referencestring
GET /api/v1/export/cyclonedx/{repoId}
Copy
Responses
200

Success

filefile
400

Bad Request

404

Not Found

Response
Copy

Export a PDF report for all scans

Auth
Query String
ProductAddressstring
Typearray

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

TimeFramestring

Enum: OneDay,TwoDays,ThreeDays

Vulnerabilitiesarray

Enum: None,Critical,High,Medium,Low,Unknown

LicenseRisksarray
Statusarray

Enum: NotStarted,Running,Cancelled,Failed,Completed

TriggerEventarray
Workflowstring
Connectionstring
Secretsboolean
Threatsboolean
Searchstring
ConnectionTypestring

Enum: Unknown,SourceCode,Container,Binary

GET /api/v1/export/pdf/all-scans
Copy
Responses
200

Success

filefile
400

Bad Request

404

Not Found

Response
Copy

Export a PDF Overview report for repository

Auth
Path Params
scanIdstring
Query String
ProductAddressstring
GET /api/v1/export/pdf/overview/{scanId}
Copy
Responses
200

Success

filefile
400

Bad Request

404

Not Found

Response
Copy

Export a PDF SBOM report for repository

Auth
Path Params
scanIdstring
Query String
ProductAddressstring
GET /api/v1/export/pdf/sbom/{scanId}
Copy
Responses
200

Success

filefile
400

Bad Request

404

Not Found

Response
Copy

Get all configured External Loggers

Auth
GET /api/v1/externallogger
Copy
Responses
200

Success

No response body
Response
Copy

Add a new External Logger

Auth
Request Body
objectobject
ConnectionSettingsobject
ServerAddressstring
Portint32
Facilitystring

Enum: KernelMessages,UserLevelMessages,MailSystem,SystemDaemons,SecurityOrAuthorizationMessages1,InternalMessages,LinePrinterSubsystem,NetworkNewsSubsystem,UUCPSubsystem,ClockDaemon1,SecurityOrAuthorizationMessages2,FTPDaemon,NTPSubsystem,LogAudit,LogAlert,ClockDaemon2,LocalUse0,LocalUse1,LocalUse2,LocalUse3,LocalUse4,LocalUse5,LocalUse6,LocalUse7

Formatstring

Enum: RFC5424

POST /api/v1/externallogger
Copy
Responses
200

Success

No response body
Response
Copy

Update an existing External Logger

Auth
Path Params
idstring
Request Body
objectobject
ConnectionSettingsobject
ServerAddressstring
Portint32
Facilitystring

Enum: KernelMessages,UserLevelMessages,MailSystem,SystemDaemons,SecurityOrAuthorizationMessages1,InternalMessages,LinePrinterSubsystem,NetworkNewsSubsystem,UUCPSubsystem,ClockDaemon1,SecurityOrAuthorizationMessages2,FTPDaemon,NTPSubsystem,LogAudit,LogAlert,ClockDaemon2,LocalUse0,LocalUse1,LocalUse2,LocalUse3,LocalUse4,LocalUse5,LocalUse6,LocalUse7

Formatstring

Enum: RFC5424

PUT /api/v1/externallogger/{id}
Copy
Responses
200

Success

No response body
Response
Copy

Delete an External Logger

Auth
Path Params
idstring
DELETE /api/v1/externallogger/{id}
Copy
Responses
200

Success

No response body
Response
Copy

Returns all global label keys

Auth
GET /api/v1/global-label-keys
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
GlobalKeysarray[object]
Idstring
Namestring
Descriptionstring
ValueTypestring
Optionsarray[string]
Createddate-time
Updateddate-time
Response
Copy

Adds a new global label key

Auth
Request Body
objectobject
Namestring
Descriptionstring
ValueTypestring
Optionsarray[string]
POST /api/v1/global-label-keys
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
GlobalKeyobject
Idstring
Namestring
Descriptionstring
ValueTypestring
Optionsarray[string]
Createddate-time
Updateddate-time
Response
Copy

Updates an existing global label key

Auth
Path Params
idstring
Request Body
objectobject
Namestring
Descriptionstring
ValueTypestring
Optionsarray[string]
PUT /api/v1/global-label-keys/{id}
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
GlobalKeyobject
Idstring
Namestring
Descriptionstring
ValueTypestring
Optionsarray[string]
Createddate-time
Updateddate-time
Response
Copy

Deletes a global label key

Auth
Path Params
idstring
DELETE /api/v1/global-label-keys/{id}
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Response
Copy

Retrieves a list of packages based on search criteria

Auth
Query String
Namestring
Versionstring
Vulnerabilitiesarray
LicenseRisksarray
Connectionstring
Repositorystring
Referencestring
ScanIdstring
StepSha256string
Searchstring
GET /api/v1/packages
Copy
Responses
200

Success

Response
Copy

Retrieves a package by its unique identifier

Auth
Path Params
idstring
GET /api/v1/packages/{id}
Copy
Responses
200

Success

Response
Copy

Retrieves CVEs associated with a specific package

Auth
Path Params
idstring
GET /api/v1/packages/{id}/cves
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Cvesarray[object]
Idstring
FixedVersionsarray[string]
Severitystring
Sourcestring
Cwesarray[string]
Response
Copy

Retrieves all labels for a specific package

Auth
Path Params
idstring
GET /api/v1/packages/{id}/labels
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Labelsarray[object]
Keystring
Valuestring
ValueTypestring
Createddate-time
Updateddate-time
Response
Copy

Adds a label to a package

Auth
Path Params
idstring
Request Body
objectobject
Keystring
Valuestring
ValueTypestring
Createddate-time
Updateddate-time
POST /api/v1/packages/{id}/labels
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Labelobject
Keystring
Valuestring
ValueTypestring
Createddate-time
Updateddate-time
Response
Copy

Updates an existing label in a package

Auth
Path Params
idstring
keystring
Request Body
objectobject
valuestring
valueTypestring
PUT /api/v1/packages/{id}/labels/{key}
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Response
Copy

Deletes a label from a package

Auth
Path Params
idstring
keystring
DELETE /api/v1/packages/{id}/labels/{key}
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Response
Copy

Searches for packages by label key and optionally value

Auth
Query String
keystring
valuestring
GET /api/v1/packages/search/labels
Copy
Responses
200

Success

Response
Copy

Enable real-time protection for multiple repositories

Auth
Path Params
storageIdstring
Request Body
objectobject
Repositoriesarray[object]
RepositoryIdstring
RepositoryNamestring
Connectionstring
WorkflowIdstring
POST /api/v1/realtime/{storageId}/enable
Copy
Responses
207

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

409

Conflict

Response
Copy

Disable real-time protection for storage

Auth
Path Params
storageIdstring
PATCH /api/v1/realtime/{storageId}/disable
Copy
Responses
200

Success

No response body
Response
Copy

Disable real-time protection for repository

Auth
Path Params
storageIdstring
repositoryIdstring
PATCH /api/v1/realtime/{storageId}/{repositoryId}/disable
Copy
Responses
200

Success

No response body
Response
Copy

List storages with real-time protection enabled

Auth
GET /api/v1/realtime
Copy
Responses
200

Success

objectobject
Storagesarray[object]
Idstring
Namestring
StorageTypeobject
Namestring
CategoryTypestring

Enum: Local,Cloud,Object

ProtocolTypestring

Enum: Smb,GraphSdk,BoxSdk,AwsSdk,AzureBlobSdk,AlibabaCloudSdk,GoogleCloudSdk,AzureFilesSdk,Sftp,Nfs,Mft,SharepointOnPrem,GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

VendorTypestring

Enum: AmazonS3,OneDrive,Box,DellIsilon,AzureFiles,SmbCompatible,S3Compatible,AzureBlob,AlibabaCloud,GoogleCloud,Sftp,SharePoint,Nfs,Wasabi,OracleCloud,NetAppOntap,Cubbit,Mft,SharepointOnPrem,GitHub,DockerHub,Bitbucket,AmazonEcr,Quay,JFrogContainer,JFrogBinary,AzureAcr,GitLabSource,GitLabContainer,Svn

StorageStatusobject
Messagestring
StatusTypestring

Enum: NotTested,Testing,Operational,Error

Response
Copy

List ongoing real-time scans for storage

Auth
Path Params
storageIdstring
GET /api/v1/realtime/{storageId}
Copy
Responses
200

Success

Delete real-time scan data for storage

Auth
Path Params
storageIdstring
Query String
forceDeleteboolean
DELETE /api/v1/realtime/{storageId}
Copy
Responses
200

Success

No response body
Response
Copy

Delete real-time scan data for repository

Auth
Path Params
storageIdstring
repositoryIdstring
Query String
forceDeleteboolean
DELETE /api/v1/realtime/{storageId}/{repositoryId}
Copy
Responses
200

Success

No response body
Response
Copy

scan-configurations

Auth
Request Body
objectobject
Namestring

maxLength: 50

minLength: 3

ScanPoolIdstring
Rulesarray[string]
UserAgentstring
POST /api/v1/scan-configurations
Copy
Responses
200

Success

400

Bad Request

502

Server Error

Response
Copy

Get Scan Configurations

Auth
GET /api/v1/scan-configurations
Copy
Responses
200

Success

400

Bad Request

404

Not Found

Update an existing Scan Configuration

Auth
Path Params
idstring
Request Body
objectobject
Namestring

maxLength: 50

minLength: 3

ScanPoolIdstring
Rulesarray[string]
UserAgentstring
PUT /api/v1/scan-configurations/{id}
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

404

Not Found

Response
Copy

Delete a Scan Configuration

Auth
Path Params
idstring
DELETE /api/v1/scan-configurations/{id}
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

404

Not Found

Response
Copy

Get Scan Configuration by ID

Auth
Path Params
idstring
GET /api/v1/scan-configurations/{id}
Copy
Responses
200

Success

400

Bad Request

404

Not Found

Get all Scan Configurations by ScanPool ID

Auth
Path Params
idstring
GET /api/v1/scan-configurations/scan-pools/{id}
Copy
Responses
200

Success

400

Bad Request

Add a new scan instance

Auth
Request Body
objectobject
ScanPoolIdstring
Urlstring
ApiKeystring
Timeoutobject
Ticksint64
ScanInstanceTypestring

Enum: MdCore,MdCloud

POST /api/v1/scan-instances
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
ScanInstanceIdstring

Because it belongs to a response, if AddScanInstance breaks, we won't have ScanInstanceId.

400

Bad Request

404

Not Found

Response
Copy

Delete scan instance

Auth
Path Params
idstring
DELETE /api/v1/scan-instances/{id}
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

404

Not Found

Response
Copy

Get a scan instance by ID

Auth
Path Params
idstring
GET /api/v1/scan-instances/{id}
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
ScanInstanceobject
Idstring
ScanPoolIdstring
Urlstring
ApiKeystring
Timeoutobject
Ticksint64
Daysint32
Hoursint32
Millisecondsint32
Microsecondsint32
Nanosecondsint32
Minutesint32
Secondsint32
TotalDaysnumber
TotalHoursnumber
TotalMillisecondsnumber
TotalMicrosecondsnumber
TotalNanosecondsnumber
TotalMinutesnumber
TotalSecondsnumber
400

Bad Request

404

Not Found

Response
Copy

Update a scan instance

Auth
Path Params
idstring
Request Body
objectobject
Urlstring
ApiKeystring
Timeoutobject
Ticksint64
PUT /api/v1/scan-instances/{id}
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

404

Not Found

Response
Copy

Add a new Scan Pool

Auth
Request Body
objectobject
Namestring
ScanPoolTypestring

Enum: MdCore,MdCloud

POST /api/v1/scan-pools
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
ScanPoolIdstring
400

Bad Request

404

Not Found

Response
Copy

Get Scan Pools

Auth
GET /api/v1/scan-pools
Copy
Responses
200

Success

400

Bad Request

404

Not Found

Response
Copy

Delete a Scan Pool

Auth
Path Params
idstring
DELETE /api/v1/scan-pools/{id}
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

404

Not Found

Response
Copy

Get Scan Pool by ID

Auth
Path Params
idstring
GET /api/v1/scan-pools/{id}
Copy
Responses
200

Success

400

Bad Request

404

Not Found

Response
Copy

Update an existing Scan Pool. It's type can't be changed, it is not supported yet.

Auth
Path Params
idstring
Request Body
objectobject
Namestring
PUT /api/v1/scan-pools/{id}
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

404

Not Found

Response
Copy

rules

Auth
Path Params
idstring
GET /api/v1/scan-pools/{id}/rules
Copy
Responses
200

Success

arrayarray[object]
namestring
user_agentsarray[string]
400

Bad Request

Response
Copy

Add or start a scan

Auth
Request Body
objectobject
StorageIdstring
StorageNamestring
ScanTypestring

Enum: Instant,Scheduled,RealTime

WorkflowIdstring
RepositoryIdstring
RepositoryNamestring
ProtocolTypestring

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

RepositoryTagsarray[string]
RepositoryBranchesarray[string]
Organizationstring
Connectionstring
PackageTypestring
RepositoryTypestring
POST /api/v1/scans
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
ScanIdsarray[string]
BranchesUsedForScanningarray[string]
TagsUsedForScanningarray[string]
ProtocolTypestring

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

RepositoryIdstring
RepositoryNamestring
ServiceIdstring
StorageNamestring
WorkflowIdstring
WorkflowNamestring
TriggerEventstring
TriggerBystring
Response
Copy

Enumerate scan results

Auth
Query String
Typearray

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

TimeFramestring

Enum: OneDay,TwoDays,ThreeDays

Vulnerabilitiesarray

Enum: None,Critical,High,Medium,Low,Unknown

LicenseRisksarray
Statusarray

Enum: NotStarted,Running,Cancelled,Failed,Completed

TriggerEventarray
Workflowstring
Connectionstring
Secretsboolean
Threatsboolean
Searchstring
ConnectionTypestring

Enum: Unknown,SourceCode,Container,Binary

GET /api/v1/scans
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Response
Copy

Delete multiple scans by their scan IDs

Auth
Request Body
arrayarray[string]
DELETE /api/v1/scans
Copy
Responses
200

Success

No response body
400

Bad Request

500

Server Error

Response
Copy

Stop a scan

Auth
Path Params
idstring
POST /api/v1/scans/{id}
Copy
Responses
200

Success

objectobject
StatusCodeint32
Response
Copy

Get scan results by scan ID

Auth
Path Params
idstring
GET /api/v1/scans/{id}
Copy
Responses
200

Success

404

Not Found

Response
Copy

Enumerate all latest scan results

Auth
Query String
Typearray

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

TimeFramestring

Enum: OneDay,TwoDays,ThreeDays

Vulnerabilitiesarray

Enum: None,Critical,High,Medium,Low,Unknown

LicenseRisksarray
Statusarray

Enum: NotStarted,Running,Cancelled,Failed,Completed

TriggerEventarray
Workflowstring
Connectionstring
Secretsboolean
Threatsboolean
Searchstring
ConnectionTypestring

Enum: Unknown,SourceCode,Container,Binary

GET /api/v1/scans/latest
Copy
Responses
200

Success

404

Not Found

Enumerate all latest scan results by service ID

Auth
Path Params
serviceIdstring
Query String
Typearray

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

TimeFramestring

Enum: OneDay,TwoDays,ThreeDays

Vulnerabilitiesarray

Enum: None,Critical,High,Medium,Low,Unknown

LicenseRisksarray
Statusarray

Enum: NotStarted,Running,Cancelled,Failed,Completed

TriggerEventarray
Workflowstring
Connectionstring
Secretsboolean
Threatsboolean
Searchstring
ConnectionTypestring

Enum: Unknown,SourceCode,Container,Binary

GET /api/v1/scans/{serviceId}/latest
Copy
Responses
200

Success

Get scan overview by scan ID

Auth
Path Params
idstring
GET /api/v1/scans/{id}/overview
Copy
Responses
200

Success

Enumerate all scan results by repository ID

Auth
Path Params
serviceIdstring
repositoryIdstring
GET /api/v1/scans/{serviceId}/{repositoryId}
Copy
Responses
200

Success

Get detailed scan result

Auth
Path Params
fileIdstring
dataIdstring
Query String
sizeinteger

Default: 100

firstinteger
GET /api/v1/scans/details/{fileId}/{dataId}
Copy
Responses
200

Success

400

Bad Request

404

Not Found

Response
Copy

Enumerate all scan schedules

Auth
GET /api/v1/scans/schedules
Copy
Responses
200

Success

Response
Copy

Enumerate files by scan ID

Auth
Path Params
scanIdstring
Query String
startIndexinteger
countinteger

Default: 10000

GET /api/v1/scans/{scanId}/files
Copy
Responses
200

Success

404

Not Found

Response
Copy

Update the SMTP configuration

Auth
Request Body
objectobject
ResponseKeystring
ResponseMessagestring
ResponseMessageParamsobject
*string
Smtpobject
Hoststring
Portint32
SenderAddressstring
SenderNamestring
Domainstring
BaseUrlstring
UserNamestring
Passwordstring
SecureSocketOptionstring

Enum: None,Auto,SslOnConnect,StartTls,StartTlsWhenAvailable

IgnoreCertWarningsboolean
IsEnabledboolean
POST /api/v1/smtp
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
400

Bad Request

Response
Copy

Get the SMTP configuration

Auth
GET /api/v1/smtp
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Smtpobject
Hoststring
Portint32
SenderAddressstring
SenderNamestring
Domainstring
BaseUrlstring
UserNamestring
Passwordstring
SecureSocketOptionstring

Enum: None,Auto,SslOnConnect,StartTls,StartTlsWhenAvailable

IgnoreCertWarningsboolean
IsEnabledboolean
400

Bad Request

Response
Copy

Add Jira Configuration

Auth
Request Body
objectobject
Idstring
Namestring
BaseAddressstring
ProductAddressstring
Usernamestring
ApiKeystring
POST /api/v1/jira
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
400

Bad Request

Response
Copy

Get All Jira Configurations

Auth
GET /api/v1/jira
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
JiraEntriesarray[object]
Idstring
Namestring
BaseAddressstring
ProductAddressstring
Usernamestring
ApiKeystring
400

Bad Request

Response
Copy

Get Jira Configuration by ID

Auth
Path Params
idstring
GET /api/v1/jira/{id}
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Jiraobject
Idstring
Namestring
BaseAddressstring
ProductAddressstring
Usernamestring
ApiKeystring
404

Not Found

Response
Copy

Update Jira Configuration by ID

Auth
Path Params
idstring
Request Body
objectobject
Idstring
Namestring
BaseAddressstring
ProductAddressstring
Usernamestring
ApiKeystring
PUT /api/v1/jira/{id}
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
404

Not Found

Response
Copy

Delete Jira Configuration by ID

Auth
Path Params
idstring
DELETE /api/v1/jira/{id}
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
JiraIdstring
404

Not Found

Response
Copy

Get Jira Projects by Connection ID

Auth
Path Params
idstring
GET /api/v1/jira/{id}/projects
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Projectsarray[object]
Idstring
Namestring
404

Not Found

Response
Copy

Add a new user

Auth
Request Body
objectobject
FullNamestring
UserNamestring
Passwordstring
Emailstring
Rolestring

Enum: None,ReadOnlyAdministrator,Administrator,SsoAdministrator,SsoReadOnlyAdministrator,TenantAdministrator,Invalid

POST /api/v1/users
Copy
Responses
200

Success

objectobject
CreateUserParametersobject
FullNamestring
UserNamestring
Passwordstring
Emailstring
Rolestring

Enum: None,ReadOnlyAdministrator,Administrator,SsoAdministrator,SsoReadOnlyAdministrator,TenantAdministrator,Invalid

CurrentUserIdstring
400

Bad Request

Response
Copy

Get users

Auth
Query String
Typestring

Enum: ActiveUsers,NewUsers

StartIndexinteger
Countinteger
SearchTermstring
GET /api/v1/users
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
EnumerateUsersDtoobject
Entriesarray[object]
UserIdstring
Usernamestring
FullNamestring
Emailstring
Rolestring

Enum: None,ReadOnlyAdministrator,Administrator,SsoAdministrator,SsoReadOnlyAdministrator,TenantAdministrator,Invalid

ShowTutorialboolean
TotalCountint64
400

Bad Request

Response
Copy

Update a user

Auth
Request Body
objectobject
UserIdstring
Rolestring

Enum: None,ReadOnlyAdministrator,Administrator,SsoAdministrator,SsoReadOnlyAdministrator,TenantAdministrator,Invalid

UserNamestring
FullNamestring
Emailstring
CurrentPasswordstring
NewPasswordstring
ShowTutorialboolean
PUT /api/v1/users
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
400

Bad Request

Response
Copy

Get current user

Auth
GET /api/v1/user
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
UserDtoobject
UserIdstring
Usernamestring
FullNamestring
Emailstring
Rolestring

Enum: None,ReadOnlyAdministrator,Administrator,SsoAdministrator,SsoReadOnlyAdministrator,TenantAdministrator,Invalid

ShowTutorialboolean
400

Bad Request

Response
Copy

Delete a user

Auth
Path Params
userIdstring
DELETE /api/v1/users/{userId}
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
400

Bad Request

Response
Copy

Login user

Auth
Request Body
objectobject
Usernamestring
Passwordstring
POST /api/v1/user/login
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
JwtTokenobject
Tokenstring
400

Bad Request

Response
Copy

It will remove all tokens of this user

Auth
Path Params
userIdstring
DELETE /api/v1/user/login/{userId}
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
400

Bad Request

Response
Copy

Get new Access Token

Auth
Request Body
objectobject
AccessTokenstring
PUT /api/v1/user/token
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
JwtTokenobject
Tokenstring
400

Bad Request

Response
Copy

Request password reset

Auth
Request Body
objectobject
EmailInputstring

minLength: 1

POST /api/v1/user/password/request-reset
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Response
Copy

Reset user password

Auth
Request Body
objectobject
NewPasswordstring

minLength: 12

NewPasswordConfirmationstring

minLength: 12

SecureTokenstring
UserIdstring
POST /api/v1/user/password/new-password
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Userobject
UserIdstring
Usernamestring
FullNamestring
Emailstring
Rolestring

Enum: None,ReadOnlyAdministrator,Administrator,SsoAdministrator,SsoReadOnlyAdministrator,TenantAdministrator,Invalid

ShowTutorialboolean
Response
Copy

Version

Manage versions

Get application version

Auth
GET /api/v1/version
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
ResponseMessageParamsobject
*string
Versionstring
LastSupportedConfigVersionstring
Response
Copy

Handle No-Auth Scan Event

Handles a scan event triggered by a webhook. Requires a custom header and a body.

Auth
Path Params
routeParameterstring
Request Body
No request body
POST /api/v1/webhook/hmac/{routeParameter}
Copy
Responses
200

Success

No response body
400

Bad Request

500

Server Error

Response
Copy

Handle Scan Event

Handles a scan event triggered by a webhook. Requires a custom body.

Auth
Path Params
routeParameterstring
Request Body
No request body
POST /api/v1/webhook/{routeParameter}
Copy
Responses
200

Success

No response body
400

Bad Request

500

Server Error

Response
Copy

Create a workflow

Auth
Request Body
POST /api/v1/workflows
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

Response
Copy

List all workflows

Auth
Query String
includeDeletedboolean
GET /api/v1/workflows
Copy
Responses
200

Success

Update a workflow

Auth
Path Params
idstring
Request Body
PUT /api/v1/workflows/{id}
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

Response
Copy

Get workflow by Id

Auth
Path Params
idstring
GET /api/v1/workflows/{id}
Copy
Responses
200

Success

Delete Workflow by id

Auth
Path Params
idstring
DELETE /api/v1/workflows/{id}
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

Response
Copy

Update workflow scan source

Auth
Path Params
idstring
Request Body
objectobject
ServiceIdstring
ServiceNamestring
Repositoriesarray[object]
RepositoryIdstring
RepositoryNamestring
Typestring
Connectionstring
PackageTypestring
Organizationstring
Registrystring
BranchNamesToScanarray[string]
TagNamesToScanarray[string]
PUT /api/v1/workflows/{id}/scan-source
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
400

Bad Request

Response
Copy

List all workflows by repositoryId

Auth
Path Params
repositoryIdstring
GET /api/v1/workflows/repositories/{repositoryId}
Copy
Responses
200

Success

online

Auth
Request Body
objectobject
Keystring

minLength: 1

POST /api/v1/licenses/online
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,FailedToActivate

ResponseMessagestring
400

Bad Request

Response
Copy

licenses

Auth
DELETE /api/v1/licenses
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,FailedToDeactivate,FailedToDeactivateDeploymentIdMalformed,NotFound

ResponseMessagestring
400

Bad Request

404

Not Found

Response
Copy

licenses

Auth
GET /api/v1/licenses
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,NotFound,Error

Licenseobject
ProductIdstring
ProductNamestring
Expirationint64
DeploymentIdstring
ActivationKeystring
LicenseContentstring
MaxDevelopersint32
ResponseMessagestring
400

Bad Request

404

Not Found

Response
Copy

ocm

Auth
Request Body
objectobject
ServerApistring
RegCodestring
PUT /api/v1/ocm
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Response
Copy

ocm

Auth
DELETE /api/v1/ocm
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
Response
Copy

ocm

Auth
GET /api/v1/ocm
Copy
Responses
200

Success

objectobject
ResponseKeystring
ResponseMessagestring
OcmInformationobject
Idstring
ServerApistring
RegistrationCodestring
ConnectionStatusstring

Enum: Disconnected,Connected

EnrollStatusstring

Enum: NotEnrolled,Enrolled

LastServerConnectionint64
LastConfigurationSyncint64
ApiKeystring
CmVersionstring
DeploymentIdstring
ScanConfigurationHashstring
StorageConfigurationHashstring
SmtpConfigurationHashstring
NotificationConfigurationHashstring
RetentionConfigurationHashstring
ExternalLoggerConfigurationHashstring
UserConfigurationHashstring
LicenseConfigurationHashstring
Response
Copy

services

Auth
Request Body
objectobject
Namestring
Sourceobject
Optionsobject
PropertyNameCaseInsensitiveboolean
ParentSystem.Text.Json.Nodes.JsonNode
RootSystem.Text.Json.Nodes.JsonNode
VendorTypestring

Enum: GitHub,DockerHub,Bitbucket,AmazonEcr,Quay,JFrogContainer,JFrogBinary,AzureAcr,GitLabSource,GitLabContainer,Svn

ProtocolTypestring

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

Credentialsstring
POST /api/v1/services
Copy
Responses
200

Success

400

Bad Request

Response
Copy

services

Auth
Query String
contentboolean
typearray

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

GET /api/v1/services
Copy
Responses
200

Success

objectobject
ServiceDtosarray[object]
Namestring
Sourceobject
Optionsobject
PropertyNameCaseInsensitiveboolean
ParentSystem.Text.Json.Nodes.JsonNode
RootSystem.Text.Json.Nodes.JsonNode
VendorTypestring

Enum: GitHub,DockerHub,Bitbucket,AmazonEcr,Quay,JFrogContainer,JFrogBinary,AzureAcr,GitLabSource,GitLabContainer,Svn

ProtocolTypestring

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

Idstring
CredentialsTypeint32
ScanWorkflowIdstring
StatusMessagestring
206

Success

400

Bad Request

Response
Copy

{serviceId}

Auth
Path Params
serviceIdstring
Request Body
objectobject
Namestring
Credentialsstring
HasNewCredentialsboolean
PUT /api/v1/services/{serviceId}
Copy
Responses
200

Success

400

Bad Request

Response
Copy

{serviceId}

Auth
Path Params
serviceIdstring
Query String
contentboolean
Pageinteger
PageSizeinteger
FilterValuestring
Cursorinteger
PrioritizedRepositoriesstring
GET /api/v1/services/{serviceId}
Copy
Responses
200

Success

objectobject
Namestring
Sourceobject
Optionsobject
PropertyNameCaseInsensitiveboolean
ParentSystem.Text.Json.Nodes.JsonNode
RootSystem.Text.Json.Nodes.JsonNode
VendorTypestring

Enum: GitHub,DockerHub,Bitbucket,AmazonEcr,Quay,JFrogContainer,JFrogBinary,AzureAcr,GitLabSource,GitLabContainer,Svn

ProtocolTypestring

Enum: GitHubSdk,DockerHubSdk,BitbucketSdk,AmazonEcrSdk,QuaySdk,JFrogContainerSdk,JFrogBinarySdk,AzureAcrSdk,GitLabSourceSdk,GitLabContainerSdk,SvnSdk

Idstring
CredentialsTypeint32
ScanWorkflowIdstring
400

Bad Request

404

Not Found

Response
Copy

{serviceId}

Auth
Path Params
serviceIdstring
DELETE /api/v1/services/{serviceId}
Copy
Responses
200

Success

objectobject
Resultstring

Enum: Success,Error,InternalError,NotFound

ResponseKeystring
ResponseMessagestring
404

Not Found

Response
Copy

branches

Auth
Path Params
serviceIdstring
GET /api/v1/services/{serviceId}/branches
Copy
Responses
200

Success

objectobject
ServiceIdstring
ServiceNamestring
RepositoryBranchInfoArrayarray[object]
RepositoryIdstring
DefaultBranchstring
Branchesarray[string]
404

Not Found

Response
Copy

tags

Auth
Path Params
serviceIdstring
GET /api/v1/services/{serviceId}/tags
Copy
Responses
200

Success

objectobject
ServiceIdstring
RepositoryTagInfoArrayarray[object]
RepositoryIdstring
DefaultTagstring
Tagsarray[string]
404

Not Found

Response
Copy

resources

Auth
Path Params
serviceIdstring
GET /api/v1/services/{serviceId}/resources
Copy
Responses
200

Success

objectobject
Resourcesarray[string]
404

Not Found

Response
Copy

tags

Auth
Path Params
serviceIdstring
repositoryIdstring
Query String
Pageinteger
PageSizeinteger
FilterValuestring
Cursorinteger
GET /api/v1/services/{serviceId}/{repositoryId}/tags
Copy
Responses
200

Success

objectobject
Tagsarray[string]
TotalTagsint32
404

Not Found

Response
Copy

branches

Auth
Path Params
serviceIdstring
repositoryIdstring
Query String
Pageinteger
PageSizeinteger
FilterValuestring
Cursorinteger
GET /api/v1/services/{serviceId}/{repositoryId}/branches
Copy
Responses
200

Success

objectobject
ServiceIdstring

minLength: 1

RepositoryIdstring

minLength: 1

DefaultBranchstring
Branchesarray[string]
TotalBranchesint32
404

Not Found

Response
Copy

branches

Auth
Request Body
arrayarray[object]
ServiceIdstring
RepositoryIdsarray[string]
POST /api/v1/services/branches
Copy
Responses
200

Success

arrayarray[object]
ServiceIdstring
ServiceNamestring
RepositoryBranchInfoArrayarray[object]
RepositoryIdstring
DefaultBranchstring
Branchesarray[string]
404

Not Found

Response
Copy

tags

Auth
Request Body
arrayarray[object]
ServiceIdstring
RepositoryIdsarray[string]
POST /api/v1/services/tags
Copy
Responses
200

Success

arrayarray[object]
ServiceIdstring
RepositoryTagInfoArrayarray[object]
RepositoryIdstring
DefaultTagstring
Tagsarray[string]
404

Not Found

Response
Copy

Startup

startup

Auth
GET /api/v1/startup
Copy
Responses
200

Success

No response body
500

Server Error

Response
Copy