Information

This site will undergo a brief period of maintenance on Thursday, 23 April at 2:30 AM Central/1:00 PM IST. During a 30 minute window, site availability may be intermittent.

Example of using the simplified REST API to search and update a problem investigation


The following example demonstrates how you can use the BMC Helix ITSM simplified API to perform the following operations on a problem investigation:

  • Retrieve problem details based on search criteria (filter)
  • Retrieve problem details based on the incident ID
  • Update status of a problem investigation

The API supports only the problem investigation ticket type. Known error ticket type is not supported.

To retrieve problem investigation details based on search criteria

cURL example

curl -X 'POST' \
  'https://<Innovation Suite server URL>/api/com.bmc.dsm.itsm.itsm-rest-api/v2/problem/search?filter=My%20Group%20Need%20Attention%20Tickets&optimize=Y' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "limit": 10,
  "offset": 10,  
  "sortBy": [{ "field" : "priority", "order": "desc"}],
  "fields": "['\''id'\'','\''status'\'']",
  "criteria": {
    "bindingExpression": "AND",
    "conditions": "{\r\n              \"fieldName\": \"status\",\r\n              \"operation\": \"eq\",\r\n              \"fieldValue\": \"27000\"\r\n          },\r\n          {\r\n              \"fieldName\": \"assignee\",\r\n              \"operation\": \"eq\",\r\n              \"fieldValue\": \"Allen Allbrook\"\r\n          }"
  }
}'

Request URL

https://<Innovation Suite server URL>/api/com.bmc.dsm.itsm.itsm-rest-api/v2/problem/search?filter=My%20Group%20Need%20Attention%20Tickets&optimize=Y

Request body

{
    "limit": 2,
    "offset": 0,
     "criteria": {
            "bindingExpression": "AND",
            "conditions": [
                {
                    "fieldName": "assignee",
                    "operation": "contains",
                    "fieldValue": "Ian"
                },
                {
                    "fieldName": "status",
                    "operation": "neq",
                    "fieldValue": "10"
                },
                {
                    "fieldName": "status",
                    "operation": "neq",
                    "fieldValue": "11"
                },
                {
                    "fieldName": "status",
                    "operation": "neq",
                    "fieldValue": "12"
                },
                {
                    "fieldName": "status",
                    "operation": "neq",
                    "fieldValue": "13"
                }
            ]
        }
    }

To retrieve problem investigation details based on the request ID

cURL example

curl --location --request GET 'https://<Innovation Suite server URL>/api/com.bmc.dsm.itsm.itsm-rest-api/v2/problem/PBI000000000112'

Request URL

https://<Innovation Suite server URL>/api/com.bmc.dsm.itsm.itsm-rest-api/v2/problem/PBI000000000112

To update the status of a problem investigation

cURL example

curl -X 'PATCH' \
  'https://<Innovation Suite server URL>/api/com.bmc.dsm.itsm.itsm-rest-api/v2/problem/PBI000000000102' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
 "assignee": {
    "loginId": "Allen"
 },
 "assigneeGroup": "Backoffice Support",
 "assigneeGroupId": "SGP000000000009",
 "assigneeSupportCompany":"Calbro Services",
 "assigneeSupportOrganization":"IT Support"
}'

Request URL

https://<Innovation Suite server URL>/api/com.bmc.dsm.itsm.itsm-rest-api/v2/problem/PBI000000000102

Request body

{
 "assignee": {
    "loginId": "Allen"
 },
 "assigneeGroup": "Backoffice Support",
 "assigneeGroupId": "SGP000000000009",
 "assigneeSupportCompany":"Calbro Services",
 "assigneeSupportOrganization":"IT Support"
}

The following example demonstrate how to perform the operations by using Postman client.

Before you begin

Make sure that you have a valid authentication token. For more information, see Access-and-authentication-for-the-simplified-REST-API.

To search and update a problem investigation

  1. Open the Postman - REST Client.
  2. Depending on your goal, set the request URL and method as any of the following:

    Goal

    Method

    Sample URL

    To retrieve problem investigation details based on search criteria

    POST

    https://<Innovation Suite server URL>/api/com.bmc.dsm.itsm.itsm-rest-api/v2/problem/search?filter=<Filter>

    To retrieve problem investigation details based on the request ID

    GET

    https://<Innovation Suite server URL>/api/com.bmc.dsm.itsm.itsm-rest-api/v2/problem/PBI_CAL_1000024

    To update the status of a problem investigation 

    PATCH

    https://<Innovation Suite server URL>/api/com.bmc.dsm.itsm.itsm-rest-api/v2/problem/INC000000000102

  3. Click Headers.
  4. Enter the following data as key value pairs in the header:

    Key

    Value

    X-Requested-By

    XMLHttpRequest

    Content-Type

    application/json

  5. On the Body tab, select raw.
  6. From the list, select JSON.
  7. Enter the JSON.
    For example:

    To search for a problem investigation based on filter criteria
    {
        "limit": 2,
        "offset": 0,
         "criteria": {
                "bindingExpression": "AND",
                "conditions": [
                    {
                        "fieldName": "assignee",
                        "operation": "contains",
                        "fieldValue": "Ian"
                    },
                    {
                        "fieldName": "status",
                        "operation": "neq",
                        "fieldValue": "10"
                    },
                    {
                        "fieldName": "status",
                        "operation": "neq",
                        "fieldValue": "11"
                    },
                    {
                        "fieldName": "status",
                        "operation": "neq",
                        "fieldValue": "12"
                    },
                    {
                        "fieldName": "status",
                        "operation": "neq",
                        "fieldValue": "13"
                    }
                ]
            }
        }
    To update the status of a problem investigation
    {
     "assignee": {
        "loginId": "Allen"
     },
     "assigneeGroup": "Backoffice Support",
     "assigneeGroupId": "SGP000000000009",
     "assigneeSupportCompany":"Calbro Services",
     "assigneeSupportOrganization":"IT Support"
    }
  8. Click Send.
    The results are displayed on the response panel.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Helix ITSM 26.1