Mend API (2.0)

Mend's enhanced SCA API enables automation of workflows in a REST compliant format. The API features:

  • Access for any user with Mend credentials, via a user key available in the user's profile page in the Mend App.
  • Improved security with a JWT token per organization, which expires every 30 minutes.
  • Added scalability with support for pagination, filtering and sorting search results.
  • Broader functionality available programmatically.
  • New standard API documentation for easy navigation and search.

If you have a dedicated instance of Mend, contact your Mend representative to access this API on your instance.

Download OpenAPI description
Languages
Servers
Generated server url
https://baseUrl/

Entities - Project

Operations

Policies - Project

Operations

Alerts - Project

Operations

project-attribution-report-controller

Operations

Policies - Product

Operations

Entities - Product

Operations

Settings - Whitelist

Operations

Settings - In-House

Operations

Policies - Organization

Operations

User Management - Groups

Operations

Entities - Organization

Operations

User Profile

Operations

Library - Product

Operations

User Management - Users

Operations

Update Request

Operations

Library - Organization

Operations

Access Management - Organizations

Operations

Access Management

Operations

General Info - Vulnerabilities

Operations

Library - Source Files

Operations

User Management - Roles And Permissions

Operations

Library - Project

Operations

application-violations-controller

Operations

Alerts - Product

Operations

Get Security Alerts By Library

Request

Returns security alerts for a given product grouped by library

Path
productTokenstringrequired

product UUID (by running Entities - Organization > Get Organization Products) or Product Token (from the Mend SCA App: Integrate tab > Product Token).

Query
pageSizestring<= 10000

Enter the number of items to return in each page of the result.

Default "50"
pagestring

Enter the page number to display in the result. Page numbers start at 0

Default "0"
searchany

Filter your search to return items whose property has a specific value. Use the syntax: property:operation:value where a colon (:) separates between property, operation and value.

  • Property: the name of the property of the item
  • Operation:
    • between - true if the value is inside a range. Syntax: lowest value comma (,) highest value. E.g. between:2019-05-01,2019-06-01
    • equals - true if the value is identical to this value.
    • gt - true if the value is greater than this value.
    • in - true if the value is identical to one of the items in this comma-separated list. E.g. in:value1,value2,value3
    • like - true if the property's value is contained within this value
    • regex - true if this regular expression resolves as true. The regex is not case sensitive, and special characters must be escaped with a backslash. Special characters can be space, double quote ("), '<', '>', '#', '%', '{', '}', vertical bar ('|'), backslash, '^'. To pass an escaped character in a URL in Postman, encode it first. E.g. to return all items whose value begins with a or A, use regex:^a
  • Value: the value of the property.

To combine multiple filters, separate each filter with a semicolon with no space. E.g. property1:operation1:value1;property2:operation2:value2

This endpoint supports filtering on the following properties and its supported operators:

  • comment:[like | equals | regex]:value
  • commentBy:[like | equals | regex]:value
  • componentName:[like | equals | regex]:value
  • criticalNum:gt:value
  • detectedAt:between:date1,date2. E.g. between:2019-05-01,2019-06-01
  • directDependency:equals:value
  • effective:[like | in | equals | regex]:value
  • hasFix:equals:value
  • highNum:gt:value
  • lastCveUpdatedAt:between:date1,date2. E.g. between:2019-05-01,2019-06-01
  • lowNum:gt:value
  • mediumNum:gt:value
  • modifiedAt:between:date1,date2. E.g. between:2019-05-01,2019-06-01
  • projectName:[like | equals | regex]:value
  • publishedAt:between:date1,date2. E.g. between:2019-05-01,2019-06-01
  • score:between:lowvalue,highvalue
  • scoreType:[like | equals | regex]:value
  • severity:[like | equals | regex]:value
  • sourceFileName:[like | equals | regex]:value
  • status:[in | equals]:value
  • vulnerabilityName:[like | equals | regex]:value
  • vulnerabilityType:[equals | in]:value
sortany

Sort search results alphabetically on an item's property by entering sort= followed by the property name. E.g. enter sort=email to sort alphabetically by their email addresses from a-z ascending.To sort in descending order (z-a), add a minus sign ('-'). E.g. sort=-email.

You can sort by the following properties:

  • comment
  • commentUserName
  • componentName
  • detectedAt
  • directDependency
  • effective
  • highNum
  • lastCveUpdatedAt
  • lowNum
  • mediumNum
  • modifiedAt
  • projectName
  • publishedAt
  • score
  • scoreType
  • severity
  • status
  • vulnerabilityName
  • vulnerabilityType
  • weight
No request payload

Responses

OK

Bodyapplication/json
additionalDataobject(Provides insights into endpoint-supported pagination information.)
  • totalItems: The total count of data points returned in an API response.
  • isLastPage: Defines whether the current page represents the conclusion of the API response. When “true”, this signifies you are viewing the last page of the API response. When “false”, this indicates there are further pages remaining.
Example: {"totalItems":"422","isLastPage":"true"}
supportTokenstring(Support Token)
Example: "1171c60d"
retValArray of objects(SecurityAlertLibraryDTO)
Response
application/json
{ "additionalData": { "totalItems": "422", "isLastPage": "true" }, "supportToken": "1171c60d", "retVal": [ {} ] }

Get Product Security Alerts

Request

Returns all security alerts for a given product

Path
productTokenstringrequired

product UUID (by running Entities - Organization > Get Organization Products) or Product Token (from the Mend SCA App: Integrate tab > Product Token).

Query
pageSizestring<= 10000

Enter the number of items to return in each page of the result.

Default "50"
pagestring

Enter the page number to display in the result. Page numbers start at 0

Default "0"
searchany

Filter your search to return items whose property has a specific value. Use the syntax: property:operation:value where a colon (:) separates between property, operation and value.

  • Property: the name of the property of the item
  • Operation:
    • between - true if the value is inside a range. Syntax: lowest value comma (,) highest value. E.g. between:2019-05-01,2019-06-01
    • equals - true if the value is identical to this value.
    • gt - true if the value is greater than this value.
    • in - true if the value is identical to one of the items in this comma-separated list. E.g. in:value1,value2,value3
    • like - true if the property's value is contained within this value
    • regex - true if this regular expression resolves as true. The regex is not case sensitive, and special characters must be escaped with a backslash. Special characters include space, double quote ("), '<', '>', '#', '%', '{', '}', vertical bar ('|'), backslash, '^'. To pass an escaped character in a URL in Postman, encode it first. E.g. to return all items whose value begins with a or A, use regex:^a
  • Value: the value of the property.

To combine multiple filters, separate each filter with a semicolon with no space. E.g. property1:operation1:value1;property2:operation2:value2

This endpoint supports filtering on the following properties and its supported operators:

  • comment:[like | equals | regex]:value
  • commentUserEmail:[like | equals | regex]:value
  • componentName:[like | equals | regex]:value
  • detectedAt:between:date1,date2. E.g. between:2019-05-01,2019-06-01
  • directDependency:equals:value
  • effective:[like | equals | regex | in]:value
  • hasFix:equals:value
  • lastCveUpdatedAt:between:date1,date2. E.g. between:2019-05-01,2019-06-01
  • modifiedAt:between:date1,date2. E.g. between:2019-05-01,2019-06-01
  • projectName:[like | equals | regex]:value
  • score:between:lowvalue,highvalue
  • scoreType:[like | equals | regex]:value
  • severity:[like | equals | regex]:value
  • sourceFileName:[like | equals | regex]:value
  • status:[in | equals]:value
  • vulnerabilityName:[like | equals | regex]:value
  • vulnerabilityType:[equals | in]:value
  • libraryType:[equals | in | like | regex]:value
sortany

Sort search results alphabetically on an item's property by entering sort= followed by the property name. E.g. enter sort=email to sort alphabetically by their email addresses from a-z ascending.To sort in descending order (z-a), add a minus sign ('-'). E.g. sort=-email.

You can sort by the following properties:

  • comment
  • commentUserEmail
  • componentName
  • detectedAt
  • directDependency
  • effective
  • hasFix
  • lastCveUpdatedAt
  • modifiedAt
  • projectName
  • score
  • scoreType
  • severity
  • sourceFileName
  • status
  • vulnerabilityName
  • vulnerabilityType
  • libraryType
optionalColumnsstring

Used to add alert integration and library location information

Enum"integration""locations"
No request payload

Responses

OK

Bodyapplication/json
additionalDataobject(Provides insights into endpoint-supported pagination information.)
  • totalItems: The total count of data points returned in an API response.
  • isLastPage: Defines whether the current page represents the conclusion of the API response. When “true”, this signifies you are viewing the last page of the API response. When “false”, this indicates there are further pages remaining.
Example: {"totalItems":"422","isLastPage":"true"}
supportTokenstring(Support Token)
Example: "1171c60d"
retValArray of objects(SecurityAlertDTO)
Response
application/json
{ "additionalData": { "totalItems": "422", "isLastPage": "true" }, "supportToken": "1171c60d", "retVal": [ {} ] }

Get Product Legal And Compliance Alerts

Request

Returns all legal and compliance alerts for a given product

Path
productTokenstringrequired

product UUID (by running Entities - Organization > Get Organization Products) or Product Token (from the Mend SCA App: Integrate tab > Product Token).

Query
pageSizestring<= 10000

Enter the number of items to return in each page of the result.

Default "50"
pagestring

Enter the page number to display in the result. Page numbers start at 0

Default "0"
searchany

Filter your search to return items whose property has a specific value. Use the syntax: property:operation:value where a colon (:) separates between property, operation and value.

  • Property: the name of the property of the item
  • Operation:
    • between - true if the value is inside a range. Syntax: lowest value comma (,) highest value. E.g. between:2019-05-01,2019-06-01
    • equals - true if the value is identical to this value.
    • gt - true if the value is greater than this value.
    • in - true if the value is identical to one of the items in this comma-separated list. E.g. in:value1,value2,value3
    • like - true if the property's value is contained within this value
    • regex - true if this regular expression resolves as true. The regex is not case sensitive, and special characters must be escaped with a backslash. Special characters include space, double quote ("), '<', '>', '#', '%', '{', '}', vertical bar ('|'), backslash, '^'. To pass an escaped character in a URL in Postman, encode it first. E.g. to return all items whose value begins with a or A, use regex:^a
  • Value: the value of the property.

To combine multiple filters, separate each filter with a semicolon with no space. E.g. property1:operation1:value1;property2:operation2:value2

This endpoint supports filtering on the following properties and its supported operators:

  • availableVersion:equals:value
  • availableVersionType:[equals | in]:value
  • comment:[like | equals | regex]:value
  • commentUserEmail:[like | equals | regex]:value
  • componentName:[like | equals | regex]:value
  • componentType:[equals | in]:value
  • detectedAt:between:date1,date2. E.g. between:2019-05-01,2019-06-01
  • license:[like | regex ]:value
  • modifiedAt:between:date1,date2. E.g. between:2019-05-01,2019-06-01
  • numberOfLicenses:[gt | equals]:value
  • policyName:[like | equals | regex]:value
  • projectName:[like | equals | regex]:value
  • status:[in | equals]:value
  • type:[equals | in]:value
sortany

Sort search results alphabetically on an item's property by entering sort= followed by the property name. E.g. enter sort=email to sort alphabetically by their email addresses from a-z ascending.To sort in descending order (z-a), add a minus sign ('-'). E.g. sort=-email.

You can sort by the following properties:

  • availableVersionType
  • comment
  • componentName
  • componentType
  • detectedAt
  • modifiedAt
  • numberOfLicenses
  • policyName
  • status
  • type
  • versionType
No request payload

Responses

OK

Bodyapplication/json
additionalDataobject(Provides insights into endpoint-supported pagination information.)
  • totalItems: The total count of data points returned in an API response.
  • isLastPage: Defines whether the current page represents the conclusion of the API response. When “true”, this signifies you are viewing the last page of the API response. When “false”, this indicates there are further pages remaining.
Example: {"totalItems":"422","isLastPage":"true"}
supportTokenstring(Support Token)
Example: "1171c60d"
retValArray of PolicyViolationAlertDTO (object) or NewVersionAlertDTO (object) or RejectedLibraryInUseAlertDTO (object) or MultipleLicensesAlertDTO (object)(LegalAndComplianceAlertBaseDTO)
Response
application/json
{ "additionalData": { "totalItems": "422", "isLastPage": "true" }, "supportToken": "1171c60d", "retVal": [ {} ] }

General Info - Permissions

Operations

Vulnerable Libraries

Operations

Summary - Organization

Operations

Asynchronous Process Control

Operations

General Info - Licenses

Operations

product-attribution-report-controller

Operations