Mend Organizations API
The Organizations API from Mend — 7 operation(s) for organizations.
The Organizations API from Mend — 7 operation(s) for organizations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/mend:mend-organizations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Mend Organizations API
description: '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 10 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.
**Note:** To help you get started with the Mend SCA API 2.0, we recommend reviewing our onboarding guide -> Getting Started with Mend SCA API 2.0.
This resource covers initial setup, authentication instructions, and helpful tips to help you successfully begin working with the Mend SCA API 2.0. If you have a dedicated instance of Mend, contact your Mend representative to access this API on your instance.'
version: 3.0.1
servers:
- url: https://api-saas.mend.io
description: Generated server url
security:
- bearer-key: []
tags:
- name: Organizations
paths:
/api/v3.0/orgs/{orgUuid}/violations/sla:
put:
tags:
- Organizations
summary: Update Multiple Violation SLA
description: Updates the SLA of Multiple Organization Violating Findings
operationId: updateMultipleProjectViolationSla
parameters:
- name: orgUuid
in: path
description: Org UUID (Administration > General)
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMultipleProjectViolationSlaRequestDTOV3'
required: true
responses:
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DWRResponseV3Boolean'
/api/v3.0/orgs/{orgUuid}/findings/scan-diff:
post:
tags:
- Organizations
summary: Scan Diff (Deprecated)
description: Deprecated. Use GET /orgs/{orgUuid}/scans/compare instead.
operationId: scanDiff
parameters:
- name: orgUuid
in: path
description: Org UUID (Administration > General)
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScanDiffRequestDTOV3'
required: true
responses:
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DWRResponseV3ScanDiffResponseDTOV3'
deprecated: true
/api/v3.0/orgs/{orgUuid}/violations:
get:
tags:
- Organizations
summary: Get Organization Violating Findings
description: Returns the violations related to the organization
operationId: getOrganizationViolations
parameters:
- name: cursor
in: query
description: Parameter indicates the starting point for retrieving results, the first call doesn't include a cursor parameter in the request, the API response includes the first set of results along with a cursor pointing to the last item retrieved
allowEmptyValue: true
schema:
type: string
default: '0'
- name: limit
in: query
description: Specifies the maximum number of items to be return in the response.
allowEmptyValue: true
schema:
maximum: 10000
type: string
default: '50'
- name: search
in: query
description: "Filter your search to return items whose property has a specific value.\nUse the syntax: **[property][operator][value]**\n+ **Property**: the name of the property of the item\n+ **Operator**:\n + **equals (==)** - Returns true if the value exactly matches this one. If the value contains a * character, it behaves like a wildcard (similar to the LIKE operator).\nExample: entity==abc* — will return true for entities like \"abcd\" and \"abc_123\".\n + **in (=in=)** - Returns true if the value matches any item in the comma-separated list.\nExample: entity=in=value1,value2 — will return true for entities which are either value1, or value2.\n + **between (=btw=)** - Returns true if the value falls within the specified range.\nExample: entity=btw=10,20 — will return true for values between 10 and 20.\n\n+ **Value**: the value of the property.\nLogical operators AND (;) and OR (,) are supported in filters — param1=in=(val1,val2) and (param2==val3 or param3==val4), can also be written as — param1=in=(val1,val2);(param2==val3,param3==val4)\n\nThis endpoint supports filtering on the following properties and its supported operators:\n+ uuid: equals\n+ name: equals (finding name)\n+ projectUuid: equals, in\n+ projectName: equals\n+ engine: in (values: SCA, SAST, IMG)\n+ findingType: in (values: SECURITY, LEGAL, LIBRARY)\n+ originUuid: equals, in\n+ originName: equals\n+ risk: in (values: LOW, MEDIUM, HIGH, CRITICAL)\n+ sla: between\n+ createdAt: between\n+ updatedAt: between\n+ refId: equals\n+ violationType: equals, in\n+ workflowName: equals\n"
allowEmptyValue: true
schema:
type: string
- name: orgUuid
in: path
description: Org UUID (Administration > General)
required: true
schema:
type: string
responses:
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DWRResponsePageableV3ListProjectViolationDTOV3'
/api/v3.0/orgs/{orgUuid}/findings/security/summary:
get:
tags:
- Organizations
summary: Get Organization Findings Summary
operationId: getOrganizationFindingsSummary
parameters:
- name: orgUuid
in: path
description: Org UUID (Administration > General)
required: true
schema:
type: string
responses:
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DWRResponseV3SecurityFindingsSummaryResponseDTO'
/api/v3.0/orgs/{orgUuid}/findings/projects/stats:
get:
tags:
- Organizations
summary: Get organization top projects stats
operationId: getOrganizationTopProjectsStats
parameters:
- name: orgUuid
in: path
description: Org UUID (Administration > General)
required: true
schema:
type: string
responses:
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DWRResponseV3ListTopStatsDTO'
/api/v3.0/orgs/{orgUuid}/findings/applications/stats:
get:
tags:
- Organizations
summary: Get organization top applications by risk reduction
operationId: getOrganizationTopApplicationsStats
parameters:
- name: orgUuid
in: path
description: Org UUID (Administration > General)
required: true
schema:
type: string
responses:
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DWRResponseV3ListTopStatsDTO'
/api/v3.0/orgs/{orgUuid}/findings:
get:
tags:
- Organizations
summary: Get All Organization Findings
operationId: getOrganizationFindings
parameters:
- name: orgUuid
in: path
description: Org UUID (Administration > General)
required: true
schema:
type: string
responses:
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/DWRResponseBase'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DWRResponseV3ListUnifiedFindingDTOV3'
components:
schemas:
WorkflowData:
type: object
properties:
workflowUuid:
type: string
workflowName:
type: string
entityUuid:
type: string
ProjectViolationDTOV3:
required:
- engine
- findingType
type: object
properties:
uuid:
type: string
name:
type: string
projectUuid:
type: string
projectName:
type: string
engine:
type: string
description: Type of engine the violation relates to
example: SCA
enum:
- UNIFIED
- SCA
- SAST
- IAC
- IMG
- AI
- DAST
findingType:
type: string
description: Type of finding
example: SECURITY
enum:
- SECURITY
- LEGAL
- LIBRARY
originUuid:
type: string
originName:
type: string
risk:
type: string
description: 'Risk of the violation. Can be one of: LOW, MEDIUM, HIGH, CRITICAL'
example: HIGH
enum:
- LOW
- MEDIUM
- HIGH
- CRITICAL
sla:
type: string
workflowData:
type: array
items:
$ref: '#/components/schemas/WorkflowData'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
refId:
type: string
violationType:
type: string
isProjectActive:
type: boolean
DWRResponseV3SecurityFindingsSummaryResponseDTO:
type: object
properties:
supportToken:
title: Support Token
type: string
example: 1171c60d
response:
$ref: '#/components/schemas/SecurityFindingsSummaryResponseDTO'
DWRResponseBase:
type: object
properties:
supportToken:
title: Support Token
type: string
example: 1171c60d
SuppressMetadataDTO:
type: object
properties:
reason:
type: string
comment:
type: string
userEmail:
type: string
userUuid:
type: string
updatedAt:
type: string
DWRResponseV3ScanDiffResponseDTOV3:
type: object
properties:
supportToken:
title: Support Token
type: string
example: 1171c60d
response:
$ref: '#/components/schemas/ScanDiffResponseDTOV3'
ProjectViolationIdentifierDTOV3:
type: object
properties:
findingUuid:
type: string
originUuid:
type: string
projectUuid:
type: string
LowProbabilitySummaryDTO:
type: object
properties:
total:
type: integer
format: int32
critical:
type: integer
format: int32
high:
type: integer
format: int32
medium:
type: integer
format: int32
low:
type: integer
format: int32
ScanAgentInfo:
type: object
properties:
agentName:
type: string
agentVersion:
type: string
errorMessage:
type: string
DWRResponsePageableV3ListProjectViolationDTOV3:
type: object
properties:
additionalData:
title: Provides insights into endpoint-supported pagination information.
type: object
description: '+ **totalItems**: The total count of data points returned in an API response.
'
example:
totalItems: '422'
next: http://someUrl?cursor=3
cursor: 3
supportToken:
title: Support Token
type: string
example: 1171c60d
response:
type: array
items:
$ref: '#/components/schemas/ProjectViolationDTOV3'
DWRResponseV3ListUnifiedFindingDTOV3:
type: object
properties:
supportToken:
title: Support Token
type: string
example: 1171c60d
response:
type: array
items:
$ref: '#/components/schemas/UnifiedFindingDTOV3'
ScanDTOV3:
type: object
properties:
uuid:
type: string
name:
type: string
engine:
type: string
enum:
- UNIFIED
- SCA
- SAST
- IAC
- IMG
- AI
- DAST
status:
type: string
enum:
- RUNNING
- PARTIAL
- PROCESSING
- FINISHED
- FAILED
projectId:
type: integer
format: int32
productId:
type: integer
format: int32
domainId:
type: integer
format: int32
projectUuid:
type: string
processUuid:
type: string
hasViolations:
type: boolean
startTime:
type: string
format: date-time
endTime:
type: string
format: date-time
lastModified:
type: string
format: date-time
configurationName:
type: string
reference:
type: string
triggeredBy:
type: string
agentInfo:
$ref: '#/components/schemas/ScanAgentInfo'
progress:
$ref: '#/components/schemas/ProgressDTO'
RemediationSuggestionSummaryDTO:
type: object
properties:
total:
type: integer
format: int32
critical:
type: integer
format: int32
high:
type: integer
format: int32
medium:
type: integer
format: int32
low:
type: integer
format: int32
ScanDiffStatsDTOV3:
type: object
properties:
added:
type: integer
format: int32
removed:
type: integer
format: int32
modified:
type: integer
format: int32
unchanged:
type: integer
format: int32
ImgSummaryDTO:
type: object
properties:
total:
type: integer
format: int32
critical:
type: integer
format: int32
high:
type: integer
format: int32
medium:
type: integer
format: int32
low:
type: integer
format: int32
unreachable:
$ref: '#/components/schemas/UnreachableSummaryDTO'
ProgressDTO:
required:
- currentStage
- overallPercentage
type: object
properties:
overallPercentage:
maximum: 100
minimum: 0
type: integer
format: int32
currentStage:
maxLength: 255
minLength: 0
type: string
UnreachableSummaryDTO:
type: object
properties:
total:
type: integer
format: int32
critical:
type: integer
format: int32
high:
type: integer
format: int32
medium:
type: integer
format: int32
low:
type: integer
format: int32
DiffChangeDTOV3:
type: object
properties:
field:
type: string
before:
type: object
after:
type: object
ScanInputDTOV3:
type: object
properties:
scanUuid:
type: string
projectUuid:
type: string
SecurityFindingsSummaryResponseDTO:
type: object
properties:
total:
type: integer
format: int32
critical:
type: integer
format: int32
high:
type: integer
format: int32
medium:
type: integer
format: int32
low:
type: integer
format: int32
sca:
$ref: '#/components/schemas/ScaSummaryDTO'
sast:
$ref: '#/components/schemas/SastSummaryDTO'
img:
$ref: '#/components/schemas/ImgSummaryDTO'
TopStatsDTO:
type: object
properties:
applicationName:
type: string
applicationUuid:
type: string
totalFindings:
type: integer
format: int32
potentialReduction:
type: integer
format: int32
potentialReductionPercent:
type: number
format: float
ScanDiffResponseDTOV3:
type: object
properties:
source:
$ref: '#/components/schemas/ScanDTOV3'
target:
$ref: '#/components/schemas/ScanDTOV3'
stats:
$ref: '#/components/schemas/ScanDiffStatsDTOV3'
findings:
type: array
items:
$ref: '#/components/schemas/DiffUnifiedFindingDTOV3'
DWRResponseV3Boolean:
type: object
properties:
supportToken:
title: Support Token
type: string
example: 1171c60d
response:
type: boolean
SastSummaryDTO:
type: object
properties:
total:
type: integer
format: int32
critical:
type: integer
format: int32
high:
type: integer
format: int32
medium:
type: integer
format: int32
low:
type: integer
format: int32
lowProbability:
$ref: '#/components/schemas/LowProbabilitySummaryDTO'
withRemediationSuggestion:
$ref: '#/components/schemas/RemediationSuggestionSummaryDTO'
ScaSummaryDTO:
type: object
properties:
total:
type: integer
format: int32
critical:
type: integer
format: int32
high:
type: integer
format: int32
medium:
type: integer
format: int32
low:
type: integer
format: int32
unreachable:
$ref: '#/components/schemas/UnreachableSummaryDTO'
withRemediationSuggestion:
$ref: '#/components/schemas/RemediationSuggestionSummaryDTO'
UnifiedFindingDTOV3:
type: object
properties:
uuid:
type: string
findingId:
type: string
findingName:
type: string
type:
type: string
severity:
type: string
score:
type: number
format: float
element:
type: string
elementId:
type: string
refId:
type: string
grouping:
type: string
status:
type: string
state:
type: string
suppressMetadata:
$ref: '#/components/schemas/SuppressMetadataDTO'
paths:
type: array
items:
type: string
sources:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
dynamicFields:
type: object
additionalProperties:
type: object
riskFactors:
type: array
items:
type: string
riskFactorsJson:
type: object
additionalProperties:
type: object
engine:
type: string
enum:
- UNIFIED
- SCA
- SAST
- IAC
- IMG
- AI
- DAST
vendor:
type: string
orgUuid:
type: string
projectUuid:
type: string
projectName:
type: string
branch:
type: string
scanUuid:
type: string
firstScanUuid:
type: string
findingCategory:
type: string
hasViolation:
type: boolean
numberOfViolations:
type: integer
format: int32
violationWorkflowUuids:
type: array
items:
type: string
applicationUuid:
type: string
applicationName:
type: string
isNew:
type: boolean
isDetectedAtFirstScan:
type: boolean
isRemediationAvailable:
type: boolean
UpdateMultipleProjectViolationSlaRequestDTOV3:
type: object
properties:
date:
title: Date
pattern: yyyy-MM-dd
type: string
example: 2024/12/31
identifiers:
type: array
items:
$ref: '#/components/schemas/ProjectViolationIdentifierDTOV3'
DWRResponseV3ListTopStatsDTO:
type: object
properties:
supportToken:
title: Support Token
type: string
example: 1171c60d
response:
type: array
items:
$ref: '#/components/schemas/TopStatsDTO'
ScanDiffRequestDTOV3:
required:
- type
type: object
properties:
source:
$ref: '#/components/schemas/ScanInputDTOV3'
target:
$ref: '#/components/schemas/ScanInputDTOV3'
type:
title: type
type: string
description: One of { security, legal, library, ai_inventory }
DiffUnifiedFindingDTOV3:
type: object
properties:
diffType:
type: string
finding:
$ref: '#/components/schemas/UnifiedFindingDTOV3'
changes:
type: array
items:
$ref: '#/components/schemas/DiffChangeDTOV3'
securitySchemes:
bearer-key:
type: http
description: JWT token Bearer
scheme: bearer
bearerFormat: JWT