Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel2

Overview

Generally, each level of the administrator (Global Org, Organization, Product, Project) can get or set the API attributes in the API calls that refer to their scope or are under their scope. For example, Product administrators can execute API calls related to their Projects/Products that are defined in Mend, but they cannot execute Organization-related API calls which are outside their scope.

This document showcases the API requests and responses for:

  • creating global organizations, assigning them to organizations, or removing them from organizations

  • getting all organizations and their details

  • getting all products and their vitals at the organization-level

  • getting all projects and their vitals at the organization and product-level

  • changing the owner for all policies in an organization

  • getting In-House libraries at the organization, product and project-level

  • unmarking libraries that were manually assigned as In-House, at the organization level

Global Organization Level APIs

NOTE: Global Organization Level APIs can be accessed only by users with Site Admin privileges in On-Premise environments.

The following APIs describe how to create global organizations, assign them to organizations, or remove them from organizations. 

Create Global Organization

This API request creates a global organization with an API key token which is its unique identifier.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required i

...

requestType

...

API request type that creates a global organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

name

...

Name to be assigned to the global organization.

...

string

...

Yes

...

accountAdminEmail

...

Email account of the Administrator that is creating the global organization.

...

string

...

Yes

Request Example

Code Block
{
   "requestType": "createGlobalOrg",
   "userKey": "user_key",
   "name": "global_org_name",
   "accountAdminEmail": "enter_account_admin_email@here.com"
}

Response Example

The Response returns the token key that uniquely identifies the global organization.

Code Block
{
   "globalOrgToken": "global_org_token"
}

Back to top.

Assign Global Organization to an Organization

This API request assigns a global organization to an organization.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that assigns a global organization to an organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

orgToken

...

API key which is the unique identifier of the organization. Admins can find this token in the "Integrate" tab of the application, in the "API Key" field.

...

string

...

Yes

...

globalOrgToken

...

API token key which identifies the global organization to be assigned.

...

string

...

Yes

Request Example 

Code Block
{
   "requestType": "assignGlobalOrgToOrg",
   "userKey": "user_key",
   "orgToken": "org_token",
   "globalOrgToken": "global_org_token"
}

Response Example

Code Block
"message":"Successfully assigned global organization to given organization"

Back to top.

Remove Global Organization from an Organization

This API request removes a global organization from an organization.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that removes a global organization from an organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

orgToken

...

API key which is the unique identifier of the organization. Admins can find this token in the "Integrate" tab of the application, in the "API Key" field.

...

string

...

Yes

...

globalOrgToken

...

API token key which identifies the global organization to be removed.

...

string

...

Yes

Request Example

Code Block
{
   "requestType": "removeGlobalOrgFromOrg",
   "userKey": "user_key",
   "orgToken": "org_token",
   "globalOrgToken": "global_org_token"
}

Response Example

Code Block
"message":"Successfully removed global organization from given organization"

Back to top.

Organization Level APIs

Get Organizations

This API request returns data on all organizations within the Global Organization.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns the name and token ID of all the organizations in a global organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

globalOrgToken

...

API token key which uniquely identifies the global organization.

...

string

...

Yes

Request Example

Code Block
{
  "requestType":"getAllOrganizations",
  "userKey": "user_key", 
  "globalOrgToken":"global_organization_token"
}

Response Example

Code Block
{
    "organizations": [
        {
            "orgName": "Org A",
            "orgToken": "Org_a_token"
        },
        {
            "orgName": "Org B",
            "orgToken": "Org_b_token"
        }
    ],
    "message": "Success"
}

Back to top.

Get Organization Details

This API request returns details about an organization, such as, name, token key, creation date, number of products, projects, groups, and users in the organization.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns the details of an organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

orgToken

...

API token key which uniquely identifies the organization.

...

string

...

Yes

Request Example

Code Block
{
"requestType":"getOrganizationDetails",
"orgToken":"org_token",
“userKey”:”user_key”
}

Response Example

Code Block
{
"orgName": "Org A",
"orgToken": "Org_a_token"
"creationDate": "2016-01-01 12:00:00"
"numberOfProducts": "15"
"numberOfProjects": "105"
"numberOfGroups": "2"
"numberOfUsers": "3"
}

Back to top.

Product Level APIs

Get Products

This API request gets all products in the organization; name and token of each.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns all the products in an organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

orgToken

...

API token key which uniquely identifies the organization.

...

string

...

Yes

Request Example

Code Block
{
  "requestType":"getAllProducts",
  "userKey": "user_key", 
  "orgToken":"org_token"
}

Response Example

Code Block
{
    "products": [
        {
            "productName": "Product A",
            "productToken": "product_a_token"
        },
        {
            "productName": "Product B",
            "productToken": "product_b_token"
        }
    ],
    "message": "Success"
}

Back to top.

Get Organization Product Vitals

This API request gets basic information about each product in an organization: ID, name, token, creation date and last updated date.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns the vitals of all products in an organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

orgToken

...

API token key which uniquely identifies the organization.

...

string

...

Yes

Request Example

Code Block
{
	"requestType" : "getOrganizationProductVitals",
    "userKey": "user_key", 
	"orgToken" : "organization_api_key"
}

Response Example

Code Block
{
    "productVitals": [
        {
            "id": 626506,
            "name": "Demo Product",
            "token": "org_token",
            "creationDate": "2020-03-09 15:28:38 +0000",
            "lastUpdatedDate": "2020-03-10 08:46:29 +0000"
        },
        {
            "id": 626507,
            "name": "Cfy",
            "token": "org_token",
            "creationDate": "2020-03-09 15:29:11 +0000",
            "lastUpdatedDate": "2020-03-10 08:18:37 +0000"
        },
        {
            "id": 626930,
            "name": "Rx",
            "token": "org_token",
            "creationDate": "2020-03-10 07:29:45 +0000",
            "lastUpdatedDate": "2020-03-10 14:59:55 +0000"
        },

Back to top.

Project Level APIs

Get Projects

This API request receives a product token and returns all the projects in the specified product; name and token of each.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns data of all the projects in a product.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

productToken

...

API token key which uniquely identifies the product.

...

string

...

Yes

Request Example

Code Block
{
  "requestType":"getAllProjects",
  "userKey": "user_key", 
  "productToken":"product_token"
}

Response Example

Code Block
{
    "projects": [
        {
            "projectName": "project_a",
            "projectToken": "project_a_token"
        },
        {
            "projectName": "project_b",
            "projectToken": "project_b_token"
        }
    ],
    "message": "Success"
}

Back to top.

Get Organization Project Vitals

This API request gets basic information about each project in an organization: ID, name, token, creation date and last updated date.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns the vitals of all projects in an organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

orgToken

...

API token key which uniquely identifies the organization.

...

string

...

Yes

Request Example

Code Block
{
	"requestType" : "getOrganizationProjectVitals",
     "userKey": "user_key", 
	"orgToken" : "organization_api_key"
}

Response Example

Code Block
{
    "projectVitals": [
        {
            "id": 2036041,
            "name": "Demo Data",
            "token": "org_token",
            "creationDate": "2020-03-09 15:28:38 +0000",
            "lastUpdatedDate": "2020-03-09 15:28:38 +0000"
        },
       {
            "id": 2036049,
            "name": "cfy-1",
            "token": "org_token",
            "creationDate": "2020-03-09 15:29:49 +0000",
            "lastUpdatedDate": "2020-03-09 15:29:49 +0000"
        },
          ..........

Back to top.

Get Product Project Vitals

This API request gets basic information about each project in a product: ID, name, token, creation date and last updated date.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns the vitals of all projects in a product.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

productToken

...

API token key which uniquely identifies the product.

...

string

...

Yes

Request Example

Code Block
{
	"requestType" : "getProductProjectVitals",
    "userKey": "user_key", 
	"productToken" : "product_token"
}

Response Example

Code Block
{
    "projectVitals": [
        {
            "pluginName": "unified agent",
            "pluginVersion": "20.2.1",
            "id": 2038527,
            "name": "my-proj",
            "token": "product_token",
            "creationDate": "2020-03-10 08:33:25 +0000",
            "lastUpdatedDate": "2020-03-10 08:34:38 +0000"
        }
    ]
}

Back to top.

Get Project Vitals

This API request gets basic information about each project in an organization: ID, name, token, creation date and last updated date.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns the vitals of a project.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

projectToken

...

API token key which uniquely identifies the project.

...

string

...

Yes

Request Example

Code Block
{
	"requestType" : "getProjectVitals",
    "userKey": "user_key", 
	"projectToken" : "project_token"
}

Response Example

...

Code Block
{
    "projectVitals":[
        {
            "pluginName":"fs-agent",
            "pluginVersion": "18.2.2",
            "name": "My Project",
            "token": "project_token",
            "uploadedBy": "name_of_user_who_ran_scan",
            "creationDate": "2016-01-01 12:00:00",
            "lastUpdatedDate": "2016-02-02 16:50:59"
        }
    ]
}

Back to top.

Change Policy Owner

This API finds all the policies that were created by the user with the email specified in "currentPolicyOwnerEmail", and reassigns them to the user with the email specified in "newPolicyOwnerEmail".

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that changes the policy owner for all policies in an organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

orgToken

...

API token key which uniquely identifies the organization.

...

string

...

Yes

...

currentPolicyOwnerEmail

...

Email address of current policy owner.

...

string

...

Yes

...

newPolicyOwnerEmail

...

Email address of new policy owner for the organization.

...

string

...

Yes

Request Example

Code Block
{
  "requestType":"changeOrganizationPolicyOwner",
  "userKey": "user_key", 
  "orgToken":"org_token"
  "currentPolicyOwnerEmail":"Owner.email@whitesourcesoftware.com",
  "newPolicyOwnerEmail" : "newOwner.email@whitesourcesoftware.com"
}

Response

Code Block
{
    "message": "Successfully changed policy owners in the organization"
}

Back to top.

Get In-House Libraries

This API request gets information about In-House libraries for an organization, product, or project.

NOTES about the Response Parameters

  • matchType parameter value shows “manual” if it is manually marked by user, or “automatic” if it is automatically marked by an In-House rule.

  • pattern parameter is not returned for a library if the matchType value is “manual”.

  • comment parameter is not returned for a library if the matchType value is “automatic”.

Organization Level

Get all In-House libraries at the organization level.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns all In-House libraries for an organization.

...

string

...

Yes

...

orgToken

...

API key which is a unique identifier of the organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

Request Example

Code Block
{
    "requestType" : "getOrganizationInHouseLibraries",
    "orgToken" : "organization_api_key",
    "userKey": "user_key"
}

Response Example

Code Block
{
    "libraries": [
        {
            "matchType": "manual",
            "comment": "",
            "keyUuid": "library_unique_id",
            "filename": "neo4j-lucene-index-1.8.1.jar",
            "groupId": "org.neo4j",
            "artifactId": "neo4j-lucene-index",
            "sha1": "library_sha1",
            "type": "MAVEN_ARTIFACT",
            "description": "Integration layer between Neo4j and Lucene, providing one possible implementation of the Index API.",
            "productName": "Demo Product",
            "productToken": "product_token",
            "projectName": "Demo Data",
            "projectToken": "project_token"
        },
        {
            "matchType": "manual",
            "comment": "",
            "keyUuid": "library_unique_id",
            "filename": "nekohtml-1.9.6.2.jar",
            "groupId": "nekohtml",
            "artifactId": "nekohtml",
            "sha1": "library_sha1",
            "type": "MAVEN_ARTIFACT",
            "productName": "Demo Product",
            "productToken": "product_token",
            "projectName": "Demo Data",
            "projectToken": "project_token"
        }
    ]
}

Back to top.

Product Level

Get all In-House libraries at the product level.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns all In-House libraries for a product.

...

string

...

Yes

...

productToken

...

Unique identifier of the product.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

Request Example

Code Block
{
    "requestType" : "getProductInHouseLibraries",
    "productToken" : "product_token",
    "userKey": "user_key"
}

Response Example

Code Block
{
    "libraries": [
        {
            "matchType": "manual",
            "comment": "",
            "keyUuid": "library_unique_id",
            "filename": "neo4j-lucene-index-1.8.1.jar",
            "groupId": "org.neo4j",
            "artifactId": "neo4j-lucene-index",
            "sha1": "library_sha1",
            "type": "MAVEN_ARTIFACT",
            "description": "Integration layer between Neo4j and Lucene, providing one possible implementation of the Index API.",
            "productName": "Demo Product",
            "productToken": "product_token",
            "projectName": "Demo Data",
            "projectToken": "project_token"
        },
        .........
    ]
}

Back to top.

Project Level

Get all In-House libraries at the project level.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns all In-House libraries for a project.

...

string

...

Yes

...

projectToken

...

Unique identifier of the project.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

Request Example

Code Block
{
    "requestType" : "getProjectInHouseLibraries",
    "projectToken" : "project_token",
    "userKey": "user_key"
}

Response Example

Code Block
"libraries" : [
    {
        "matchType" : "manual",
        "comment": "manually set to In-House",
        "keyUuid": "library_unique_id",
        "filename": "library_file_name",
        "groupId": "library_group_id",
        "artifactId": "library_artifact_id",
        "version": "library_version",
        "sha1": "library_sha1",
        "type": "library_type",
        "description": "library_description",
        "productName" : "product_name",
        "productToken" : "product_token",
        "projectName" : "project_name",
        "projectToken" : "project_token" 
    },
    {
        "matchType" : "automatic",
        "pattern" : "common-*",
        "keyUuid": "library_unique_id",
        "filename": "library_file_name",
        "groupId": "library_group_id",
        "artifactId": "library_artifact_id",
        "version": "library_version",
        "sha1": "library_sha1",
        "type": "library_type",
        "description": "library_description",
        "productName" : "product_name",
        "productToken" : "product_token",
        "projectName" : "project_name",
        "projectToken" : "project_token  
    }
]

 Back to top.

Unmark In-House Libraries

This API request enables you to unmark libraries that were manually assigned as In-House. This request is only at the organization level.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that unmarks a library that was manually assigned as In-House, at the organization level.

...

string

...

Yes

...

orgToken

...

API key which is a unique identifier of the organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

keyUuid

...

The ID of the library which uniquely identifies it.

...

string

...

Yes

Request Example

Code Block
{
    "requestType": "unmarkManualInHouseLibrary",
    "userKey": "user_key",
    "orgToken": "organization_api_key",
    "keyUuid" : "library_UUID"
}

Response Example

Code Block
{
    "message": "Successfully unmarked in-house library"
}

Back to top.

Manage Pending Tasks

Theses APIs retrieve a list of all Pending Tasks in a domain and allow them to be deleted one by one.

Get Pending Tasks in a Domain

This API requests a list of all Pending Tasks in a domain.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type that returns all Pending Tasks in the domain.

...

string

...

Yes

...

orgToken

...

API key which is a unique identifier of the organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

Request Example

Code Block
{
    "requestType":"getDomainPendingTasks",
	"orgToken": "****",
	"userKey": "****"
}

Response Example

Code Block
{
    "pendingTaskInfos": [
        {
            "uuid": "dd63bdb4-2a46-40db-a4a8-c894988a99fc",
            "productName": "red",
            "projectName": "redeb - 13",
            "artifact": "libudev1_245.4-4ubuntu3.13_amd64.deb",
            "sha1": "83dc945b8b471c42ee9037cace6801dbb904f0fe",
            "creationTime": "2022-04-18 10:28:18",
            "approverEmail": "hasan.mosa@whitesourcesoftware.com"
        },
        {
            "uuid": "e5ee86b7-5c5a-4aa1-a90d-ed59746a719e",
            "productName": "Test_Product",
            "projectName": "G_Project",
            "artifact": "ecrcustomerisv2-cloud-config-03.00.00.71-SNAPSHOT.jar",
            "sha1": "f82138e1d2823fd0be5cbfafcceefaae70eaf4fe",
            "creationTime": "2022-04-06 10:59:06",
            "approverEmail": "hasan.mosa@whitesourcesoftware.com"
        }
    ]
}

Back to top.

Delete Pending Tasks in a Domain

This API request deletes a single Pending Task in a domain with a given uuid.

QUERY PARAMETERS

...

Parameter

...

Description

...

Type

...

Required

...

requestType

...

API request type for deleting a Pending Task.

...

string

...

Yes

...

orgToken

...

API key which is a unique identifier of the organization.

...

string

...

Yes

...

userKey

...

The ID of the user’s profile, which uniquely identifies the user in Mend.

...

string

...

Yes

...

taskUUID

...

A uuid for one of the Pending Tasks that was returned by the getDomainPendingTasks API.

...

string

...

Yes

Request Example

Code Block
{
    "requestType":"closePendingTask",
	"orgToken": "110bf60ad4af47cbac8cb50ff9c0a96b232c09ca4b904df0be5f74014c32c3f6",
	"userKey": "45e0511bfcd44afea6230c0e7711cacf5cb107e9a53e4bca99241d8466afa27b",
	"taskUUID": "e5ee86b7-5c5a-4aa1-a90d-ed59746a719e"
}

Response Example

Code Block
{
    "message": "Pending task closed successfully" / "Pending task not closed"
}

Back to top.This page is available at: https://docs.mend.io/bundle/api/page/global_organization_product_project_api.html