Product and Project API

Overview

This document showcases the API requests and responses for:

  • Creating and deleting products

  • Getting a product’s tags, saving and removing them

  • Creating and deleting projects

  • Getting project tags at the organization, product or project-level

  • Saving a project tag

  • Getting a project’s hierarchy

  • Getting a project’s inventory

  • Getting a project’s state

  • Getting a project’s library source files

  • Getting a project’s library dependencies

  • Defining a project’s setup notification configuration

  • Getting a project’s last modification dates

  • Getting a plugin request state

Product-Level APIs

Create Product

This API request creates a product in an organization with a product token which is its unique identifier.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that creates a product.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
productNameName to be assigned to the product.stringYes
orgTokenAPI key which is the unique identifier of the organization.stringYes

Request Example

{
  "requestType" : "createProduct",
  "userKey": "user_key", 
  "productName" : "new product name",
  "orgToken" : "organization token"
}

Response Format

{
  "productToken": "new product token",
  "message": "Successfully created product <new product name>"
}

Delete Product

This API request deletes a product in an organization.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that deletes a product.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
productTokenProduct token which uniquely identifies the product.stringYes
orgTokenAPI key which is the unique identifier of the organization.stringYes

Request Example

{
  "requestType" : "deleteProduct",
  "userKey": "user_key", 
  "orgToken" : "organization token",
  "productToken" :"product token"
}

Response Format

{
  "message": "Successfully deleted product <product name>"
}

Product Tags

Product tags are key value pairs that provide additional metadata that enables users to label and search for products according to predefined categories.

Get Product Tags

This API request enables you to get the tags (keys & values) in a product.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that returns all the keys and values of a product’s tags.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
productTokenUnique identifier of the product.stringYes

Request Example

{
  "requestType": "getProductTags",
  "userKey": "user_key", 
  "productToken": productToken
}

Response Example

{
  "productTags":[
    {
	  "name": "My Product A",
	  "token": "product_token",
	  "tags": {
        "newKey": [
          "newValue",
          "newValue2"
        ],
      "tagKeyA": [
          "tagValueA"
        ]
      }
    }
  ]
}

Get Organization Product Tags

This API request enables you to get the product tags (keys & values) of all products in an organization.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that returns all the product tags in an organization.
Note: Products without tags are also returned.
stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
orgTokenAPI key which is a unique identifier of the organization.stringYes

Request Example

{
  "requestType": "getOrganizationProductTags",
  "userKey": "user_key", 
  "orgToken": "orgToken"
}

Response Example

{
  "productTags": [
    {
      "name": "productA",
      "token": " productAToken",
      "tags": {
        "newKey": [
          "newValue",
          "newValue2"
        ],
        "tagKeyA": [
          "tagValueA"
        ]
      }
    },
    {
      "name": " productB",
      "token": " productBToken",
      "tags": {}
    }
  ]
}

Save a Product Tag

This API request enables you to save a product’s tag: key, value.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that saves a product’s tag.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
productTokenUnique identifier of the product.stringYes
tagKeyLabel that describes the tag.stringYes
tagValueValue assigned to the tag.stringYes

Request Example

{
  "requestType": "saveProductTag",
  "userKey": "user_key", 
  "productToken": "productToken",
  "tagKey": "newKey",
  "tagValue": "newValue"
}

Response Example

{
  "productTagsInfo": {
    "name": "productA",
    "token": {productToken},  
    "tags": {
      "newKey": "newValue"
    }
  }
}

Remove a Product Tag

This API request enables you to remove a product’s tag: key, value.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that removes a product’s tag.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
productTokenUnique identifier of the product.stringYes
tagKeyLabel that describes the tag.stringYes
tagValueValue assigned to the tag.stringYes

Request Example

{
  "requestType" : "removeProductTag",
  "userKey": "user_key", 
  "productToken" : "product_token",
  "tagKey": "newKey",
  "tagValue": "newValue"
}

Response Format

{
  "message": "Successfully removed product tag"
}

Project-Level APIs

Create Project

This API request creates a new project within an existing product. A project token is generated which unique identifies the project.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that creates a project.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
productTokenName of the product within which to create the project.stringYes
projectNameName to be assigned to the project.stringYes
projectDescriptionA description of the new project (optional field).stringNo

Request Example

{
  "requestType" : "createProject",
  "userKey": "user_key", 
  "productToken": "product_token",
  "projectName": "my new project",
  "projectDescription" : "optional field. Not mandatory"
}

Response Format

{
  "projectToken": "new project token here",
  "message": "Successfully created project my new project"
}

Delete Project

This API request deletes a project in an product.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that deletes a project.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
productTokenProduct token which identifies the product in which the project resides.stringYes
projectTokenProject token of the project to be deleted.stringYes

Request Example

{
  "requestType" : "deleteProject",
  "userKey": "user_key", 
  "productToken" : "parent product token",
  "projectToken": "token of the project to be deleted"
}

Response Format

{
  "message": "Successfully deleted project <project name>"
}

Project Tags

Project tags are key value pairs that provide additional metadata that enables users to label and search for projects according to predefined categories.

Get Organization Project Tags

This API request enables you to get the project tags (keys & values) of all projects in an organization.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that returns all the project tags in an organization.
Note: Products without tags are also returned.
stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
orgTokenAPI key which is a unique identifier of the organization.stringYes

Request Example

{
  "requestType" : "getOrganizationProjectTags",
  "userKey": "user_key", 
  "orgToken" : "organization_api_key"
}

Response Example

{
  "projectTags": [
    {
      "name": "Edge Services - 1.29.0",
      "token": "project_token",
      "tags": {}
    },
       
    {
      "name": "WST_464",
      "token": "project_token",
      "tags": {
        "AlertsTag1": [
          "Production"
        ],
        "AlertsTag2": [
          "Development"
        ]
      }
    },
    {
      "name": "docker-maven-plugin",
      "token": "project_token",
      "tags": {
        "status": [
        "production"
        ]

Get Product Project Tags

This API request enables you to get the project tags (keys & values) of all projects in a product.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that returns all the project tags in a product.
Note: Products without tags are also returned.
stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
productTokenUnique identifier of the product.stringYes

Request Example

{
  "requestType" : "getProductProjectTags",
  "userKey": "user_key", 
  "productToken" : "product_token"
}

Response Example

{
  "projectTags": [
    {
      "name": "NewPy",
      "token": "project_token",
      "tags": {}
    },
    {
      "name": "maven-simple",
      "token": "project_token",
      "tags": {}
    },
    {
      "name": "docker-maven-plugin",
      "token": "project_token",
      "tags": {
        "status": [
          "production"
        ]
      }
    }
  ]
}

Get Project Tags

This API request enables you to get the project tags (keys & values) in a project.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that returns all the keys and values of a project’s tags.
Note: Projects without tags are also returned.
stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
projectTokenUnique identifier of the project.stringYes

Request Example

{
  "requestType" : "getProjectTags",
  "userKey": "user_key", 
  "projectToken" : "project_token"
}

Response Example

{
  "projectTags":[
    {
	  "name": "My Project 1",
	  "token": "project_token_1",
      "tags":{
	    "Component": [
		  "Database"
	    ],
	    "Module": [
		  "Server"
		]
	  }
	}
  ]
}

Save a Project Tag

This API request enables you to save a project’s tag: key, value.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that saves a project’s tag.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
projectTokenUnique identifier of the project.stringYes
tagKeyLabel that describes the tag.stringYes
tagValueValue assigned to the tag.stringYes

Request Example

{
  "requestType" : "saveProjectTag",
  "userKey": "user_key", 
  "projectToken" : "project_token", 
  "tagKey":"key1",
  "tagValue":"value1"
}

Response Example

{
  "projectTags":
  {
	"name": "My Project 1",
	"token": "project_token_1",
	"tags":
	{
	  "key1": "value1"
	}
  }
}

Remove a Project Tag

This API request enables you to remove a project’s tag: key, value.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that removes a project’s tag.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
projectTokenUnique identifier of the project.stringYes
tagKeyLabel that describes the tag.stringYes
tagValueValue assigned to the tag.stringYes

Request Example

{
  "requestType" : "removeProjectTag",
  "userKey": "user_key", 
  "projectToken" : "project_token", 
  "tagKey":"key1",
  "tagValue":"value1"
}

Response Example

{
  "successfully removed project tag"
}

Get Project Hierarchy

This API request returns a hierarchy of the libraries in a project including In-House library data if required.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that gets a hierarchy of the libraries in a project.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
projectTokenUnique identifier of the project.stringYes
includeInHouseDataSet to “true” (default value) when you want in-house library data to be included in the API response. When set to ‘false’, in-house library data is not returned in the API response.booleanNo

Request Example

{
  "requestType" : "getProjectHierarchy",
  "userKey": "user_key", 
  "projectToken" : "project token",
  "includeInHouseData" : true
}

Response Example

{
  "libraries": [
    {
      "keyUuid": "1f9ee6ec-eded-45d3-8fdb-2d0d735e5b14",
      "keyId": 43,
      "filename": "log4j-1.2.17.jar",
      "name": "log4j",
      "groupId": "log4j",
      "artifactId": "log4j",
      "version": "1.2.17",
      "sha1": "5af35056b4d257e4b64b9e8069c0746e8b08629f",
      "type": "UNKNOWN_ARTIFACT",
      "coordinates": "log4j:log4j:1.2.17"
    },
    {
      "keyUuid": "f362c53f-ce25-4d0c-b53b-ee2768b32d1a",
      "keyId": 45,
      "filename": "akka-actor_2.11-2.5.2.jar",
      "name": "akka-actor",
      "groupId": "com.typesafe.akka",
      "artifactId": "akka-actor_2.11",
      "version": "2.5.2",
      "sha1": "183ccaed9002bfa10628a5df48e7bac6f1c03f7b",
      "type": "MAVEN_ARTIFACT",
      "coordinates": "com.typesafe.akka:akka-actor_2.11:2.5.2",
      "dependencies": [
        {
          "keyUuid": "49c6840d-bf96-470f-8892-6c2a536c91eb",
          "keyId": 44,
          "filename": "scala-library-2.11.11.jar",
          "name": "Scala Library",
          "groupId": "org.scala-lang",
          "artifactId": "scala-library",
          "version": "2.11.11",
          "sha1": "e283d2b7fde6504f6a86458b1f6af465353907cc",
          "type": "MAVEN_ARTIFACT",
          "coordinates": "org.scala-lang:scala-library:2.11.11"
        },
        {
          "keyUuid": "426c0056-f180-4cac-a9dd-c266a76b32c9",
          "keyId": 47,
          "filename": "config-1.3.1.jar",
          "name": "config",
          "groupId": "com.typesafe",
          "artifactId": "config",
          "version": "1.3.1",
          "sha1": "2cf7a6cc79732e3bdf1647d7404279900ca63eb0",
          "type": "UNKNOWN_ARTIFACT",
          "coordinates": "com.typesafe:config:1.3.1"
        }
      ]
    },
    {
      "keyUuid": "25a8ceaa-4548-4fe4-9819-8658b8cbe9aa",
      "keyId": 48,
      "filename": "kafka-clients-0.10.2.1.jar",
      "name": "Apache Kafka",
      "groupId": "org.apache.kafka",
      "artifactId": "kafka-clients",
      "version": "0.10.2.1",
      "sha1": "3dd2aa4c9f87ac54175d017bcb63b4bb5dca63dd",
      "type": "MAVEN_ARTIFACT",
      "coordinates": "org.apache.kafka:kafka-clients:0.10.2.1",
      "dependencies": [
        {
          "keyUuid": "71065ffb-e509-4e2d-88bc-9184bc50888d",
          "keyId": 49,
          "filename": "lz4-1.3.0.jar",
          "name": "LZ4 and xxHash",
          "groupId": "net.jpountz.lz4",
          "artifactId": "lz4",
          "version": "1.3.0",
          "sha1": "c708bb2590c0652a642236ef45d9f99ff842a2ce",
          "type": "MAVEN_ARTIFACT",
          "coordinates": "net.jpountz.lz4:lz4:1.3.0"
        },
        {
          "keyUuid": "e44ab569-de95-4562-8efa-a2ebfe808471",
          "keyId": 50,
          "filename": "slf4j-api-1.7.21.jar",
          "name": "SLF4J API Module",
          "groupId": "org.slf4j",
          "artifactId": "slf4j-api",
          "version": "1.7.21",
          "sha1": "139535a69a4239db087de9bab0bee568bf8e0b70",
          "type": "MAVEN_ARTIFACT",
          "coordinates": "org.slf4j:slf4j-api:1.7.21"
       }
      ]
    }
  ]
}

Get Project Inventory

This API request returns an inventory (BOM - Bill of Materials) of all the libraries in a project, including In-House library data if required.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that gets an inventory of the libraries in a project.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
projectTokenUnique identifier of the project.stringYes
includeInHouseDataSet to “true” (default value) when you want in-house library data to be included in the API response. When set to “false”’, in-house library data is not returned in the API response.booleanNo
includeOutdatedLibraryDataWhen set to “true” (default value) the library index is checked for a newer version, and the response includes the parameter “outdated: true” if a new library version exists or “outdated: false” if the current library is up to date.

Note:New Version” alerts must be enabled (Home > Admin > Alert Settings) in order to receive this library information.
booleanNo

Request Example

{
  "requestType" : "getProjectInventory",
  "userKey": "user_key", 
  "projectToken" : "project_token",
  "includeInHouseData" : true
}

Response Example

{
  "projectVitals":{
    "productName": "fsa",
    "name": "fsa",
    "token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "creationDate": "2017-06-17 07:12:29",
    "lastUpdatedDate": "2017-06-17 07:34:31"
  },
  "libraries":[
    {
      "keyUuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "keyId": 24559109,
      "name": "comm-2.0.3.jar",
      "artifactId": "comm-2.0.3.jar",
      "type": "MAVEN_ARTIFACT",
      "licenses":[],
      "vulnerabilities":[],
      "outdated": false,
      "matchType": "FILENAME"
    }
  ]
}

Get Project State

This API request returns the current status of a project including the last process that was performed on the project and its date, and whether the process is currently in progress.

The projectState response can have one of the following values:

  • SETUP: Initializing project

  • DIFF: Calculating inventory changes

  • UPDATE: Updating inventory

  • CHANGE_EXCLUSIONS: Updating dependency exclusions

  • CHANGE_LOCAL_PATHS: Updating library paths

  • REMOVE: Removing libraries

  • PARTNER_UPDATE: Updating inventory

  • UPDATE_ALERTS: Updating alerts

  • CREATE_ISSUES: Creating external tickets

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that gets the current state of a project.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
projectTokenUnique identifier of the project.stringYes

Request Example

{
  "requestType":"getProjectState",
  "userKey": "user_key", 
  "projectToken":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response Example

{
  "projectState": {
    "lastProcess": "SETUP",
    "inProgress": false,
    "lastUpdatedDateTime": "2016-02-02 16:50:59"
  }
}

Get Project Library Source Files

This API request returns the source files of a library in a project.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that gets a library’s source files.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
projectTokenUnique identifier of the project.integerYes
keyUuidUnique ID of the library containing the source files.integerYes

Request Example

{
  "requestType":"getLibrarySourceFiles",
  "userKey": "user_key", 
  "projectToken":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "keyUuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response Format

{
  "sourceFiles":[
    {
      "sha1":"6bf3b8ddfecac64a916ba69de50e9faac70992ba",
	  "name":"x509_obj.c",
	  "path":"C:\\Users\\Work1\\Documents\\FSA\\GITHUB-downloads\\openssl_openssl_OpenSSL_0_9_4_openssl_openssl_OpenSSL_0_9_4_crypto_x509_x509_obj.c"
	}
  ]
}

Get Project Library Dependencies

This API request returns the dependencies of a library in a project.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that gets a library’s dependencies.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
projectTokenUnique identifier of the project.integerYes
keyUuidUnique ID of the library containing the dependencies.integerYes

Request Example

{
  "requestType":"getProjectLibraryDependencies",
  "userKey": "user_key", 
  "projectToken":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "keyUuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response Example

A JSON collection of all the dependencies in the specified library within the project. For example:

{
  "dependencies":[
    [
      {
        "keyUuid":"0b6a3818-ed95-4190-b40d-0d0d9ca51166",
        "name":"CDI APIs",
        "groupId":"javax.enterprise",
        "artifactId":"cdi-api",
        "version":"1.0",
        "classifier":"",
        "scope":"COMPILE",
        "extension":"jar",
        "sha1":"44c453f60909dfc223552ace63e05c694215156b",
        "dependencies":[
          {
            "keyUuid":"e8d725f6-081c-4e7d-b09c-3fadcb861a35",
            "name":"JSR-250 Common Annotations for the JavaTM Platform",
            "groupId":"javax.annotation",
            "artifactId":"jsr250-api",
            "version":"1.0",
            "classifier":"",
            "scope":"COMPILE",
            "extension":"jar",
            "sha1":"5025422767732a1ab45d93abfea846513d742dcf",
            "dependencies":[
            ],
              "licenses":[
                {
                  "name":"CDDL 1.0",
                  "url":"http://www.opensource.org/licenses/CDDL-1.0"
                }
              ]
            }
         ],
         "licenses":[
           {
             "name":"Apache 2.0",
             "url":"http://www.opensource.org/licenses/Apache-2.0"
          }
        ]
      },
      {
        "keyUuid":"b4264d26-09ca-4266-97ba-0bec7318d984",
        "name":"org.eclipse.sisu.inject",
        "groupId":"org.eclipse.sisu",
        "artifactId":"org.eclipse.sisu.inject",
        "version":"0.3.2",
        "classifier":"",
        "scope":"COMPILE",
        "extension":"jar",
        "sha1":"59044b92ec27cc6fda7a2d24b2cd6cec23f31d5b",
        "dependencies":[
         ],
        "licenses":[
          {
            "name":"Eclipse 1.0",
             "url":"http://www.opensource.org/licenses/EPL-1.0"
          }
        ]
      }
    ]
  ]
}

Set Project Setup Notification Configuration

This API request enables you to define and edit the configuration of the project’s email notifications rules on setup (such as, “Notify on Project Setup Completion”).

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that defines the project setup notification configuration.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
orgTokenAPI key which is a unique identifier of the organization.stringYes
actionThe action that describes the type of notification: Custom, Enabled, or Disabled.stringYes
projectTagKeyRegexThe project tag key pattern that describes the notification rule. Must be a formatted regex valid string.

Notifications will be sent when the projectTagKeyRegex and projectTagValueRegex patterns are in accordance with the defined project tags.
stringRequired only if the action is Custom.
projectTagValueRegexThe project tag value pattern that describes the notification rule. Must be a formatted regex valid string.

Notifications will be sent when the projectTagKeyRegex and projectTagValueRegex patterns are in accordance with the defined project tags.
stringMandatory only if the action is Custom.

Request Example

{ 
  "requestType" : "setProjectSetupNotificationConfig", 
  "orgToken" : "organization_api_key", 
  "userKey" : "user_api_key", 
  "action": "CUSTOM", 
  "projectTagKeyRegex" : "^[0-9]*$", 
  "projectTagValueRegex" : "^(ProjectTagValue)" 
}

Response Format

{ 
  "message": "Successfully changed project setup completion notification configuration" 
}

Get Project Last Modification

This API request returns the last modification dates for ALERTS, INVENTORY, METDATA and SCAN in the specified project.

Request Example:

{
  "requestType": "getProjectLastModification",
  "userKey": "user_key",
  "projectToken": "{{projectToken}}",
  "format": "json"
}

Response Example:

{
  "project": {
    "projectId": 4476834,
    "projectName": "GH_ilan-stuff",
    "projectToken": "projectToken"
  },
  "projectLastModifications": [
    {
      "projectId": 4476834,
      "modificationType": "ALERTS",
      "lastModified": "2022-06-30 07:23:22",
      "extraData": {
        "requestToken": "requestToken"
      }
    },
    {
      "projectId": 4476834,
      "modificationType": "INVENTORY",
      "lastModified": "2022-05-11 15:16:05",
      "extraData": {
        "requestToken": "requestToken"
      }
    },
    {
      "projectId": 4476834,
      "modificationType": "METADATA",
      "lastModified": "2022-06-14 06:15:22",
      "extraData": {
        "requestToken": "requestToken"
      }
    },
    {
      "projectId": 4476834,
      "modificationType": "SCAN",
      "lastModified": "2022-05-11 15:16:08",
      "extraData": {
        "pluginName": "bolt-4-github-scanner",
        "pluginVersion": "22.4.1-25",
        "requesterEmail": "ws_4_ghc_service_user@6.com",
        "requestToken": "requestToken"
      }
    }
  ],
    "warningMessages": [
        "Invalid input: format"
    ]
}

Get Plugin Request State

This API request returns the current status of a plugin request and its date and time.

Note: Although an Organization token is required in the API request, a product administrator can also execute it.

QUERY PARAMETERS

ParameterDescriptionTypeRequired
requestTypeAPI request type that returns the current progress of a request.stringYes
userKeyThe ID of the user’s profile, which uniquely identifies the user in mend.stringYes
orgTokenAPI key which is a unique identifier of the organization.stringYes
requestTokenToken that identifies the plugin request. Also called "support_token" - can be found in the data of the response returned from the server.stringYes

Request Example

{
  "requestType" : "getRequestState",
  "userKey": "user_key", 
  "orgToken" : "organization_api_key",
  "requestToken" : "support_token"
}

Response Format

{
  "requestState": "FINISHED",
  "timestamp": "2018-02-28T17:48:19Z"
}

The requestState response can have one of the following values:

  • UNKNOWN - either the orgToken or requestToken is invalid

  • IN_PROGRESS - update is in progress

  • UPDATED - inventory was modified but alerts have not yet been calculated

  • FINISHED - alerts were calculated successfully

  • FAILED - an error occurred during the update process

  • SKIPPED - when a scan for a project is requested while a scan for the same project is being executed simultaneously, the new scan is skipped

The timestamp field refers to GMT time.