Mapping SOAP to REST

This section is designed to be used as a basic summary of SOAP to REST API mapping. SOAP APIs are grouped according to their product area and each API has a direct link to the relevant API documentation. Mapping for each SOAP API and it's related REST API is also indicated. Additional information is also provided. It is also highly important to see, New REST APIs and Authentication Methods – Upgrade Implications.

GroupSOAP APIREST APIAdditional Information
Login

Login

POST /auth/login

SOAP cookie-based login replaced with a REST Token:

Token-based Authentication / Login using OAuth 2.0.

Logout
LoginWithToken

SsoLogin
See aboveSee above
ProjectsIsValidProjectName
Replaced with GET /projects.

GetProjectConfiguration

GET /projects

Get details of all projects.


GET /projects/{id}

Get details of a specific project.

GetPresetList

GET /sast/presets

Get details of all presets.

UpdateProjectConfiguration

PUT /projects/{Id}


Update specific project’s details. Parameters include - name, owningTeam and customFields (Id and value).


GET /customFields

Get details of all custom fields.


POST /sast/scanSettings

Define specific project’s scan settings. Parameters include - presetId, engineConfigurationId, postScanActionId and emailNotifications (beforescan, failedScans, afterScans).


PUT /projects/{id}/sourceCode/excludeSettings

Set a specific project's exclude folders/files settings. Parameters include - excludeFoldersPattern and excludeFilesPattern.


PUT /sast/project/{projectId}/scheduling

Define specific project’s scan scheduling settings. Parameters include - scheduleType and scheduleDays.


POST /projects/{id}/issueTrackingSettings/jiraSet a specific project’s Jira issue tracking system settings. Parameters include - issueTrackingSystemId, jiraProjectId, issueType, field Ids and values.


POST /projects/{id}/dataRetentionSettingsSet a specific project’s data retention settings. Parameters include - scansToKeep.

GetConfigurationSetList

GET /sast/engineConfigurations

Get details of all engine configurations.

 DeleteProjectsDELETE /projects/project{Id}Delete a specific project. Parameters include - deleteRunningScans (true/false).

 BranchProjectByIdPOST /projects/{id}/branchCreate a specific project’s branch. Parameters include - name.

GetProjectScannedDisplayData

GET /sast/scansGet all scans for a specific project. 

GetProjectsDisplayData

GET /projects/{id}

Gets details of all projects. Returns wide-ranging project information - owning team, latest scan, all project scans, scan settings and custom fields.


GET /customFieldsGet details of all custom fields.


PUT /projects/{id}Update an existing project’s details. Parameters include – name, owningTeam and customFields (id and value).
 Scans Scan

POST /sast/scanSettings

Define a specific project’s scan settings. Parameters include - presetId, engineConfigurationId, postScanActionId and emailNotifications (beforescan, failedScans, afterScans).


POST /projects/{Id}/sourceCode/attachmentsUpload a specific project’s zip file (contains the source code for scanning). Parameters include - zippedSource.


POST /projects/{Id}/sourceCode/remoteSettings/git

Set a specific project’s remote source settings for GIT. Parameters include - url, branch and privateKey.


GET /projects/{Id}/sourceCode/remoteSettings/git

Get a specific project’s remote source settings for GIT.


POST /projects/{Id}/sourceCode/remoteSettings/git/ssh

Set a specific project’s remote source settings for GIT using SSH. Parameters include - url, branch and privateKey.


POST /projects/{Id}/sourceCode/remoteSettings/svn

Set a specific project’s remote source settings for SVN. Parameters include - url, absoluteUrl, port, paths and credentials (username, password and privateKey).


GET /projects/{Id}/sourceCode/remoteSettings/svn

Get a specific project’s remote source settings for SVN.


POST /projects/{Id}/sourceCode/remoteSettings/svn/ssh

Set a specific project’s remote source settings for SVN using SSH. Parameters include - absoluteUrl, port, paths and privateKey.


POST /projects/{Id}/sourceCode/remoteSettings/tfs

Set a specific project’s remote source settings for TFS. Parameters include - credentials (username and password), url, absoluteUrl, port and paths.


GET /projects/{Id}/sourceCode/remoteSettings/tfs

Get a specific project’s remote source settings for TFS.


POST /projects/{Id}/sourceCode/remoteSettings/perforce

Set a specific project’s remote source settings for Perforce. Parameters include - credentials (username and password), url, absoluteUrl, port, paths and browseMode.



GET /projects/{Id}/sourceCode/remoteSettings/perforce

Get a specific project’s remote source settings for Perforce.


POST /projects/{Id}/sourceCode/remoteSettings/shared

Set a specific project’s remote source settings for a shared repository. Parameters include – paths and credentials (username and password).


GET /projects/{Id}/sourceCode/remoteSettings/shared

Get a specific project’s remote source settings for a shared repository.


POST /projects/{Id}/sourceCode/remoteSettings/custom

Set a specific project’s remote source settings for a custom repository (e.g. source pulling). Parameters include – paths and credentials (username and password).


GET /projects/{Id}/sourceCode/remoteSettings/custom

Get a specific project’s remote source settings for a custom repository (e.g. source pulling). Parameters include – paths, preScanCommandId and credentials (username and password).


POST /sast/scans

Create a new scan and assign it to a specific project. Parameters include – isIncremental, isPublic, forceScan and comment.

DeleteScans

DELETE /sast/scans/{id}

Delete a specific scan.

CancelScan

PATCH /sast/scansQueue/{id}

Cancel a specific scan while still in the queue. Parameters include - status (cancelled).

UpdateProjectIncrementalConfiguration

POST /sast/scanSettings

Define a specific project’s scan settings. Parameters include - presetId, engineConfigurationId, postScanActionId and emailNotifications (beforescan, failedScans, afterScans).

UpdateScanComment

PATCH /sast/scans/{id}


Add a comment to a specific scan. Parameters include - comment.


ScanWithOriginName

POST /sast/scans

Custom name added to CxOrigin in the POST /sast/scans header.


ScanWithScheduling


Merged with ScanWithSchedulingWithCron.


ScanWithSchedulingWithCron

PUT /sast/project/{projectId}/scheduling

Define specific project’s scan scheduling settings. Parameters include - scheduleType and scheduleDays.



GET /sast/scans/{id}

Get details of a specific scan. Returns status and stage of the scan.



GET /sast/scanSettings/{projectId}

Get a specific project’s scan settings. Returns preset and engine configuration of the scan.



GET /sast/scansQueue

Get details of all scans in the scans queue. Returns wide-ranging scan information (e.g. stageDetails, engineId, languages, teamId, loc, origin, queuePosition, isIncremental, isPublic, origin, creation date, etc..).



GET sast/scans?scanStatus={status}

Get all scans with a specific scan status (Scanning, Finished, Canceled or Failed).



GET /sast/scans?last={numberOfLastScans}

Get all scans according to number of last scans.



GET /sast/scans

Get all scans.


GetStatusOfSingleScan

GET /sast/scansQueue/{Id}

Get details of a specific scan in the scans queue.


GetScanSummary

GET /sast/scans


Get all scans. Enhanced API with detailed scan information similar to SOAP.

GetScansDisplayDataForAllProjects

GET /sast/scans

Get all scans. Enhanced API with detailed scan information similar to SOAP. Get the last scan of a project.



Get sast/scans/{id}/resultsStatistics

Get statistic results for a specific scan. Returns summary of results (by severity). Result is also available as a link in the GET /sast/scans resource.



Get /sast/scans?projectId={projectId}&Last={number}

Get the last scan of a specific project.

 Scan Reports

CreateScanReport

POST /reports/sastScan

Generate a new scan report.


GetScanReportStatus

GET /reports/sastScan/{Id}/status

Get the status of a generated report.


GetScanReport

GET /reports/sastScan/{Id}

Get the specific report once generated.

Managing Users 

GetAllUsers

For future release



DeleteUser

For future release



GetAssociatedGroupsList

GET /auth/teams

Gets details of all teams.


GetTeamLdapGroupsMapping

For future release



SetTeamLdapGroupsMapping

For future release


 Data Retention

ExecuteDataRetention

POST /sast/dataRetention/byDateRange

Define data retention global settings by date range. Parameters include – startDate, endDate and durationLimitInHours.



POST /sast/dataRetention/byNumberOfScans

Define data retention global settings by number of scans. Parameters include – numOfSuccessfulScansToPreserve and durationLimitInHours.


StopDataRetention

POST /sast/dataRetention/stop

Stops global data retention.



POST /projects/{Id}/dataRetentionSettings

Set specific project’s data retention settings. Parameters include – scansToKeep.