Highlight REST API

Security

For accessing the API, use a Basic access authentication (the security will be improved later). You need to send the login and password, separated by a single colon (":") character, within a base64 encoded string in the credentials.
The following syntax must be used in the 'Authorization' header :
Basic dXNlcm5hbWVAY29tcGFueS5jb206cGFzc3dvcmQ=

Alert

Get applications triggered an alert filtred by health factor, domains, technologies and campaigns

According to user's permission, returns top 20 alerts by domain filtred by domains, technologies and campaigns


/domains/{domainId}/alerts/applications

Usage Samples

curl -X post -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/alerts/applications"

Parameters

Header parameters
Name Description
Path parameters
Name Description
domainId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Get top 20 alerts by domain

According to user's permission, returns top 20 alerts by domain


/domains/{domainId}/alerts

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/alerts"

Parameters

Path parameters
Name Description
domainId*

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Get top 20 alerts by domain filtred

According to user's permission, returns top 20 alerts by domain filtred by domains, technologies and campaigns


/domains/{domainId}/alerts

Usage Samples

curl -X post -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/alerts"

Parameters

Header parameters
Name Description
Path parameters
Name Description
domainId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Applications

Create or update applications

According to user's permission, create or update applications. To identify a contributor or a domain, you can use either the id or the client reference


/domains/{domainId}/applications

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications"

Parameters

Header parameters
Name Description
Content-Type application/json
Path parameters
Name Description
domainId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 500 - Internal server error


Delete application

According to user's permission, delete an application.


/domains/{domainId}/applications/{applicationId}

Usage Samples

curl -X delete -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}"

Parameters

Path parameters
Name Description
domainId*
applicationId*

Responses

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 500 - Internal server error


Get application

According to user's permission, returns application details


/domains/{domainId}/applications/{applicationId}

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}"

Parameters

Path parameters
Name Description
domainId*
applicationId*

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Get all applications by domain

According to user's permission, returns all applications details for a domain


/domains/{domainId}/applications

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications"

Parameters

Path parameters
Name Description
domainId*

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Answer survey for application on result

According to user's permission, Set or update answers for a specific application & survey on existing result


/domains/{domainId}/applications/{applicationId}/results/{resultId}/surveys/{surveyId}

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}/results/{resultId}/surveys/{surveyId}"

Parameters

Header parameters
Name Description
Content-Type application/json
Path parameters
Name Description
domainId*
applicationId*
surveyId*
resultId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 404 - Results not found

Status: 500 - Internal server error


Answer survey for application on campaign

According to user's permission, Set or update answers for a specific application & survey on existing campaign result


/domains/{domainId}/applications/{applicationId}/campaigns/{campaignId}/surveys/{surveyId}

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}/campaigns/{campaignId}/surveys/{surveyId}"

Parameters

Header parameters
Name Description
Content-Type application/json
Path parameters
Name Description
domainId*
applicationId*
surveyId*
campaignId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 404 - Results not found

Status: 500 - Internal server error


Submit result for application

Result might contains survey and/or scans. Submit will launch compute process and will make the result visible on the portal


/domains/{domainId}/applications/{applicationId}/results/{resultId}/submit

Usage Samples

curl -X post -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}/results/{resultId}/submit"

Parameters

Path parameters
Name Description
domainId*
applicationId*
resultId*

Responses

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 404 - Results not found

Status: 500 - Internal server error


Submit result for application

Result might contains survey and/or scans. Submit will launch compute process and will make the result visible on the portal


/domains/{domainId}/applications/{applicationId}/campaigns/{campaignId}/submit

Usage Samples

curl -X post -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}/campaigns/{campaignId}/submit"

Parameters

Path parameters
Name Description
domainId*
applicationId*
campaignId*

Responses

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 404 - Results not found

Status: 500 - Internal server error


Update application

According to user's permission, update application. To identify a contributor or a domain, you can use either the id or the client reference


/domains/{domainId}/applications/{applicationId}

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}"

Parameters

Header parameters
Name Description
Content-Type application/json
Path parameters
Name Description
domainId*
applicationId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 500 - Internal server error


Benchmark

Get benchmark metrics

return benchmark metrics computed on all applications


/benchmark

Usage Samples

curl -X get -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/benchmark"

Parameters

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Get benchmark alerts

return benchmark alerts on all applications and technologies


/benchmark/alerts

Usage Samples

curl -X get -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/benchmark/alerts"

Parameters

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Get benchmark alerts

return benchmark alerts on all applications and technologies


/benchmark/alerts

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/benchmark/alerts"

Parameters

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Campaigns

Create or update campaigns

According to user's permission, create or update campaigns. To identify an application, you can use either the id or the client reference


/domains/{domainId}/campaigns

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/campaigns"

Parameters

Header parameters
Name Description
Content-Type application/json
Path parameters
Name Description
domainId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 500 - Internal server error


Domains

Create or update domains

According to user's permission, create or update domains. To identify a parent, you can use either the id or the client reference


/domains/{domainId}/domains

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/domains"

Parameters

Header parameters
Name Description
Content-Type application/json
Path parameters
Name Description
domainId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 500 - Internal server error


Get Domain

According to user's permission, return domain details


/domains/{domainId}

Usage Samples

curl -X get -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}"

Parameters

Path parameters
Name Description
domainId*

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Domain not found

Status: 500 - Internal server error


Get all domains by ancestor

According to user's permission, return all domains by ancestor


/domains/{domainId}/domains

Usage Samples

curl -X get -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/domains"

Parameters

Path parameters
Name Description
domainId*

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Update domain

According to user's permission, update domain. To identify a parent, you can use either the id or the client reference.


/domains/{domainId}

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}"

Parameters

Header parameters
Name Description
Content-Type application/json
Path parameters
Name Description
domainId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 500 - Internal server error


Metrics

Get aggregated custom metrics

According to user's permission, returns Get aggregated custom metrics


/domains/{domainId}/metrics/custom/aggregated

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/metrics/custom/aggregated?type="

Parameters

Path parameters
Name Description
domainId*
Query parameters
Name Description
type

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Get custom indicators definion

According to user's permission, returns custom indicators definion by domain


/domains/{domainId}/metrics/custom

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/metrics/custom?type="

Parameters

Path parameters
Name Description
domainId*
Query parameters
Name Description
type

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Get questions

According to user's permission, returns questions by domain


/domains/{domainId}/metrics/questions

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/metrics/questions"

Parameters

Path parameters
Name Description
domainId*

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Get aggregated custom metrics

According to user's permission, returns Get aggregated custom metrics


/domains/{domainId}/metrics/custom/aggregated

Usage Samples

curl -X post -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/metrics/custom/aggregated?type="

Parameters

Header parameters
Name Description
Path parameters
Name Description
domainId*
Body parameters
Name Description
body *
Query parameters
Name Description
type

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Recompute custom metrics

According to user's permission, recompute custom indicators


/domains/{domainId}/metrics/custom/{customIndicatorId}/recompute

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/metrics/custom/{customIndicatorId}/recompute"

Parameters

Path parameters
Name Description
domainId*
customIndicatorId*

Responses

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Get recompute custom metrics status

According to user's permission, get recompute custom indicators status


/domains/{domainId}/metrics/custom/{customIndicatorId}/recompute/status

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/metrics/custom/{customIndicatorId}/recompute/status"

Parameters

Path parameters
Name Description
domainId*
customIndicatorId*

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Surveys

Get all surveys

According to user's permission, returns surveys details. Custom surveys are not listed


/domains/{domainId}/surveys

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/surveys?expand="

Parameters

Path parameters
Name Description
domainId*
Query parameters
Name Description
expand

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Tags

Add a tag to an application

According to user's permission, Add a tag to an application


/domains/{domainId}/applications/{applicationId}/tags/{tagId}

Usage Samples

curl -X post -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}/tags/{tagId}"

Parameters

Path parameters
Name Description
domainId*
applicationId*
tagId*

Responses

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Add a tag to applications

According to user's permission, Add a tag to applications


/domains/{domainId}/tags/{tagId}/applications

Usage Samples

curl -X post -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/tags/{tagId}/applications"

Parameters

Header parameters
Name Description
Path parameters
Name Description
domainId*
tagId*
Body parameters
Name Description
body *

Responses

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Create or Update tag

According to user's permission, Create or Update tag


/domains/{domainId}/tags

Usage Samples

curl -X post -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/tags"

Parameters

Header parameters
Name Description
Path parameters
Name Description
domainId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Remove a tag from a domain

According to user's permission, Remove a tag from a domain


/domains/{domainId}/tags/{tagId}

Usage Samples

curl -X delete -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/tags/{tagId}"

Parameters

Path parameters
Name Description
domainId*
tagId*

Responses

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Remove a tag from an application

According to user's permission, Remove a tag from an application


/domains/{domainId}/applications/{applicationId}/tags/{tagId}

Usage Samples

curl -X delete -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}/tags/{tagId}"

Parameters

Path parameters
Name Description
domainId*
applicationId*
tagId*

Responses

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Remove a tag from applications

According to user's permission, Remove a tag from applications


/domains/{domainId}/tags/{tagId}/applications

Usage Samples

curl -X delete -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/tags/{tagId}/applications"

Parameters

Header parameters
Name Description
Path parameters
Name Description
domainId*
tagId*
Body parameters
Name Description
body *

Responses

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Get tags for an application

According to user's permission, Get tags for an application


/domains/{domainId}/applications/{applicationId}/tags

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/applications/{applicationId}/tags"

Parameters

Path parameters
Name Description
domainId*
applicationId*

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Get tags by application Ids

According to user's permission, returns tags by application Ids


/domains/{domainId}/tags/applications

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/tags/applications?appIds="

Parameters

Path parameters
Name Description
domainId*
Query parameters
Name Description
appIds

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Get tags by domain Id

According to user's permission, returns tags by domain Id


/domains/{domainId}/tags

Usage Samples

curl -X get -H "Accept: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/tags?expand="

Parameters

Path parameters
Name Description
domainId*
Query parameters
Name Description
expand

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - Application not found

Status: 500 - Internal server error


Users

Create or update users

According to user's permission, create or update users. The email is mandatory only for creation. The changes are taken into account if the user has a different status than "Invited".


/domains/{domainId}/users

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/users"

Parameters

Header parameters
Name Description
Content-Type application/json
Path parameters
Name Description
domainId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 500 - Internal server error


Get user

According to user's permission, returns user details


/domains/{domainId}/users/{userId}

Usage Samples

curl -X get -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/users/{userId}"

Parameters

Path parameters
Name Description
domainId*
userId*

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 404 - User not found

Status: 500 - Internal server error


Get all users by domain

According to user's permission, returns all users details for a domain


/domains/{domainId}/users

Usage Samples

curl -X get -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/users?branchDomain=&permission="

Parameters

Path parameters
Name Description
domainId*
Query parameters
Name Description
branch-domain
permission

Responses

Status: 200 - successful operation

Status: 403 - Access forbidden

Status: 500 - Internal server error


Update user

According to user's permission, update user. The changes are taken into account if the user has a different status than "Invited".


/domains/{domainId}/users/{userId}

Usage Samples

curl -X post -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic [[basicHash]]" "/domains/{domainId}/users/{userId}"

Parameters

Header parameters
Name Description
Content-Type application/json
Path parameters
Name Description
domainId*
userId*
Body parameters
Name Description
body *

Responses

Status: 200 - successful operation

Status: 400 - Bad request

Status: 403 - Access forbidden

Status: 500 - Internal server error