Default language.

Event management endpoints in the REST API


The following section provides a list of supported endpoints and an overview about running these endpoints. Before you run an endpoint, you must authenticate yourself. For more information, see Access and authentication for the REST API

Event classes

You can create, update, delete, get details of event classes, and customize the display name of by running APIs.

Refer to the following table to understand different event class name and data type combinations that can be used to create event slots.

Event class slot name

Event class slot data type

Slot creation

Example

Same name

Same data type

Allowed between sibling classes

 

Same name same data type.png

Same name

Same data type

Not allowed between parent-child class hierarchy

 

Same name same data type as inherited slot in child.png

Same name

Different data type

Not recommended. The event ingestion works, however, the event search has issues.

 

Same name different data type.png

POST /events/classes
Create an event class

The following video (3:11) created by BMC Customer Support describes how to create an event class with the REST API.

icon-play@2x.png https://youtu.be/XOU_zFrqUFQ

Warning

Important

Make sure that you specify the request body only in the English locale.

Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/classes
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/classes
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

name

String

Yes

Name with which you want to create the event class.

parentClassName

String

No

Name of the parent class under which you want to create the class.

We recommend that you specify the parentClassName as MonitorEvent.

attributes

Object (List)

Yes

List of event slots that you want to create for the new event class.

Tips:

  • You can specify a maximum of 400 event slots in an event class. This limit is inclusive of slots in both the parent and child classes. This limit does not apply to the EVENT (base) class.
  • Event slots that are marked for deduplication are not mandatory. If you choose not to specify a value for these slots, a blank value is considered that might cause event deduplication.

The following parameters are supported:

  • name
    Name of the slot.
  • dataType
    Data type you want to specify for the slot.
    For more information, see the list of supported data types.
  • default(Optional) Default value that you want to specify for the slot.
    Important:
    When you create an event class with the custom enumeration as an attribute, make sure that the default value for the attribute equals one of the values specified in the custom enumeration. To learn how to manage custom enumerations, see Custom enumeration management endpoints in the REST API.
  • enumIndicates whether the slot must have enumeration values. For out-of-the-box and custom enumeration data types, the value of this parameter is mandatory and you must set it as true. If you do not set the value, the value false is set automatically. For non-enumeration data types, the value is optional and you can set it to false. To learn more about enumeration data types, see Slot data types.
  • allFacet(Optional) Facets control aspects of a class instance’s processing and they control values that a slot can have. You can assign the following facet types:

    • Mandatory
    • Read-only
    • Hidden
    • Dup-detect

    For more information, see the list of supported facets.

Request body

{
"name": "<class_name>",
"parentClassName": "<parent_classname>",
"attributes": [
{
  "name":"<slot_name1>",
  "dataType":"<slot_datatype>",
  "default":"<default_value>",
  "enum":<enum>,
  "allFacet":[
      {
       "name":"<facet1>",
       "value":"<value>"
      },
{
       "name":"<facet2>",
       "value":"<value>"
      }
    ]
  },
{
"name": "<slot_name2>",
"dataType": "<slot_datatype>"
}
]
}

Example request body

Example 1: Creating an event class
{
"name": "NAGIOS_EV",
"parentClassName": "EVENT",
"attributes": [
{
  "name":"pn_severity",
  "dataType":"SEVERITY",
  "default":"WARNING",
  "enum":true,
  "allFacet":[
      {
       "name":"mandatory",
       "value":"true"
      }
    ]
  },
{
"name": "N_SERVICEPROBLEMID",
"dataType": "INTEGER"
}
]
}
Example 2: Specifying a custom enumeration as a custom class attribute

Here, ROUTER_STATE, custom_slot_german, and custom_slot_chinese are custom enumeration names.

For information about managing custom enumerations, see Custom enumeration management endpoints in the REST API.

{
 "name": "custom_class_enum_display",
 "parentClassName": "EVENT",
 "attributes": [
   {
     "name": "ROUTER_STATE",
     "dataType": "ROUTER_STATE",
     "default": "UP",
     "enum": true,
     "allFacet": []
   },
   {
     "name": "custom_slot_german",
     "dataType": "custom_slot_german",
     "default": "open",
     "enum": true,
     "allFacet": [
       {
         "name": "dup_detect",
         "value": "true"
       }
      ]
   },
   {
     "name": "custom_slot_chinese",
     "dataType": "custom_slot_chinese",
     "default": "minor",
     "enum": true,
     "allFacet": [
       {
         "name": "dup_detect",
         "value": "true"
       }
      ]
   }
  ]
}

Successful response

{
   "responseTimeStamp": 1600258296455,
   "statusCode": "OK",
   "statusMsg": "[Successfully created event class.]",
   "resourceId": [
       "c48b5ac9-f815-11ea-9387-4b66d296b3bd"
    ],
   "resourceName": null,
   "failedResource": null

Unsuccessful responses

Scenario 1: Duplicate class

{
"responseTimeStamp": 1600423987155,
"statusCode": "EVCLASS_ALREADY_EXIST",
"statusMsg": "[Failed to create event class, entry with same name already exists]",
"resourceId": null,
"resourceName": null,
"failedResource": null
}

Scenario 2: Invalid parent class

{
"responseTimeStamp": 1600424373056,
"statusCode": "PARENTCLASS_NOT_EXIST",
"statusMsg": "[Failed to create event class, parent class doesn't exists]",
"resourceId": null,
"resourceName": null,
"failedResource": null
}

Scenario 3: Mandatory field (class name) missing

[
{
"key": "validation.schema.required",
"level": "ERROR",
"message": "Object has missing required properties ([\"name\"])",
"additionalInfo": []
}
]

Scenario 4:

  • Enum value missing for enum data type
  • Invalid enum value for enum data type 
{    "responseTimeStamp": 1600425222656,
    "statusCode": "ENUM_NOT_EXIST",
    "statusMsg": "[Validation failed, enum doesn't exist]",
    "resourceId": null,
    "resourceName": null,
    "failedResource": null
}
{
   "responseTimeStamp": 1567511499957,
   "statusCode": "400",
   "statusMsg": "Bad Request : Enum value is either not supplied or false for data type PRIORITY"
}

Back to top

PUT /events/classes
Update an event class

While updating an event class:

You Can

You Cannot

Add new slots to the existing event class.

Rename the slot.

Update the default slot value and facets.

Change the slot data type and enum information.

To delete slots of custom classes and custom slots of out-the-box classes, see Delete event slots.

Warning

Important

Make sure that you specify the request body only in the English locale.

Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/classes/<event_class_identifier>
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/classes/91063dd6-ca15-11e9-901e-df18c2b43854
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details (in the request URL)

Parameter name

Value type

Mandatory

Description

event_class_identifier

String

Yes

Unique name of ID of the event class.

Request body

{
   "attributes":[
    {
  "name":"<slot_name1>",
  "dataType":"<slot_datatype>",
  "default":"<default_value>",
  "enum":<enum>,
  "allFacet":[
      {
       "name":"<facet1>",
       "value":"<value>"
      },
{
       "name":"<facet2>",
       "value":"<value>"
      }
    ]
  }
    ]
}

Parameter details (in the request body)

Parameter name

Value type

Mandatory

Description

attributes

Object (List)

Yes

List of new attributes you want to add in the existing event class.

Important:

You can specify a maximum of 400 event slots in an event class. This limit is inclusive of slots in both the parent and child classes. This limit does not apply to the EVENT (base) class.

Example request body

{
   "attributes":[
    {
       "name":"pn_slot",
       "dataType":"STRING",
       "enum":false
    }
    ]
}

Successful response

{
   "responseTimeStamp": 1600258534062,
   "statusCode": "OK",
   "statusMsg": "[Successfully updated event class.]",
   "resourceId": [
       "c48b5ac9-f815-11ea-9387-4b66d296b3bd"
    ],
   "resourceName": null,
   "failedResource": null
}

Unsuccessful responses

Scenario 1: Valid ID, same attributes, but  incorrect data type

{
   "responseTimeStamp": 1600258908501,
   "statusCode": "ATTR_EXIST_WITH_DIFF_TYPE",
   "statusMsg": "[Validation failed, class attribute already exist with different data type]",
   "resourceId": null,
   "resourceName": null,
   "failedResource": null
}

Scenario 2: New enum value for enum data type

{
   "responseTimeStamp": 1567574692841,
   "statusCode": "400",
   "statusMsg": "Bad Request : Enum value is either not supplied or false for data type SEVERITY"
}

Scenario 3: Invalid class ID

{
   "responseTimeStamp": 1600258782398,
   "statusCode": "EVCLASS_NOT_EXIST",
   "statusMsg": "[Failed to update event class, given entry doesn't exist in database]",
   "resourceId": null,
   "resourceName": null,
   "failedResource": null
}

Back to top

DELETE  /events/classes
Delete a single event class by ID
Warning

Important

You can only delete custom event classes and not out-of-the-box event classes.

Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/classes/<event_class_identifier>
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/classes/91063dd6-ca15-11e9-901e-df18c2b43854
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Name

Value type

Located In

Mandatory

Description

event_class_identifier

String

Path

Yes

Unique ID of the event class that you want to delete.

Successful responses

{
   "responseTimeStamp": 1600258614402,
   "statusCode": "OK",
   "statusMsg": "[Event class deletion successful.]",
   "resourceId": [
       "c48b5ac9-f815-11ea-9387-4b66d296b3bd"
    ],
   "resourceName": null,
   "failedResource": null
}

Unsuccessful response

Scenario: Non-existing or out-of-the-box event class deletion failed

{
   "responseTimeStamp": 1600258192867,
   "statusCode": "EVCLASS_NOT_EXIST",
   "statusMsg": "[Operation failed, given entry doesn't exist in database or is a default entry]",
   "resourceId": null,
   "resourceName": null,
   "failedResource": null
}

Scenario: Deleting class with an open event

{    "responseTimeStamp": 1600425861254,
    "statusCode": "409",
    "statusMsg": "[There are 6 open events for class - testclass. Please close these events and retry deleting the class.]",  
    "resourceId": null,
    "resourceName": null,
    "failedResource": null
}

Back to top

GET  /events/classes
Get details of all event classes and their tenant details
Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/classes
Example URL
https://HostA.bmc.com/events-service/api/v1.0/events/classes
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Successful response

{
   "responseTimeStamp": 1600259415190,
   "statusCode": "200",
   "statusMsg": "[Event Classes found successfully for specified Tenant:690188083]",
   "classList": [
       "PATROL_EV",
       "ALARM",
       "INCIDENT_INFO",
       "EVENT",
       "HELIX_SM_EV",
       "ANOMALY"
    ],
   "eventClassList": [
        {...
...    },
                {
                   "name": "an_mean",
                   "dataType": "STRING",
                   "default": "",
                   "allFacet": [],
                   "enumElements": [],
                   "enum": false
                }
            ]
        }
    ]
}

See the text file with a dump of event classes.

Back to top

GET  /events/classes 
Get details of a single event class
Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/classes/<event_class_identifier/event_class_name>?idType=<id/name>
Example request URL: Get event class by ID
https://HostA.bmc.com/events-service/api/v1.0/events/classes/91063dd6-ca15-11e9-901e-df18c2b43854?idType=id
Example request URL: Get event class by name, where the event class name is custom_class
https://HostA.bmc.com/events-service/api/v1.0/events/classes/custom_class?idType=name
Example request URL: Get event class by name, where the event class name is EVENT
https://HostA.bmc.com/events-service/api/v1.0/events/classes/EVENT?idType=name

Parameter details (in the request URL)

Parameter name

Value type

Mandatory

Description

event_class_identifier/event_class_name

String

Yes

Unique name of ID of the event class.

idType=id/name

String

Yes

Type of identifier by which you want to perform the operation.

The value can be id or name based on the class_identifier value passed in the request URL.

Successful response

Successful response 1
{
   "responseTimeStamp": 1567057922470,
   "statusCode": "200",
   "statusMsg": "[Event Class found successfully for specified ID or Name.]",
   "eventClass": {
       "id": "91063dd6-ca15-11e9-901e-df18c2b43854",
       "name": "EVENT",
       "parentClassName": "",
       "childClassNames": [
           "PATROL_EV",
           "ALARM"
        ],
       "allAttributes": [...
... },
            {
               "name": "_relation_source",
               "dataType": "STRING",
               "default": "",
               "allFacet": [
                    {
                       "name": "read_only",
                       "value": "true"
                    }
                ],
               "enumElements": [],
               "enum": false
            }
        ]
    }
}

See the text file with details of the EVENT base event class.

Successful response 2
{
 "responseTimeStamp": 1672236857739,
 "statusCode": "200",
 "statusMsg": "[Event Class found successfully for specified ID or Name.]",
 "eventClass": {
   "id": "336190c0-3adb-4ed9-a83c-5370d273d001",
   "name": "LOGALERT_EV",
   "parentClassName": "EVENT",
   "childClassNames": [
     "custom_class_3qFOY1Nv",
     "custom_class_Q7kGQkYz"
    ],
   "allAttributes": [
      {
       "name": "alert_id",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "mandatory",
           "value": "true"
          },
          {
           "name": "dup_detect",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_name",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_starttime",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_endtime",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_query",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_launch_params",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_id_pcssj",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_slotJagJHqPf",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "pn_slotJagJHqPf",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_id_eoadt",
       "dataType": "INTEGER",
       "default": "0",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_severity_eoadt",
       "dataType": "SEVERITY",
       "default": "WARNING",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [
          {
           "index": 10,
           "value": "UNKNOWN",
           "label": "Unknown"
          },
          {
           "index": 20,
           "value": "OK",
           "label": "Ok"
          },
          {
           "index": 30,
           "value": "INFO",
           "label": "Information"
          },
          {
           "index": 40,
           "value": "WARNING",
           "label": "Warning"
          },
          {
           "index": 50,
           "value": "MINOR",
           "label": "Minor"
          },
          {
           "index": 60,
           "value": "MAJOR",
           "label": "Major"
          },
          {
           "index": 70,
           "value": "CRITICAL",
           "label": "Critical"
          }
        ],
       "enum": true
      },
      {
       "name": "ng_history_eoadt",
       "dataType": "STRING_LIST",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_name_eoadt",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_thresh_above_eoadt",
       "dataType": "BOOLEAN",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [
          {
           "index": 10,
           "value": "FALSE",
           "label": "False"
          },
          {
           "index": 20,
           "value": "TRUE",
           "label": "True"
          }
        ],
       "enum": true
      },
      {
       "name": "ng_float_slot_eoadt",
       "dataType": "FLOAT",
       "default": "0",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_identifier",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_arrival_time",
       "dataType": "DATE",
       "default": "0",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_modified_time",
       "dataType": "DATE",
       "default": "0",
       "allFacet": [
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_repeat_count",
       "dataType": "INTEGER",
       "default": "0",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_tenant_id",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_tenant_name",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_ci_id",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_unmapped_data",
       "dataType": "OBJECT",
       "default": "[]",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_lifecycle_time",
       "dataType": "LONG",
       "default": "0",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_node_id",
       "dataType": "STRING_LIST",
       "default": "[]",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_service_id",
       "dataType": "STRING_LIST",
       "default": "[]",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_model",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "class",
       "dataType": "STRING",
       "default": "EVENT",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "source_identifier",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "mandatory",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "source_hostname",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "topology_lookup",
           "value": "name,short_name"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "source_address",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "source_port",
       "dataType": "INTEGER",
       "default": "0",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "location",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "msg",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "mandatory",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "details",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alias",
       "dataType": "STRING_LIST",
       "default": "[]",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "creation_time",
       "dataType": "DATE",
       "default": "0",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "tags",
       "dataType": "STRING_LIST",
       "default": "[]",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "user_assigned",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "incident_id",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "incident_company",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "componentalias",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "cdmclass",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "modelname",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "instancename",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "status",
       "dataType": "STATUS",
       "default": "OPEN",
       "allFacet": [],
       "enumElements": [
          {
           "index": 0,
           "value": "OPEN",
           "label": "Open"
          },
          {
           "index": 10,
           "value": "ACK",
           "label": "Acknowledged"
          },
          {
           "index": 20,
           "value": "ASSIGNED",
           "label": "Assigned"
          },
          {
           "index": 30,
           "value": "CLOSED",
           "label": "Closed"
          },
          {
           "index": 40,
           "value": "BLACKOUT",
           "label": "Blackout"
          }
        ],
       "enum": true
      },
      {
       "name": "severity",
       "dataType": "SEVERITY",
       "default": "MINOR",
       "allFacet": [],
       "enumElements": [
          {
           "index": 10,
           "value": "UNKNOWN",
           "label": "Unknown"
          },
          {
           "index": 20,
           "value": "OK",
           "label": "Ok"
          },
          {
           "index": 30,
           "value": "INFO",
           "label": "Information"
          },
          {
           "index": 40,
           "value": "WARNING",
           "label": "Warning"
          },
          {
           "index": 50,
           "value": "MINOR",
           "label": "Minor"
          },
          {
           "index": 60,
           "value": "MAJOR",
           "label": "Major"
          },
          {
           "index": 70,
           "value": "CRITICAL",
           "label": "Critical"
          }
        ],
       "enum": true
      },
      {
       "name": "priority",
       "dataType": "PRIORITY",
       "default": "PRIORITY_5",
       "allFacet": [],
       "enumElements": [
          {
           "index": 10,
           "value": "PRIORITY_5",
           "label": "Lowest"
          },
          {
           "index": 20,
           "value": "PRIORITY_4",
           "label": "Low"
          },
          {
           "index": 30,
           "value": "PRIORITY_3",
           "label": "Moderate"
          },
          {
           "index": 40,
           "value": "PRIORITY_2",
           "label": "High"
          },
          {
           "index": 50,
           "value": "PRIORITY_1",
           "label": "Highest"
          }
        ],
       "enum": true
      },
      {
       "name": "category",
       "dataType": "CATEGORY",
       "default": "OPERATIONS_MANAGEMENT",
       "allFacet": [],
       "enumElements": [
          {
           "index": 0,
           "value": "",
           "label": ""
          },
          {
           "index": 100,
           "value": "SLA_MANAGEMENT",
           "label": "SLA Management"
          },
          {
           "index": 110,
           "value": "CAPACITY_MANAGEMENT",
           "label": "Capacity Management"
          },
          {
           "index": 120,
           "value": "SERVICE_CONTINUITY_MANAGEMENT",
           "label": "Service Continuity Management"
          },
          {
           "index": 130,
           "value": "AVAILABILITY_MANAGEMENT",
           "label": "Availability Management"
          },
          {
           "index": 140,
           "value": "INCIDENT_MANAGEMENT",
           "label": "Incident Management"
          },
          {
           "index": 150,
           "value": "CONFIGURATION_MANAGEMENT",
           "label": "Configuration Management"
          },
          {
           "index": 160,
           "value": "RELEASE_MANAGEMENT",
           "label": "Release Management"
          },
          {
           "index": 170,
           "value": "PROBLEM_MANAGEMENT",
           "label": "Problem Management"
          },
          {
           "index": 180,
           "value": "CHANGE_MANAGEMENT",
           "label": "Change Management"
          },
          {
           "index": 190,
           "value": "OPERATIONS_MANAGEMENT",
           "label": "Operations Management"
          },
          {
           "index": 200,
           "value": "SECURITY_MANAGEMENT",
           "label": "Security Management"
          },
          {
           "index": 210,
           "value": "FINANCIAL_MANAGEMENT",
           "label": "Financial Management"
          },
          {
           "index": 220,
           "value": "SERVICE_DESK_MANAGEMENT",
           "label": "Service Desk Management"
          }
        ],
       "enum": true
      },
      {
       "name": "sub_category",
       "dataType": "SUB_CATEGORY",
       "default": "OTHER",
       "allFacet": [],
       "enumElements": [
          {
           "index": 10,
           "value": "OTHER",
           "label": "Other"
          },
          {
           "index": 20,
           "value": "APPLICATION",
           "label": "Application"
          },
          {
           "index": 30,
           "value": "DATABASE",
           "label": "Database"
          },
          {
           "index": 40,
           "value": "NETWORK",
           "label": "Network"
          },
          {
           "index": 50,
           "value": "SYSTEM",
           "label": "System"
          },
          {
           "index": 60,
           "value": "USER_TRANSACTIONS",
           "label": "User Transactions"
          }
        ],
       "enum": true
      },
      {
       "name": "_errors",
       "dataType": "STRING_LIST",
       "default": "[]",
       "allFacet": [
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_relationships",
       "dataType": "OBJECT",
       "default": "[]",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_node_service_mapping",
       "dataType": "STRING_LIST",
       "default": "[]",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "significance",
       "dataType": "INTEGER",
       "default": "0",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_signature",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_entropy",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_node_service_key_mapping",
       "dataType": "STRING_LIST",
       "default": "[]",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "_service_name",
       "dataType": "STRING_LIST",
       "default": "[]",
       "allFacet": [
          {
           "name": "read_only",
           "value": "true"
          },
          {
           "name": "internal",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "incident_sysid",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "sourceEntityType",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      }
    ],
   "attributes": [
      {
       "name": "alert_id",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "mandatory",
           "value": "true"
          },
          {
           "name": "dup_detect",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_name",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_starttime",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_endtime",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_query",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "alert_launch_params",
       "dataType": "STRING",
       "default": "",
       "allFacet": [],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_id_pcssj",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_slotJagJHqPf",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "pn_slotJagJHqPf",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_id_eoadt",
       "dataType": "INTEGER",
       "default": "0",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_severity_eoadt",
       "dataType": "SEVERITY",
       "default": "WARNING",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [
          {
           "index": 10,
           "value": "UNKNOWN",
           "label": "Unknown"
          },
          {
           "index": 20,
           "value": "OK",
           "label": "Ok"
          },
          {
           "index": 30,
           "value": "INFO",
           "label": "Information"
          },
          {
           "index": 40,
           "value": "WARNING",
           "label": "Warning"
          },
          {
           "index": 50,
           "value": "MINOR",
           "label": "Minor"
          },
          {
           "index": 60,
           "value": "MAJOR",
           "label": "Major"
          },
          {
           "index": 70,
           "value": "CRITICAL",
           "label": "Critical"
          }
        ],
       "enum": true
      },
      {
       "name": "ng_history_eoadt",
       "dataType": "STRING_LIST",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_name_eoadt",
       "dataType": "STRING",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      },
      {
       "name": "ng_thresh_above_eoadt",
       "dataType": "BOOLEAN",
       "default": "",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [
          {
           "index": 10,
           "value": "FALSE",
           "label": "False"
          },
          {
           "index": 20,
           "value": "TRUE",
           "label": "True"
          }
        ],
       "enum": true
      },
      {
       "name": "ng_float_slot_eoadt",
       "dataType": "FLOAT",
       "default": "0",
       "allFacet": [
          {
           "name": "isCustom",
           "value": "true"
          }
        ],
       "enumElements": [],
       "enum": false
      }
    ]
  }
}

In this response, the isCustom facet is associated with custom slots of the out-of-the-box class LOGALERT_EV and helps to distinguish between a custom and out-of-the-box slot.

Unsuccessful response

Scenario: Invalid ID

{
 "responseTimeStamp": 1732689914820,
 "statusCode": "500",
 "statusMsg": "[No Event Class found for specified ID or Name.]",
 "eventClass": null
}

Back to top

PATCH  /events/classes
Delete event slots for a custom or out-of-the-box class

Use this endpoint to delete slots of a custom class or custom slots of an out-of-the-box event class. Custom slots are associated with the isCustom slot facet. For more information, see Slot facets.

Warning

Important

  • You can delete slots of a class in which all events are in the Closed state.
  • You can delete a maximum of 10 slots at a time. To change the maximum limit, contact BMC Support.
  • You can delete slots from classes that have a parent-child hierarchy only if events in both the parent and child class are closed.
    For example:
    Parent class P1 contains 50 closed events
    Child class C1 contains 100 open events
    In this case, you cannot delete slots from P1 because there are open events in C1.
  • In this case, you cannot delete Slot P1 from C. However, you can delete it from P, after all events in P and C are closed.
    Parent-child hierarchy.png
  • When you delete a slot of a class, the table view that you configure to view event details displays the deleted slot with blank values in the deleted slot column.
    For instructions on creating a table view, see Creating table views.
  • If an event policy configuration refers to a slot that is deleted, the policy does not execute and the reason for the policy execution failure is populated in the Errors slot of the event on the Event Details page.
  • The event policy execution is skipped if the slot you delete is used in the event selection criteria.
Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/classes/<EventClassId/EventClassName>?idType=<id/name>
Example URL: Delete event slots by specifying the class ID
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/classes/f0a678ab-33f1-11ed-86d9-459e5bb18573?idType=id
Example URL: Delete event slots by specifying the class name
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/classes/testClass?idType=name
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Located In

Mandatory

Description

attributesToRemove

List of string

Body

Yes

Comma-separated list of slots that you want to delete for a custom class.

You can specify event slots of a custom class or custom slots of an out-of-the-box class.

idType

String

Path

Yes

Type of identifier by using which you want to delete the slot.
The value can be id or name.

id indicates the event class ID and name indicates the event class name.

Request body

{
 "attributesToRemove": [
   "attribute_1",
   "attribute_2",
   "attribute_3"
  ]
}

Example request body

{
 "attributesToRemove": [
   "pn_location",
   "pn_group"
  ]
}

Successful response

{
 "responseTimeStamp": 1663671280686,
 "statusCode": "200",
 "statusMsg": "Slot deletion for the event class is successful.",
 "resourceId": [
   "f0a678ab-33f1-11ed-86d9-459e5bb18573"
  ]
}

Unsuccessful response

Scenario: You attempt to delete a slot of a custom class that has an open event.

{
 "responseTimeStamp": 1663671280686,
 "statusCode": "409",
 "statusMsg": "Failed to delete slot(s) as events needs to be in closed state for given class.Currently there are 1 open events available.",
 "resourceId": [
   "f0a678ab-33f1-11ed-86d9-459e5bb18573"
  ]
}

Back to top

POST /events/labels
Create a display name for a custom class or event slot
Information
Scenario

Sarah is an administrator at Apex Global. Jane is an operator on her team and is responsible for processing events that arrive in the system. Jane is unable to clearly understand the slot display names for a few custom slots of specific custom classes in events.

Sarah knows that viewing customized slot display names would help Jane understand and manage the events better and improve her efficiency. This feature gives Jane the flexibility to view the slot display according to her requirements instead of viewing complex internal names.

Can Sarah help Jane with her request? Yes, Sarah can run the event management APIs to customize the slot display.

This endpoint creates a display name for a custom event class or an event slot of a custom class.

Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/labels
Example request URL
https://HostA.bmc.com/events-service/api/v1.0/events/labels
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

key

String

Yes

Custom event class name or the custom slot name for which you want to customize the display name. The class name and slot name are case-insensitive.

Set the key for either the class name as key=<class_name> or the event slot name as key=<className>.<slotName>.

The maximum supported length is 210 characters.

The key cannot be empty and supports the following special characters:

.

_

-

locale

String

No

Locale in which you want to view the display name. The following locales are supported:

  • English (en)
  • Deutsch-German (de)
  • Chinese (Simplified) (zh)
  • Francais (Canada) - French (Canada) (fr-ca)

Default: English (en)

value

String

Yes

Custom display value of the custom class name or the custom event slot name.

We recommend a maximum limit of 255 characters.

The value cannot be empty. It cannot contain the following characters:

:

/

\\

<

>

?

@

%

!

[

]

{

}

^

&

;

(

)

,

Request body

[
 {
   "key": "String",
   "locale": "String",
   "value": "String"
 }
]

Example request body

Example 1
[
 {
   "key": "NAGIOS_EV",
   "locale": "en",
   "value": "Nagios Event"
 }
]
Example 2
[
 {
   "key": "alarm.custom_slot_name",
   "locale": "en",
   "value": "Alarm custom slot"
 },
 {
   "key": "NAGIOS_EV.pn_severity",
   "locale": "zh",
   "value": "pn_severity_zh"
 }
]
Example 3
[
 {
   "key": "NAGIOS_EV.pn_severity",
   "value": "pn_severity_en"
 }
]

Successful response

[
   {
       "key": "NAGIOS_EV",
       "level": "TENANT",
       "locale": "en",
       "value": "NAGIOS_EV_EN"
   }
]

levelindicates the permission level of resources. TENANT is the default level.

Unsuccessful responses

Scenario: You specify a character in the key parameter that is not supported.

{
 "message": "The key NAGIOS_EV$ in the request supports only the special characters: '.', '_', '-'.",
 "errorCode": "EMPTY_KEY_REQUEST"
}

Back to top

GET  /events/labels
Get the display name for a custom class or event slot

This endpoint retrieves the display name for all custom event classes or event slots of all custom classes for a tenant.

Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/labels
Example URL
https://HostA.bmc.com/events-service/api/v1.0/events/labels
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API.

Successful response

[
 {
   "key": "ALARM.al_agent_name",
   "level": "TENANT",
   "locale": "en",
   "value": "Alarm agent name"
 },
 {
   "key": "ALARM.msg",
   "level": "TENANT",
   "locale": "en",
   "value": "Alarm message"
 },
 {
   "key": "CUST_CLASS_SLOT_DISPLAY",
   "level": "TENANT",
   "locale": "en",
   "value": "Custom class"
 },
 {
   "key": "CUST_CLASS_SLOT_DISPLAY1.cust_enum_slot_child1",
   "level": "TENANT",
   "locale": "en",
   "value": "Custom class slot 1"
 },
 {
   "key": "CUST_CLASS_SLOT_DISPLAY1.display_cust_slot_child1",
   "level": "TENANT",
   "locale": "en",
   "value": "Custom class slot 2"
 },
 {
   "key": "CUST_CLASS_SLOT_DISPLAY_2105",
   "level": "TENANT",
   "locale": "en",
   "value": "Custom class 2105"
 },
 {
   "key": "CUST_CLASS_SLOT_DISPLAY_2105.pn_cntest",
   "level": "TENANT",
   "locale": "en",
   "value": "Custom class 2105 slot"
 },
 {
   "key": "EVENT.msg",
   "level": "TENANT",
   "locale": "en",
   "value": "Event message"
 }
]

levelindicates the permission level of resources. TENANT is the default level.

Back to top

DELETE  /events/labels
Delete the display name for a custom class or event slot

This endpoint deletes the display name for a custom event class or an event slot of a custom class.

Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/labels
Example request URL
https://HostA.bmc.com/events-service/api/v1.0/events/labels
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API.

Parameter details

Parameter name

Value type

Mandatory

Description

key

String

Yes

Custom event class name or the custom slot name for which you want to delete the display name. The class name and slot name are case-insensitive.

Set the key for either the class name as key=<class_name> or the event slot name as key=<className>.<slotName>.

The maximum supported length is 210 characters.

The key cannot be empty and supports the following special characters:

.

_

-

locale

String

No

Locale for which you want to delete the display name. The following locales are supported:

  • English (en)
  • Deutsch-German (de)
  • Chinese (Simplified) (zh)
  • Francais (Canada) - French (Canada) (fr-ca)

Default: English (en)

value

String

No

Custom display value of the custom class name or the custom event slot name that you want to delete.

We recommend a maximum limit of 255 characters.

It cannot contain the following characters:

:

/

\\

<

>

?

@

%

!

[

]

{

}

^

&

;

(

)

,

Request body

[
 {
   "key": "String",
   "locale": "String",
   "value": "String"
 }
]

Example request body

Example 1
[
 {
   "key": "NAGIOS_EV",
   "locale": "en"
 }
]

Successful responses

[
 {
   "responseTimeStamp": 0,
   "statusCode": "SUCCESS",
   "statusMsg": "NAGIOS_EV- Key successfully deleted."
 }
]

Unsuccessful response

Scenario: The specified key and level is not found.

[
 {
   "responseTimeStamp": 0,
   "statusCode": "FAILED",
   "statusMsg": "Could not delete key eventwatcher02 due to Preference with key core.bhom.en__NAGIOS_EV and level TENANT not found"
 }
]

Back to top

Auditing user actions on an event class

As a tenant administrator, use the BMC Helix Audit Dashboard in BMC Helix Dashboards to view the audit trail of activities that users perform on event classes. You can audit the following activities on an event class:

  • Create an event class
  • Update an event class
  • Delete an event class
Information
Scenario

Sarah is an administrator at Apex Global. She has configured an event policy that manages events based on the event class. Sarah realizes that the event policy is not managing events as expected due to a change in the event class structure. To troubleshoot this issue, Sarah can now use the BMC Helix Audit Dashboard in BMC Helix Dashboards to view the audit trail of all activities that users perform on event classes. Viewing the audit trail helps Sarah to track the history of changes made to the event classes and achieve improved user accountability, compliance with organization policies, and system security.

For more information, see Auditing configuration changes in BMC Helix Dashboards.

The following image displays the audit trail of event classes in the BMC Helix Audit Dashboard. Note that the selected resource type is Event Class. Click the link in the Operation column to view the values before and after you perform an activity on an event class.

Audit trail for event classes label.png

Event data

You can use the event ingestion API to send events from third-party applications to BMC Helix Operations Management with custom class and custom slot details.

Warning

Important

For the event slots that have the string or list of string data types, the character limit of the slot value is 32766. If the value goes above this limit, the value is trimmed, which results in data loss.

Click here to see an example of sending third-party events to BMC Helix Operations Management

Scenario

Sarah, a tenant administrator at Apex Global, wants to send events from a third-party application to BMC Helix Operations Management with custom event class and custom slots.

Workflow

Task

Product

Role

Action

Reference

1

BMC Helix Portal

Tenant administrator

Get the JSON Web Token (JWT).

2

BMC Helix Operations Management

Tenant administrator

Create the custom class and associated custom slots by running the class API.

 

3 (Optional)

BMC Helix Operations Management

Tenant administrator

(Optional) Run the class API to list event class details to reconfirm that the custom class and custom slots are created.

 

4

Third-party application

Tenant administrator or equivalent role for configuring third-party applications

Configure the third-party application to be able to send events with custom class and custom slots.

 

 

The following video (6:10) covers the end-to-end process of sending Nagios events with custom class and custom slot details to BMC Helix Operations Management.

icon-play@2x.png https://youtu.be/QuAlwmkQc-E

Mandatory slots

The following slots are mandatory for the Event base event class.

  • msg
  • source_identifier

For custom classes, you can define additional mandatory slots.

POST  /events
Send third-party events to BMC Helix Operations Management (v1.0)

Use this endpoint to ingest single or multiple events. If you are ingesting multiple events, the system rejects the entire ingestion request even if one of the events has an error.

Events are considered as invalid in the following scenarios:

  • The _identifier slot value contains invalid characters.
  • The msg or source_identifier slots are not available or the value for these slots is blank.

The following video (5:14) created by BMC Customer Support describes how to send events to BMC Helix Operations Management by using REST APIs.

icon-play@2x.png https://youtu.be/m8pNkvwRtAI

Example

Do you want to know how you can send events from a .csv file to BMC Helix Operations Management? Click here to view the blog on BMC Communities.

Warning

Important

  • For event slots that have the List of string data type, "" is considered as an empty list.
    For example, Tags="" is considered as an empty list.
  • When you ingest events, we do not recommend that you update the _identifier slot value. If you still want to update the slot value, make a note of the following points:
    • A combination of only alphanumeric characters, an underscore (_), a hyphen (-), a period (.), a colon (:), and an at (@) are allowed for this slot.
    • If the _identifier value of the new event matches the _identifier value of an existing event, the data from the new event overwrites the data in the existing event.
  • When you ingest events, make sure that you specify the value of the source_hostname (Host) slot in lowercase to associate events with the correct device.
  • Events are not ingested in the following situations:
    • The _identifier slot value contains invalid characters.
      For information about the characters supported for this slot, see Event base event class.
    • The msg or source_identifier slots are not available or the value for these slots is blank.
  • If you specify a slot multiple times with different values, only the latest value is used to ingest an event.

    For example, if you specify the severity slot values in the following order, the endpoint ingests the event with the severity as MINOR.

    [
      {
        "class": "EVENT",
        "severity": "CRITICAL",
        "severity": "MINOR"
      }
    ]

  • If you export an event in JSON format, you can use the exported JSON in the request payload by removing the internal slots of an event class. To know the internal slots of an event class, run the Get details of an event class endpoint.
    These event slots should be removed due to the following reasons:
    • Some event slots are populated in the event automatically.
    • Some event slots need to be blank because a new event is generated.

See the following example.

Information
Example

Sarah is an administrator at Apex Global. She manually creates the JSON request payload for creating events by using the event ingestion API. However, she realizes that creating the JSON request manually is time-consuming and wants a quicker way of creating events. She can now export an event in JSON format and use the exported JSON in the event ingestion API to create events. To learn about exporting an event, see Exporting events.

When events arrive in BMC Helix Operations Management, the create API immediately returns the response with the event identifier. The system processes the event in the background by using event policies. This takes a few milliseconds until the event is fully processed and is available for further event operations.

To be able to run this API, first generate the API key by performing the following steps:

  1. Log in to the BMC Helix Operations Management console and navigate to Administration > Repository.
  2. Click Copy API Key. The API key is copied to the clipboard in the following format:
    tenantid::access key::secret key
    For example: 1938340892::G5MBF27TMFL9ITLH25RLR20UM0WBFZ::OK3StB006fIGbXH2pNDgFXiKmtzsE0PLScZUfFtQKemgqWGFXA

    Warning

    Important

    If you have configured a rotation interval for the API key in BMC Helix Portal, make sure that you use the latest API key each time the key rotates.

    For instructions about configuring a rotation interval, see Using API keys for external integrations.

  3. Paste the API key in a text file and use it to run this API.
     
Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events
Example request URL
https://HostA.bmc.com/events-service/api/v1.0/events
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token> OR apiKey <tentant_API_key>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Request body (for single event)

[
 {
   "class": "<event>",
   "severity": "<severity>",
   "msg": "<msg>",
   "source_identifier": "source_id",
   "status": "<status>",
   "category": "<object_category>",
   "priority": "<priority>",
   "details": "<detailed_msg>",
   "source_attributes": {
     "source_hostname": "hostname",
     "source_port": "<port>",
     "source_address": "<ip_address>"
   },
   "class_slots": {
     "<custom_slot1>": "<slotValue1>",
     "<custom_slot2>": "<slotValue2>"
   }
 }
]

Example request body

Scenario: Single event

[
 {
   "class": "EVENT",
   "severity": "MAJOR",
   "msg": "Event summary text goes here (msg)",
   "source_identifier": "clm-HostA:3181",
   "status": "OPEN",
   "category": "APPLICATION",
   "priority": "PRIORITY_3",
   "details": "Detail information about the event situation",
   "source_attributes": {
     "source_hostname": "clm-HostA",
     "source_port": "3181",
     "source_address": "ip_address"
   },
   "class_slots": {
     "pn_severity": "MAJOR",
     "pn_id": "abcd1111"
   }
 }
]

Scenario: An event is sent without the class slot

In this case, the event is ingested and the default class is EVENT.

[
 {
   "severity": "MINOR",
   "msg": "jjJYThjjh",
   "status": "OPEN",
   "source_identifier": "host_name:3181",
   "source_attributes": {
     "source_hostname": "host_name",
     "source_port": "3181",
     "source_address": "ip_address"
   },
   "class_slots": {
     "p_parameter": "CPU usage",
     "p_parameter_value": "52",
     "p_parameter_unit": "%",
     "p_publish_hostname": "clm-HostA",
     "p_agent_port": "3181",
     "p_instance": "cpu_0",
     "p_application": "NT",
     "p_agent_version": "V12.0.00i",
     "p_catalog": "FINNOVA1-JCS1.PRD_1234.b_zv5678",
     "p_class": "0",
     "p_node": "node_name"
   }
 }
]

Scenario: An event is sent with the class slot value as empty

In this case, the event is ingested and the default class is EVENT.

[
 {
   "severity": "MINOR",
   "msg": "jjJYThjjh",
   "status": "OPEN",
   "source_identifier": "host_name:3181",
   "source_attributes": {
     "source_hostname": "host_name",
     "source_port": "3181",
     "source_address": "ip_address"
   },
   "class_slots": {
     "p_parameter": "CPU usage",
     "p_parameter_value": "52",
     "p_parameter_unit": "%",
     "p_publish_hostname": "clm-HostA",
     "p_agent_port": "3181",
     "p_instance": "cpu_0",
     "p_application": "NT",
     "p_agent_version": "V12.0.00i",
     "p_catalog": "FINNOVA1-JCS1.PRD_1234.b_zv5678",
     "p_class": "0",
     "p_node": "node_name"
   }
 }
]

Scenario: An event is sent with the class name in the upper case

In this case, the event is ingested because the class name case matches with known class names, such as PATROL_EV or EVENT.

[
 {
   "CLASS": "EVENT",
   "severity": "MAJOR",
   "msg": "Event summary text goes here (msg)",
   "source_identifier": "host_name:3181",
   "status": "OPEN",
   "source_attributes": {
     "source_hostname": "clm-HostA",
     "source_port": "3181",
     "source_address": "ip_address"
   },
   "creation_time": "1509356071",
   "category": "APPLICATION",
   "priority": "PRIORITY_3",
   "details": "Detail information about the event situation"
 }
]

Scenario: An event is sent without the event class, severity, category, and priority slots

In this case, the defaults are set as follows:

  • Class: EVENT
  • Severity: MINOR
  • Category: OPERATIONS_MANAGEMENT
  • Priority: PRIORITY_5
[
  {
   "msg": "Total Busy Disk Time >= 40  for 4 min.",
   "status": "OPEN",
   "source_identifier": "2212ff23f8-7c82-481b-becc45-dbb04a985bf3",
   "source_attributes": {
     "source_hostname": "clm-HostA",
     "source_port": "3181",
     "source_address": "<ip_address>"
    },
   "class_slots": {
     "al_alarm_id": "2212ff23ft8-7c82-481b-bcc5-dbb04a9r85bf3",
     "al_parameter_name": "LDldDiskTimePercent",
     "al_parameter_value": "45.0",
     "al_parameter_unit": "",
     "al_baseline_type": "HOURLY",
     "al_end_time": 42944967295,
     "al_thresh_duration": 180,
     "al_thresh_id": "12266a3f14-89c7-4692-ae0e-8cd175f323a1b:NT_LOGICAL_DISKS:Logical Disks:LDldDiskTimePercent:Critical",
     "al_thresh_type": "INSTABSTHRESHOLDS",
     "al_old_severity": "MINOR"
    }
  }
]

Scenario: An event is sent with incorrect values in a mandatory slot

In this case, the severity slot is sent to _unmapped_data and the default severity is set to MINOR.

[
 {
   "class": "PATROL_EV",
   "severity": 8175192739,
   "msg": "sample msg",
   "object": "cpu_0",
   "status": "OPEN",
   "source_identifier": "clm-HostA:3181",
   "source_attributes": {
     "source_hostname": "clm-HostA",
     "source_port": "3181",
     "source_address": "<ip_address>"
   },
   "class_slots": {
     "p_parameter": "CPU usage",
     "p_parameter_value": "52",
     "p_parameter_unit": "%",
     "p_publish_hostname": "clm-HostA",
     "p_agent_port": "3181",
     "p_instance": "cpu_0",
     "p_application": "NT",
     "p_agent_version": "V12.0.00i",
     "p_catalog": "FINNOVA1-JCS1.PRD_1234.b_zv5678",
     "p_class": "0",
     "p_node": "node_name"
   }
 }
]

Scenario: An event is sent with a custom enumeration as a slot

Here device_status is the custom enumeration. 

Warning

Important

While creating an event for event classes, if you do not specify the custom enumeration details in the request body, then the default value for the enumeration is set automatically.

[
  {
   "class": "NAGIOS_EVENT",
   "severity": "MINOR",
   "tag": "jWrAEu.hostA.bmc.com@3181.1635507541109.9333317384",
   "object": "hostA.bmc.com",
   "msg": "CustomEnumTest",
   "category": "CAPACITY_MANAGEMENT",
   "details": "device state",
   "source_attributes": {
     "source_hostname": "hostA",
     "source_port": 3181,
     "source_address": "<source_address>"
    },
   "source_identifier": "jWrAEu.hostA.bmc.com@3181.1635507541109.9333317384",
   "event_id": false,
   "location": "Houston",
   "device_status": "UP"
  }
]

Request body (for multiple events)

[
 {
   "class": "<event_class>",
   "severity": "<severity>",
   "msg": "<msg>",
   "source_identifier": "source_id",
   "status": "<status>",
   "category": "<object_category>",
   "priority": "<priority>",
   "details": "<detailed_msg>",
   "source_attributes": {
     "source_hostname": "hostname",
     "source_port": "<port>",
     "source_address": "<ip_address>"
   },
   "class_slots": {
     "<custom_slot1>": "<slotValue1>",
     "<custom_slot2>": "<slotValue2>"
   }
 },
 {
   "class": "<event_class>",
   "severity": "<severity>",
   "msg": "<msg>",
   "source_identifier": "source_id",
   "status": "<status>",
   "category": "<object_category>",
   "priority": "<priority>",
   "details": "<detailed_msg>",
   "source_attributes": {
     "source_hostname": "hostname",
     "source_port": "<port>",
     "source_address": "<ip_address>"
   },
   "class_slots": {
     "<custom_slot1>": "<slotValue1>",
     "<custom_slot2>": "<slotValue2>"
   }
 }
]

Example request body (for multiple events)

[
 {
   "class": "CLASS1",
   "severity": "MAJOR",
   "msg": "First event summary text goes here (msg)",
   "source_identifier": "clm-HostA:3181",
   "status": "OPEN",
   "category": "APPLICATION",
   "priority": "PRIORITY_3",
   "details": "Detail information about the event situation",
   "source_attributes": {
     "source_hostname": "clm-HostA",
     "source_port": "3181",
     "source_address": "123.23.24.56"
   },
   "class_slots": {
     "pn_severity": "MAJOR",
     "pn_id": "1111"
   }
 },
 {
   "class": "CLASS2",
   "severity": "CRITICAL",
   "msg": "Second event summary text goes here (msg)",
   "source_identifier": "clm-HostA:3181",
   "status": "OPEN",
   "category": "APPLICATION",
   "priority": "PRIORITY_2",
   "details": "Detail information about the event situation",
   "source_attributes": {
     "source_hostname": "clm-HostA",
     "source_port": "3181",
     "source_address": "123.23.24.56"
   },
   "class_slots": {
     "pn_severity": "CRITICAL",
     "pn_id": "22222"
   }
 }
]

Parameter details

Parameter name

Value type

Mandatory

Description

class

String

No

Custom class name with which you want to associate the event.

Default value: EVENT

severity

Enum

No

Severity value of the event.

Default value: WARNING

Possible Values: CRITICAL, MAJOR, MINOR, WARNING, INFO, OK, UNKNOWN

object

String

Yes

Component of the host to which the event is related.

For example, name of the disk on which the event is reporting the problem.

object_class

String

No

Class of an object.

If the object class cannot be derived from the original event, it must be filled in during enrichment.

msg

String

Yes

Event summary (text description) in brief.

status

String

No

Status value of the event.

Default value: OPEN

Possible Values: OPEN, ACK, ASSIGNED, CLOSED, BLACKOUT

source_identifier

String

Yes

Unique identifier of the event source identifier.

The identifier can differ based on the type of event source.

By default, for PATROL Agents, the event source is added in the format, agentHostName:Port. Furthermore, for alarms, the internally generated alarm ID is added.

source_attributes : {
 source_address
 source_hostname
 source_port
 }

Object (Map)

No

Additional source attribute slots for source identification.

creation_time

String

No

Epoch time (in milliseconds) when the event was received from the event source.

The event source can be PATROL Agent or a third-party event provider (event generated via the API).

category

String

No

High-level normalized category of the object that the event represents.

This parameter is based on the appropriate Information and Technology Infrastructure Library (ITIL) core process.

Possible values:

  • SLA_MANAGEMENT
  • CAPACITY_MANAGEMENT
  • SERVICE_CONTINUITY_MANAGEMENT
  • AVAILABILITY_MANAGEMENT
  • INCIDENT_MANAGEMENT
  • CONFIGURATION_MANAGEMENT
  • RELEASE_MANAGEMENT
  • PROBLEM_MANAGEMENT
  • CHANGE_MANAGEMENT

sub_category

String

No

Subcategory of the object the event represents based on the appropriate Information Technology Infrastructure Library (ITIL) core process.

Possible values:

  • OTHER
  • APPLICATION
  • DATABASE
  • NETWORK
  • SYSTEM
  • USER_TRANSACTIONS

priority

Enum

No

Original priority of the event upon insertion.

This parameter records the current priority of the event.

Possible values:

  • PRIORITY_5 (lowest priority)
  • PRIORITY_4
  • PRIORITY_3
  • PRIORITY_2
  • PRIORITY_1 (highest priority) 

details

String

No

Detailed information about the event.

Expands the information in the msgslot.

alias

String

No

Used for event association with the CI.

You can provide a combination of slots to form the alias value, for example, BMC_ComputerSystem:source_host:source_por

Successful response

Status code 200 OK

{
   "responseTimeStamp": 1600259952253,
   "statusCode": "200",
   "statusMsg": "OK",
   "resourceId": [
       "eps.690188083.4831460694718336.c99a2ffe-c6c9-4871-bfb0-af2639507577"
    ]
}

In this response, eps.690188083.4831460694718336.c99a2ffe-c6c9-4871-bfb0-af2639507577 is the event ID.

Unsuccessful response

Scenario: An event is sent without a mandatory slot

[
   {
       "key": "validation.schema.required",
       "level": "ERROR",
       "message": "[Path '/0'] Object has missing required properties ([\"msg\",\"source_identifier\"])",
       "additionalInfo": []
   }
]

Scenario: An event is sent with the class name in the lower case

In this case, the event response is OK. However, the event gets dropped because the class name does not match known class names. For example, the known class name PATROL_EV is in the upper case. If an event arrives with the class name patrol_ev in the lower case, it gets dropped. 

[
  {
   "class": "alarm",
   "severity": "CRITICAL",
   "object": "22166a3f14-89c7-4692-ae0e-8cd175f243a1b:NT_LOGICAL_DISKS:Logical Disks",
   "object_class": "NT_LOGICAL_DISKS",
   "msg": "Total Busy Disk Time >= 40  for 4 min.",
   "status": "OPEN",
   "source_identifier": "2212ff23f8-7c82-481b-becc45-dbb04a985bf3",
   "source_attributes": {
     "source_hostname": "clm-pun-spygbh",
     "source_port": "3181",
     "source_address": "22887.23.24.56"
    },
   "class_slots": {
     "al_alarm_id": "2212ff23ft8-7c82-481b-bcc5-dbb04a9r85bf3",
     "al_parameter_name": "LDldDiskTimePercent",
     "al_parameter_value": "45.0",
     "al_parameter_unit": "",
     "al_baseline_type": "HOURLY",
     "al_end_time": 42944967295,
     "al_thresh_duration": 180,
     "al_thresh_id": "12266a3f14-89c7-4692-ae0e-8cd175f323a1b:NT_LOGICAL_DISKS:Logical Disks:LDldDiskTimePercent:Critical",
     "al_thresh_type": "INSTABSTHRESHOLDS",
    "al_old_severity": "MINOR"
    }
  }
]

Back to top

POST  /events
Send multiple events to BMC Helix Operations Management (v2.0)

Use this endpoint to ingest multiple events. The system does not reject the entire ingestion request but partially ingests events from the event list even if one of the events has an error.

Events are considered as invalid in the following scenarios:

  • The _identifier slot value contains invalid characters.
  • The msg or source_identifier slots are not available or the value for these slots is blank.

If you specify a slot multiple times with different values, only the latest value is used to ingest an event.

For example, if you specify the severity slot values in the following order, the endpoint ingests the event with the severity as MINOR.

[
  {
    "class": "EVENT",
    "severity": "CRITICAL",
    "severity": "MINOR"
  }
]

Example

Do you want to know how you can send events from a .csv file to BMC Helix Operations Management? Click here to view the blog on BMC Communities.

When events arrive in BMC Helix Operations Management, the create API immediately returns the response with the event identifier. The system processes the event in the background by using event policies. This takes a few milliseconds until the event is fully processed and is available for further event operations.

To be able to run this API, you need the API key, which you generate by performing the following steps:

  1. Log in to the BMC Helix Operations Management console and navigate to Administration > Repository.
  2. Click Copy API Key. The API key is copied to the clipboard in the following format:
    tenantid::access key::secret key
    For example: 1938340892::G5MBF27TMFL9ITLH25RLR20UM0WBFZ::OK3StB006fIGbXH2pNDgFXiKmtzsE0PLScZUfFtQKemgqWGFXA

    Warning

    Important

    If you have configured a rotation interval for the API key in BMC Helix Portal, make sure that you use the latest API key each time the key rotates. For instructions about configuring a rotation interval, see Using API keys for external integrations.

  3. Paste the API key in a text file and use it to run this API.
     
Request URL
https://<BMC Helix Portal URL>/events-service/api/v2.0/events
Example request URL
https://HostA.bmc.com/events-service/api/v2.0/events
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token> OR apiKey <tentant_API_key>

For instructions about obtaining the JWT token, see Access and authentication for the REST API.

Request body

[
 {
   "class": "<event_class>",
   "severity": "<severity>",
   "msg": "<msg>",
   "source_identifier": "source_id",
   "status": "<status>",
   "category": "<object_category>",
   "priority": "<priority>",
   "details": "<detailed_msg>",
   "source_attributes": {
     "source_hostname": "hostname",
     "source_port": "<port>",
     "source_address": "<ip_address>"
   },
   "class_slots": {
     "<custom_slot1>": "<slotValue1>",
     "<custom_slot2>": "<slotValue2>"
   }
 },
 {
   "class": "<event_class>",
   "severity": "<severity>",
   "msg": "<msg>",
   "source_identifier": "source_id",
   "status": "<status>",
   "category": "<object_category>",
   "priority": "<priority>",
   "details": "<detailed_msg>",
   "source_attributes": {
     "source_hostname": "hostname",
     "source_port": "<port>",
     "source_address": "<ip_address>"
   },
   "class_slots": {
     "<custom_slot1>": "<slotValue1>",
     "<custom_slot2>": "<slotValue2>"
   }
 }
]

Example request body

[
 {
   "class": "EVENT",
   "severity": "CRITICAL",
   "object": "/usr/bash/bin",
   "msg": "Event message",
   "source_identifier": "<source_identifier>",
   "status": "OPEN",
   "source_hostname": "<source_hostname>",
   "source_port": "3181",
   "category": "APPLICATION",
   "priority": "PRIORITY_4",
   "details": "event details 101"
 },
 {
   "class": "EVENT",
   "severity": "CRITICAL",
   "object": "/usr/bash/bin",
   "msg": "Critical event: Needs attention",
   "source_identifier": "<source_identifier>",
   "status": "OPEN",
   "source_hostname": "<source_hostname>",
   "source_port": "3181",
   "category": "APPLICATION",
   "priority": "PRIORITY_4",
   "details": "event details 101"
 }
]

Parameter details

Parameter name

Value type

Mandatory

Description

class

String

No

Custom class name with which you want to associate the event.

Default value: EVENT

severity

Enum

No

Severity value of the event.

Default value: WARNING

Possible Values: CRITICAL, MAJOR, MINOR, WARNING, INFO, OK, UNKNOWN

object

String

Yes

Component of the host to which the event is related.

For example, name of the disk on which the event is reporting the problem.

object_class

String

No

Class of an object.

If the object class cannot be derived from the original event, it must be filled in during enrichment.

msg

String

Yes

Event summary (text description) in brief.

status

String

No

Status value of the event.

Default value: OPEN

Possible Values: OPEN, ACK, ASSIGNED, CLOSED, BLACKOUT

source_identifier

String

Yes

Unique identifier of the event source identifier.

The identifier can differ based on the type of event source.

By default, for PATROL Agents, the event source is added in the format, agentHostName:Port. Furthermore, for alarms, the internally generated alarm ID is added.

source_attributes : {
 source_address
 source_hostname
 source_port
 }

Object (Map)

No

Additional source attribute slots for source identification.

creation_time

String

No

Epoch time (in milliseconds) when the event was received from the event source.

The event source can be PATROL Agent or a third-party event provider (event generated via the API).

category

String

No

High-level normalized category of the object that the event represents.

This parameter is based on the appropriate Information and Technology Infrastructure Library (ITIL) core process.

Possible values:

  • SLA_MANAGEMENT
  • CAPACITY_MANAGEMENT
  • SERVICE_CONTINUITY_MANAGEMENT
  • AVAILABILITY_MANAGEMENT
  • INCIDENT_MANAGEMENT
  • CONFIGURATION_MANAGEMENT
  • RELEASE_MANAGEMENT
  • PROBLEM_MANAGEMENT
  • CHANGE_MANAGEMENT

sub_category

String

No

Subcategory of the object the event represents based on the appropriate Information Technology Infrastructure Library (ITIL) core process.

Possible values:

  • OTHER
  • APPLICATION
  • DATABASE
  • NETWORK
  • SYSTEM
  • USER_TRANSACTIONS

priority

Enum

No

Original priority of the event upon insertion.

This parameter records the current priority of the event.

Possible values:

  • PRIORITY_5 (lowest priority)
  • PRIORITY_4
  • PRIORITY_3
  • PRIORITY_2
  • PRIORITY_1 (highest priority) 

details

String

No

Detailed information about the event.

Expands the information in the msgslot.

alias

String

No

Used for event association with the CI.

You can provide a combination of slots to form the alias value, for example, BMC_ComputerSystem:source_host:source_por

Successful response

Complete success: The system ingests all events specified in the request.

{
 "responseTimeStamp": 1696317692533,
 "statusCode": "200",
 "statusMsg": "OK",
 "results": [
   {
     "position": 1,
     "id": "eps.tenant-key.373023735724000.15a6e717-8852-4ee3-93db-43839623fc8b",
     "status": "SUCCESS"
   },
   {
     "position": 2,
     "id": "eps.1123775994.6521577815273835.7377146a-9298-4df4-af6a-b6f549112617",
     "status": "SUCCESS"
   }
  ]
}

positionindicates the event position in the event list.

Partial success: The system ingests only a few events from the events specified in the request due to errors in certain events.

{
 "responseTimeStamp": 1696317692399,
 "statusCode": "207",
 "statusMsg": "Multi-Status",
 "results": [
   {
     "position": 1,
     "id": "123,",
     "status": "FAILURE",
     "message": "The identifier slot value (123,) can contain a combination of only alpha-numeric characters, underscore (_), hyphen (-), period (.), colon (:), at sign (@)"
   },
   {
     "position": 2,
     "id": "eps.tenant-key.373021989622100.ba4b71d3-7e88-407c-9a39-629333d392dd",
     "status": "SUCCESS"
   },
   {
     "position": 3,
     "id": "456,",
     "status": "FAILURE",
     "message": "The identifier slot value (456,) can contain a combination of only alpha-numeric characters, underscore (_), hyphen (-), period (.), colon (:), at sign (@)"
   },
   {
     "position": 4,
     "id": "eps.tenant-key.373021993949800.e081b389-702c-45c9-90f0-0f5b5624afbd",
     "status": "SUCCESS"
   },
   {
     "position": 5,
     "id": "789,0",
     "status": "FAILURE",
     "message": "The msg field is mandatory and cannot be empty."
   },
   {
     "position": 6,
     "id": "889,0",
     "status": "FAILURE",
     "message": "The source_identifier field is mandatory and cannot be empty."
   },
   {
     "position": 7,
     "status": "FAILURE",
     "message": "The msg and source_identifier fields are mandatory and cannot be empty."
   }
  ]
}

Unsuccessful response

Scenario: The system fails to ingest all events specified in the request.

{
 "responseTimeStamp": 1696317690345,
 "statusCode": "400",
 "statusMsg": "Bad Request",
 "results": [
   {
     "position": 1,
     "id": "123,",
     "status": "FAILURE",
     "message": "The identifier slot value (123,) can contain a combination of only alpha-numeric characters, underscore (_), hyphen (-), period (.), colon (:), at sign (@)"
   },
   {
     "position": 2,
     "id": "456,",
     "status": "FAILURE",
     "message": "The identifier slot value (456,) can contain a combination of only alpha-numeric characters, underscore (_), hyphen (-), period (.), colon (:), at sign (@)"
   }
  ]
}

Scenario: The system encounters a server error.

{
 "responseTimeStamp": 1695751358398,
 "statusCode": "500",
 "statusMsg": "Internal Server Error"
}

Back to top

PATCH /events
Update an event

You can update an event by providing slot names and values in the request payload. 

Warning

Important

  • You cannot update internal and read-only slots in the payload.
  • You cannot specify slot placeholders (%<slotName>%) in the payload.
  • If you perform bulk updates on an event and don't want to record notes for each update on the Logs and Notes tab, you can omit note generation. Simply use the skipAddNotes parameter in the endpoint URL. For more information, see Request URL.
  • By default, if only the repeat_count slot is updated in an event, the event updates are not published to the corresponding incident in BMC Helix IT Service Management.
    For any other slot updates in an event, the event updates are published to the corresponding incident in BMC Helix IT Service Management.
    To publish event updates to the corresponding incident in BMC Helix IT Service Management only on specific slot updates in an event, contact BMC Support.
  • If you are updating the status of a blackout event to Open and if you are simultaneously updating any other slot in the event, make sure that you perform both operations in a single request.
  • If you specify a slot multiple times with different values, only the latest value is updated in the event.

    For example, if you specify the severity slot values in the following order, the endpoint updates the event severity to MINOR, assuming that the original event severity is MAJOR,
    {
      "severity": "CRITICAL",
      "severity": "MINOR"
    }

  • You can update custom slots for closed events. However, you cannot update the base event class slots, read-only, or internal slots for closed events.
  • This endpoint does not update the status of autoanomaly events to Closed. Use the POST/events/operations/close endpoint to close autoanomaly events.

To be able to run this API, you need the API key, which you generate by performing the following steps:

  • Log in to the BMC Helix Operations Management console and navigate to Administration > Repository.
  • Click Copy API Key. The API key is copied to the clipboard in the following format:
    tenantid::access key::secret key
    For example: 1938340892::G5MBF27TMFL9ITLH25RLR20UM0WBFZ::OK3StB006fIGbXH2pNDgFXiKmtzsE0PLScZUfFtQKemgqWGFXA
    If you have configured a rotation interval for the API key in BMC Helix Portal, make sure that you use the latest API key each time the key rotates. For instructions about configuring a rotation interval, see Using API keys for external integrations.

  • Paste the API key in a text file and use it to run this API.
Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/<event-id>
Example URL
https://HostA.bmc.com/events-service/api/v1.0/events/eps.544054987.5787269843597304.55ba9187-e171-4890-80af-25443afd0763
Request URL with optional parameters
https://<BMC Helix Portal URL>/events-service/api/v1.0/events/<event-id>/?skipAddNotes=true
Example URL
https://HostA.bmc.com/events-service/api/v1.0/events/eps.544054987.5787269843597304.55ba9187-e171-4890-80af-25443afd0763/?skipAddNotes=true
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token> OR apiKey <tentant_API_key>

For instructions about obtaining the API JWT token, see Access and authentication for the REST API..

Parameter details

Name

Value type

Mandatory

Description

event-id

String

Yes

ID of the event that you want to update.

skipAddNotes

String

No

Set this parameter to true if you do not want to generate notes for an event update.

Default: false

Example request payload 1

{
"status": "ACK",
"msg": "updated event",
"severity": "CRITICAL"
}

This request updates existing events with the status, msg, or severity slots.

Successful response 1 (Status code 200 OK)

{
   "responseTimeStamp": 1600260444163,
   "statusCode": "200",
   "statusMsg": "OK",
   "successfullEventIds": [
       "eps.690188083.4831895306669881.c4478cfe-6319-40e2-bb4e-723515dfec2c"
    ]
}

Example request payload 2

{
 "pn_cust_severity": "CRITICAL"
}

This request updates the event with the pn_cust_severity custom slot.

Successful response 2 (Status code 200 OK)

{
 "responseTimeStamp": 1724678226924,
 "statusCode": "200",
 "statusMsg": "OK",
 "successfullEventIds": [
   "eps.946672843.9377958994611057.c07042e6-3475-42d8-a0ef-1947ba239af6"
  ]
}

Unsuccessful response

Scenario: Update a closed event

{
   "responseTimeStamp": 1600260577333,
   "statusCode": "400",
   "statusMsg": "Provided event is closed.",
   "failedEventIDs": [
       "eps.690188083.4831895306669881.c4478cfe-6319-40e2-bb4e-723515dfec2c"
    ]
}

Scenario: Update an event with a read-only or an internal slot

{
   "responseTimeStamp": 1600261101813,
   "statusCode": "400",
   "statusMsg": "Slot names: - [_repeat_count, class]Slots are not valid as they are read_only or internal or data type validation failed for provided class",
   "failedEventIDs": [
       "eps.690188083.4832293142128186.ea949c5f-7d05-4961-906e-1edb73345e05"
    ]
}

Scenario: Update a base class event slot (for example, msg) for a closed event

{
 "responseTimeStamp": 1724678647037,
 "statusCode": "400",
 "statusMsg": "Provided event is closed or blacked out.",
 "failedEventIDs": [
   "eps.946672843.5514360959575489.642e0469-1605-4564-9fe0-c25f39859ab5"
  ]
}

Back to top

PATCH /events
Update multiple events

You can update a maximum of 100 events by providing event IDs and the common event slots in the request payload. 

Warning

Important

  • This endpoint does not update closed or change event class events.
  • This endpoint does not update the status of autoanomaly events to Closed. Use the POST/events/operations/close endpoint to close autoanomaly events.
  • When you perform bulk updates on an event, but you don't want to record notes for each update on the Logs and Notes tab, you can omit note generation. Simply use the skipAddNotes parameter in the endpoint URL. For more information, see Request URL.
  • If you are updating the status of blackout events to Open and if you are simultaneously updating any other slot in the events, make sure that you perform both operations in a single request.
  • If you specify a slot multiple times with different values, only the latest value is updated in the event.

    For example, if you specify the severity slot values in the following order, the endpoint updates the event severity to MINOR, assuming that the original event severity is MAJOR,
    {
      "severity": "CRITICAL",
      "severity": "MINOR"
    }

  • You can update custom slots for closed events. However, you cannot update the base event class slots, read-only, or internal slots for closed events.
  • You can update multiple closed events of the same class. However, you cannot update multiple closed events of different classes.

To be able to run this API, you need the API key, which you generate by performing the following steps:

  • Log in to the BMC Helix Operations Management console and navigate to Administration > Repository.
  • Click Copy API Key. The API key is copied to the clipboard in the following format:
    tenantid::access key::secret key
    For example: 1938340892::G5MBF27TMFL9ITLH25RLR20UM0WBFZ::OK3StB006fIGbXH2pNDgFXiKmtzsE0PLScZUfFtQKemgqWGFXA

    Warning

    Important

    If you have configured a rotation interval for the API key in BMC Helix Portal, make sure that you use the latest API key each time the key rotates.
    For instructions about configuring a rotation interval, see Using API keys for external integrations.

  • Paste the API key in a text file and use it to run this API.
Request URL
https://<BMC Helix Portal URL>/events-service/api/v1.0/events
Example URL
https://HostA.bmc.com/events-service/api/v1.0/events
Request URL with optional parameters
https://<BMC Helix Portal URL>/events-service/api/v1.0/events?skipAddNotes=true
Example URL
https://HostA.bmc.com/events-service/api/v1.0/events?skipAddNotes=true
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token> OR apiKey <tentant_API_key>

For instructions about obtaining the API JWT token, see Access and authentication for the REST API.

Parameter details

Name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs that you want to update.

eventSlots

String

Yes

Common event slots of multiple events that you want to update.

skipAddNotes

String

No

Set this parameter to true if you do not want to generate notes for each event update.

Default: false

Example request payload 1

{
 "eventIds": [
   "eps.1123775994.2870814630948553.b138ad8e-f085-4abf-8d6d-2085a65388cd",
   "eps.1123775994.2884077673551018.2242b0d3-3890-41cc-9022-2d67d8d8be9d",
   "eps.1123775994.2708859045537636.7c090ebf-025c-4740-af6c-9f83d056ec0c",
   "eps.1123775994.2714693332255488.63c0de96-231c-46e3-b788-3fe59e19f5a2"
  ],
 "eventSlots": {
   "msg": "update from API"
 }
}

This request updates the msg slot in all the specified events.

Successful response 1 (Status code 200 OK)

{
 "status": "200",
 "succeeded": [
   "eps.1123775994.6580739306243759.9038ec9c-0dd3-4189-a8e6-f3bbc1f36aa2",
   "eps.1123775994.6580729010916862.b16693ae-6151-453e-9fef-35639b3ab0aa",
   "eps.1123775994.6580687526034185.40d0c5c4-d6e9-4057-984f-c2f79c5143b4",
   "eps.1123775994.6580701296691058.bed849d0-f84e-4553-9092-b78c9e283946",
   "eps.1123775994.6580755624840966.a4aae4c1-f378-40dd-8c23-47dab78053aa"
  ]
}

Example request payload 2

{
 "eventIds": [
   "eps.946672843.9377958994611057.c07042e6-3475-42d8-a0ef-1947ba239af6",
   "eps.946672843.5532079482526516.ab397388-4b81-43de-8630-6cb3674beb80"
  ],
 "eventSlots": {
   "pn_cust_severity": "MAJOR"
 }
}

This request updates the pn_cust_severity slot for multiple closed events of the same class.

Successful response 2 (Status code 200 OK)

{
 "status": "200",
 "succeeded": [
   "eps.946672843.9377958994611057.c07042e6-3475-42d8-a0ef-1947ba239af6",
   "eps.946672843.5532079482526516.ab397388-4b81-43de-8630-6cb3674beb80"
  ]
}

Unsuccessful response

Scenario 1: You specify events that exceed the event processing limit and are closed.

{
 "status": "207",
 "succeeded": [
   "eps.1123775994.6580701296691058.bed849d0-f84e-4553-9092-b78c9e283946",
   "eps.1123775994.6580739306243759.9038ec9c-0dd3-4189-a8e6-f3bbc1f36aa2",
   "eps.1123775994.6580729010916862.b16693ae-6151-453e-9fef-35639b3ab0aa",
   "eps.1123775994.6580687526034185.40d0c5c4-d6e9-4057-984f-c2f79c5143b4"
  ],
 "failed": [
   {
     "id": "eps.1123775994.6580755624840966.a4aae4c1-f378-40dd-8c23-47dab78053aa",
     "errorCode": "EXCEED_LIMIT",
     "message": "The event processing is skipped as the event limit exceeds the maximum limit."
   },
   {
     "id": "eps.1123775994.6724220011664631.829b9bc4-2dd5-4605-a9be-62a7602db054",
     "errorCode": "CLOSED_NOT_ALLOWED",
     "message": "The specified event is closed."
   }
  ]
}

Scenario 2: You specify invalid event slots.

{
  
"status": "400",
  
"failed": [
    {
      "id": "eps.1123775994.6580755624840966.a4aae4c1-f378-40dd-8c23-47dab78053aa",
      "errorCode": "INVALID_SLOTS",
      "message": "Invalid slots [al_alarm_id] provided in the request."
    },
    {
      "
id": "eps.1123775994.6588456016763211.1ca4f41b-8dea-4be1-9699-4d4e60337ea3",
      "
errorCode": "INVALID_SLOTS",
      "
message": "Invalid slots [al_alarm_id] provided in the request."
    
}
  
]
}

Scenario 3: You specify events that are closed and blacked out.

{
 "status": "400",
 "failed": [
   {
     "id": "eps.1123775994.6724220011664631.829b9bc4-2dd5-4605-a9be-62a7602db054",
     "errorCode": "CLOSED_NOT_ALLOWED",
     "message": "The specified event is closed."
   },
   {
     "id": "eps.1123775994.6724220011664631.829b9bc4-2dd5-4605-a9be-62a7602db055",
     "errorCode": "BLACKOUT_NOT_ALLOWED",
     "message": "The specified event is blacked out."
   }
  ]
}

Scenario 4: You specify a base event class slot (for example, msg) for multiple closed events

{
 "status": "400",
 "failed": [
   {
     "id": "eps.946672843.5514360959575489.642e0469-1605-4564-9fe0-c25f39859ab5",
     "errorCode": "CLOSED_NOT_ALLOWED_WITH_BASE_EVENT_SLOTS",
     "message": "The specified events are closed and updates to slots of the base event class are not allowed."
   },
   {
     "id": "eps.946672843.18199939650716772.95b13a94-d95f-470e-97c3-a48b63b27eee",
     "errorCode": "CLOSED_NOT_ALLOWED_WITH_BASE_EVENT_SLOTS",
     "message": "The specified events are closed and updates to slots of the base event class are not allowed."
   }
  ]
}

Scenario 5: You specify a custom slot (for example, ng_name) for multiple closed events of different classes

{
  
"status": "400",
  
"failed": [
    {
      "id": "eps.946672843.9377958994611057.c07042e6-3475-42d8-a0ef-1947ba239af6",
      "errorCode": "INVALID_SLOTS",
      "message": "Invalid slots [ng_name] provided in the request."
    },
    {
      "
id": "eps.946672843.9402250484133037.f6ff6a48-4937-451f-bfff-f5c404454be5",
      "
errorCode": "INVALID_SLOTS",
      "
message": "Invalid slots [ng_name] provided in the request."
    
}
  
]
}

Back to top

POST  /msearch

Search for events

You can use this API for event search and aggregation.

For restricted users, this endpoint searches events associated with devices or groups. The endpoint retrieves events associated only with the first 50 groups, which are sorted by group name in ascending order.

To enable the searching of events associated with groups, add groups to the authorization profiles. For more information, see Configuring authorization profiles.

The Elastic Search API DSL query language is used to search events.

For more information about the query language, see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html.

Warning

Important

  • We recommend that you specify a space after the slot value for custom slots of the String type to avoid intermittent parsing issues.
  • We recommend that you escape certain special (reserved) characters in a slot value to avoid event search issues. To learn about escaping reserved characters by using regular expressions, see Regular expression syntax for reserved characters.
    See a few examples to understand escaping special characters in the slot value.\

  • If you use a slot name with the boolean enum data type for a custom class to search events by using this endpoint, specify the boolean slot value of the custom class in uppercase letters.

    For example, use custom_slot_bool_update: FALSE instead of custom_slot_bool_update: false

Raw document query

Search events for a specific date range in the raw document format.

Request URL
https://<host_name>/events-service/api/v1.0/events/msearch
Example request URL
https://HostA.bmc.com/events-service/api/v1.0/events/msearch
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Warning

Important

Make sure that you format the request body in a single line before you send the request payload.

Example request body

Example: Search events in the raw document format
{
 "size": 500,
 "query": {
   "bool": {
     "filter": [
       {
         "query_string": {
           "analyze_wildcard": true,
           "query": "searchQuery"
         }
       }
      ]
   }
 },
 "sort": {
   "creation_time": {
     "order": "desc",
     "unmapped_type": "boolean"
   }
 },
 "script_fields": {}
}

searchQuerythat is used to specify the event search criteria can be specified by using the syntax in the following examples:

DSL simple query string examples for specifying the query parameter
"query": "source_identifier.keyword:<Host>\\:<Port>"
"query": "alias.keyword:ONBMC_ComputerSystem\\:<Host>"
"query": "p_agent_name:\"patrol agent\""
"query": "quick OR brown",
"query": "(quick OR brown) AND fox",
"query": "(quick OR brown) AND verb:jump",
"query": "_exists_:p_owner"
"query": "host.containerized:false AND al_parameter_value:foo"
"query": "_exists_:host.containerized AND _exists_:al_parameter_value"
"query": "severity_ordinal:[50 TO 70]"
"query": "al_thresh_type: USERDEFINED AND severity_ordinal: { 30 TO 50 ]"
"query": "user_assigned: admin AND severity_ordinal: [ 30 TO 50 ]"
"query": "slot_with_special_chars: \"foo$bar@bmc.com\" AND longslot: { 14 TO 16 }"
"query": "slot_with_special_chars: \"foobar.bmc.com\" AND longslot: [ 16 TO 19 ]"
"query": "slot_with_special_chars: \"foobar.bmc.com\" AND longslot: [ 16 TO 19 }"
"query": "slot_with_special_chars: \"foobar.bmc.com\" AND longslot: { 16 TO 18 ]"
"query": "slot_with_special_chars: \"foobar.bmc.com\" AND longslot: { 17 TO 19 }"
"query": "qu?ck bro*",
"query": "severity_ordinal:(>=50 AND <=70)"
"query": "quikc~ brwn~ foks~",
"query": "\"fox quick\"~5",
"query": "+fox -brown -red",
"query": "order.keyword:{ord-1 TO ord-3}"
"query": "al_parameter_name: Capacity AND NOT (severity: MAJOR, severity: CRITICAL)"
"query": "al_parameter_name: Capacity AND NOT (severity: MAJOR, severity: CRITICAL, severity: INFO)"
"query": "al_parameter_name: Capacity OR NOT (object_class: NUK_FileSystem, object_class: pa-rep-lnx04, alert_class: pa-rep-lnx03)"
Example: Search events for a specific date range in the raw document format
Request body
{
 "size": 500,
 "query": {
   "bool": {
     "filter": [
       {
         "range": {
           "creation_time": {
             "gte": 1603860684000,
             "lte": 1603864284000,
             "format": "epoch_millis"
           }
         }
       },
       {
         "query_string": {
           "analyze_wildcard": true,
           "query": "status:OPEN"
         }
       }
      ]
   }
 },
 "sort": {
   "creation_time": {
     "order": "desc",
     "unmapped_type": "boolean"
   }
 },
 "script_fields": {}
}
Example: Search open events that have the severity as critical or major in the raw document format
{
 "size": 500,
 "query": {
   "bool": {
     "filter": [
       {
         "query_string": {
           "analyze_wildcard": true,
           "query": "(severity:CRITICAL OR severity:MAJOR) AND (status:OPEN)"
         }
       }
      ]
   }
 },
 "sort": {
   "creation_time": {
     "order": "desc",
     "unmapped_type": "boolean"
   }
 },
 "script_fields": {}
}
Examples: Escape special characters in the search query
Example 1
{
 "size": 1500,
 "query": {
   "regexp": {
     "msg.keyword": ".*msearch_special - device1-health free_memory \\> 90 \\# for 0 min..*"
    }
  }
}

In Example 1, the reserved characters > and # are escaped by two backslashes.

Example 2
{
 "size": 1500,
 "query": {
   "regexp": {
     "msg.keyword": ".*msearch_special_2 YC Test Fingerprint - 'CPU Utilization \\\"Delhi\\\" greater than 80\\% for 10 min.*"
    }
  }
}

In Example 2, the reserved character " is escaped by three backslashes and % is escaped by two backslashes.

Example 3
{
 "size": 1500,
 "query": {
   "regexp": {
     "msg.keyword": ".*msearch_special_3 YC Test Fingerprint - 'CPU Utilization \\\"Delhi\\\" greater than 80\\# for 10 min..*"
    }
  }
}

In Example 3, the reserved character " is escaped by three backslashes and # is escaped by two backslashes.

Successful response

Status code 200 OK

{
   "took": 19,
   "status": 200,
   "responses": [
        {
           "took": 18,
           "timed_out": false,
           "_shards": {
               "total": 10,
               "successful": 10,
               "skipped": 7,
               "failed": 0
            },
           "hits": {
               "total": {
                   "value": 80,
                   "relation": "eq"
                },
               "max_score": null,
               "hits": [
                    {
                       "_score": null,
                       "_source": {
                           "msg": "9cd6e9f9c33fc4a",
                           "creation_time": 1603862648418,
                           "_tenant_id": "1846876061",
                           "severity_ordinal": 60,
                           "sub_category": "OTHER",
                           "modelname": "",
                           "source_identifier": "9cd6e9f9c33fc4a.clm-pun-t8x5kf.bmc.com@3181.1603862648418.9726262116",
                           "_tenant_name": "",
                           "_errors": "[]",
                           "incident_id": "",
                           "_operations": "[]",
                           "incident_company": "",
                           "_ci_id": "",
                           "source_port": 3181,
                           "source_address": "10.10.10.10",
                           "alias": [
                               "BMC_ComputerSystem:clm-pun-t8x5kf.bmc.com"...
...
"status": "OPEN",
                           "al_extremeness": 0,
                           "al_parameter_threshold": "",
                           "al_baseline_hourly_low": "",
                           "al_thresh_above_ordinal": 20,
                           "al_thresh_above": null,
                           "al_pts_exceeded": 0,
                           "incident_item": "",
                           "al_event_score": 0.0,
                           "object": "clm-pun-t8x5kf.bmc.com",
                           "al_end_time": 1603862534075,
                           "al_predict_to_occur_time": 1603862534075,
                           "al_agent_port": "",
                           "al_thresh_id": "4449542027",
                           "incident_operational_category1": "",
                           "cross_launch_uri": "",
                           "al_avg_value": "",
                           "incident_operational_category2": "",
                           "object_class": "",
                           "al_is_predicted_ordinal": 10,
                           "al_is_predicted": null,
                           "al_agent_name": "",
                           "al_parameter_name": "zPTZ9GkwwB",
                           "incident_operational_category3": "",
                           "al_baseline_weekly_low": "",
                           "al_thresh_duration": 1,
                           "al_agent_os": "",
                           "al_baseline_daily_high": "",
                           "al_baseline_weekly_high": "",
                           "al_prediction_severity": "CRITICAL",
                           "incident_type": "",
                           "al_parameter_unit": "MB",
                           "al_last_time": "0",
                           "al_alarm_id": "4718821724",
                           "al_baseline_hourly_high": "",
                           "al_thresh_type": "Custom",
                           "object_id": "",
                           "al_pts_total": 0,
                           "al_highest_severity_ordinal": 40,
                           "al_highest_severity": "WARNING",
                           "al_old_severity_ordinal": 40,
                           "al_old_severity": "WARNING",
                           "al_parameter_value": "79",
                           "al_baseline_daily_low": "",
                           "incident_category": "",
                           "al_device_ipaddress": "",
                           "al_baseline_type_ordinal": 10,
                           "al_baseline_type": "HOURLY"
                        },
                       "sort": [
                           1603862534075
                        ]
                    }
                ]
            },
           "status": 200
        }
    ]
}

In this response, the event search query is: status:OPEN

All events with the status OPEN event are searched and the response is in the raw document format.

Aggregation query

Perform event search and aggregation on a specific time range.

Request URL
https://<host_name>/events-service/api/v1.0/events/msearch
Example request URL
https://HostA.bmc.com/events-service/api/v1.0/events/msearch
Request body
{
 "size": 0,
 "query": {
   "bool": {
     "filter": [
       {
         "range": {
           "creation_time": {
             "gte": 1603860684000,
             "lte": 1603864284000,
             "format": "epoch_millis"
           }
         }
       },
       {
         "query_string": {
           "analyze_wildcard": true,
           "query": "status:OPEN"
         }
       }
      ]
   }
 },
 "aggs": {
   "2": {
     "date_histogram": {
       "interval": "15m",
       "field": "creation_time",
       "min_doc_count": 0,
       "extended_bounds": {
         "min": 1603860684000,
         "max": 1603864284000
       },
       "format": "epoch_millis"
     },
     "aggs": {}
   }
 }
}

Successful response

Status code 200 OK

{
   "took": 5,
   "status": 200,
   "responses": [
       {
           "took": 4,
           "timed_out": false,
           "_shards": {
               "total": 10,
               "successful": 10,
               "skipped": 0,
               "failed": 0
           },
           "hits": {
               "total": {
                   "value": 80,
                   "relation": "eq"
               },
               "max_score": null,
               "hits": []
           },
           "aggregations": {
               "date_histogram#2": {
                   "buckets": [
                       {
                           "key_as_string": "1603860300000",
                           "key": 1603860300000,
                           "doc_count": 0
                       },
                       {
                           "key_as_string": "1603861200000",
                           "key": 1603861200000,
                           "doc_count": 0
                       },
                       {
                           "key_as_string": "1603862100000",
                           "key": 1603862100000,
                           "doc_count": 80
                       },
                       {
                           "key_as_string": "1603863000000",
                           "key": 1603863000000,
                           "doc_count": 0
                       },
                       {
                           "key_as_string": "1603863900000",
                           "key": 1603863900000,
                           "doc_count": 0
                       }
                    ]
               }
           },
           "status": 200
       }
    ]
}

In this response, the event search query is: status:OPEN

All events with the status OPEN event are searched and the response is in the aggregate format.

Group By query

Perform event search and aggregation on a specific time range.

Request URL
https://<host_name>/events-service/api/v1.0/events/msearch
Example request URL
https://HostA.bmc.com/events-service/api/v1.0/events/msearch
Request body
{
 "size": 0,
 "query": {
   "bool": {
     "filter": [
       {
         "range": {
           "creation_time": {
             "gte": 1603860684000,
             "lte": 1603864284000,
             "format": "epoch_millis"
           }
         }
       },
       {
         "query_string": {
           "analyze_wildcard": true,
           "query": "*"
         }
       }
      ]
   }
 },
 "aggs": {
   "3": {
     "terms": {
       "field": "severity",
       "size": 10,
       "order": {
         "_key": "desc"
       },
       "min_doc_count": 1
     },
     "aggs": {
       "2": {
         "date_histogram": {
           "interval": "5m",
           "field": "creation_time",
           "min_doc_count": 0,
           "extended_bounds": {
             "min": 1603860684000,
             "max": 1603864284000
           },
           "format": "epoch_millis"
         },
         "aggs": {}
       }
     }
   }
 }
}

Successful response

Status code 200 OK

{
   "took": 9,
   "status": 200,
   "responses": [
       {
           "took": 8,
           "timed_out": false,
           "_shards": {
               "total": 10,
               "successful": 10,
               "skipped": 0,
               "failed": 0
           },
           "hits": {
               "total": {
                   "value": 190,
                   "relation": "eq"
               },
               "max_score": null,
               "hits": []
           },
           "aggregations": {
               "sterms#3": {
                   "doc_count_error_upper_bound": 0,
                   "sum_other_doc_count": 0,
                   "buckets": [
                       {
                           "key": "WARNING",
                           "doc_count": 65,
                           "date_histogram#2": {
                               "buckets": [
                                   {
                                       "key_as_string": "1603860600000",
                                       "key": 1603860600000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603860900000",
                                       "key": 1603860900000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861200000",
                                       "key": 1603861200000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861500000",
                                       "key": 1603861500000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861800000",
                                       "key": 1603861800000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603862100000",
                                       "key": 1603862100000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603862400000",
                                       "key": 1603862400000,
                                       "doc_count": 16
                                   },
                                   {
                                       "key_as_string": "1603862700000",
                                       "key": 1603862700000,
                                       "doc_count": 49
                                   },
                                   {
                                       "key_as_string": "1603863000000",
                                       "key": 1603863000000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863300000",
                                       "key": 1603863300000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863600000",
                                       "key": 1603863600000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863900000",
                                       "key": 1603863900000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603864200000",
                                       "key": 1603864200000,
                                       "doc_count": 0
                                   }
                                ]
                           }
                       },
                       {
                           "key": "MINOR",
                           "doc_count": 25,
                           "date_histogram#2": {
                               "buckets": [
                                   {
                                       "key_as_string": "1603860600000",
                                       "key": 1603860600000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603860900000",
                                       "key": 1603860900000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861200000",
                                       "key": 1603861200000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861500000",
                                       "key": 1603861500000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861800000",
                                       "key": 1603861800000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603862100000",
                                       "key": 1603862100000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603862400000",
                                       "key": 1603862400000,
                                       "doc_count": 25
                                   },
                                   {
                                       "key_as_string": "1603862700000",
                                       "key": 1603862700000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863000000",
                                       "key": 1603863000000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863300000",
                                       "key": 1603863300000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863600000",
                                       "key": 1603863600000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863900000",
                                       "key": 1603863900000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603864200000",
                                       "key": 1603864200000,
                                       "doc_count": 0
                                   }
                                ]
                           }
                       },
                       {
                           "key": "MAJOR",
                           "doc_count": 65,
                           "date_histogram#2": {
                               "buckets": [
                                   {
                                       "key_as_string": "1603860600000",
                                       "key": 1603860600000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603860900000",
                                       "key": 1603860900000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861200000",
                                       "key": 1603861200000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861500000",
                                       "key": 1603861500000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861800000",
                                       "key": 1603861800000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603862100000",
                                       "key": 1603862100000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603862400000",
                                       "key": 1603862400000,
                                       "doc_count": 65
                                   },
                                   {
                                       "key_as_string": "1603862700000",
                                       "key": 1603862700000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863000000",
                                       "key": 1603863000000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863300000",
                                       "key": 1603863300000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863600000",
                                       "key": 1603863600000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863900000",
                                       "key": 1603863900000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603864200000",
                                       "key": 1603864200000,
                                       "doc_count": 0
                                   }
                                ]
                           }
                       },
                       {
                           "key": "CRITICAL",
                           "doc_count": 35,
                           "date_histogram#2": {
                               "buckets": [
                                   {
                                       "key_as_string": "1603860600000",
                                       "key": 1603860600000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603860900000",
                                       "key": 1603860900000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861200000",
                                       "key": 1603861200000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861500000",
                                       "key": 1603861500000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603861800000",
                                       "key": 1603861800000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603862100000",
                                       "key": 1603862100000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603862400000",
                                       "key": 1603862400000,
                                       "doc_count": 35
                                   },
                                   {
                                       "key_as_string": "1603862700000",
                                       "key": 1603862700000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863000000",
                                       "key": 1603863000000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863300000",
                                       "key": 1603863300000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863600000",
                                       "key": 1603863600000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603863900000",
                                       "key": 1603863900000,
                                       "doc_count": 0
                                   },
                                   {
                                       "key_as_string": "1603864200000",
                                       "key": 1603864200000,
                                       "doc_count": 0
                                   }
                                ]
                           }
                       }
                    ]
               }
           },
           "status": 200
       }
    ]
}

In this response, the event search query is * and the terms field is severity.

All events are searched and the response is in the group format with severity.

Terms query

Perform event search and aggregation on source_hostname.

Request URL
https://<host_name>/events-service/api/v1.0/events/msearch
Example request URL
https://HostA.bmc.com/events-service/api/v1.0/events/msearch
Request body
{
 "size": 0,
 "query": {
   "bool": {
     "filter": [
       {
         "range": {
           "creation_time": {
             "gte": 1603860684000,
             "lte": 1603864284000,
             "format": "epoch_millis"
           }
         }
       },
       {
         "query_string": {
           "analyze_wildcard": true,
           "query": "*"
         }
       }
      ]
   }
 },
 "aggs": {
   "2": {
     "terms": {
       "field": "source_hostname.keyword",
       "size": 10,
       "order": {
         "_key": "desc"
       },
       "min_doc_count": 1
     },
     "aggs": {}
   }
 }
}

Successful response

Status code 200 OK

{
   "took": 5,
   "status": 200,
   "responses": [
       {
           "took": 4,
           "timed_out": false,
           "_shards": {
               "total": 10,
               "successful": 10,
               "skipped": 0,
               "failed": 0
           },
           "hits": {
               "total": {
                   "value": 190,
                   "relation": "eq"
               },
               "max_score": null,
               "hits": []
           },
           "aggregations": {
               "sterms#2": {
                   "doc_count_error_upper_bound": 0,
                   "sum_other_doc_count": 0,
                   "buckets": [
                       {
                           "key": "clm-pun-t8x5kf.bmc.com",
                           "doc_count": 175
                       },
                       {
                           "key": "clm-pun-52612",
                           "doc_count": 5
                       },
                       {
                           "key": "clm-pun-526",
                           "doc_count": 5
                       },
                       {
                           "key": "clm-pun-458",
                           "doc_count": 5
                       }
                    ]
               }
           },
           "status": 200
       }
    ]
}

In this response, the event search query is * and the terms field is source_hostname.keyword.

All events are searched and the response is in the group format with source_hostname.keyword.

Back to top

GET  /mapping
Obtain the event classes schema mapping as per the ES structure

You can obtain the event classes schema mapping as per the Elastic Search structure.

Request URL
https://<host_name>/events-service/api/v1.0/events/mapping
Example request URL
https://HostA.bmc.com/events-service/api/v1.0/events/mapping
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Request body
None

Successful response

Status code 200 OK

{
   "event-0_r0": {
       "mappings": {
           "properties": {
               "_arrival_time": {
                   "type": "date"
               },
               "_modified_time": {
                   "type": "date"
               },
               "al_agent_name": {
                   "type": "text",
                   "fields": {
                       "keyword": {
                           "ignore_above": 256,
                           "type": "keyword"
                       }
                   }
               },
               "al_agent_os": {
                   "type": "text",
                   "fields": {
                       "keyword": {
                           "ignore_above": 256,
                           "type": "keyword"
                       }
                   }...
...
"Temp10": {
                   "type": "text",
                   "fields": {
                       "keyword": {
                           "ignore_above": 256,
                           "type": "keyword"
                       }
                   }
               },
               "user_assigned": {
                   "type": "keyword",
                   "fields": {
                       "ignore_case": {
                           "type": "keyword",
                           "normalizer": "lc_norm"
                       }
                   }
               }
           }
       }
   }
}

In this response, eps.690188083.4831460694718336.c99a2ffe-c6c9-4871-bfb0-af2639507577 is the event ID.

Back to top

Event operations

You can perform the following event operations by running APIs on a maximum of 500 (default limit) events.

Success

Tip

When events arrive in BMC Helix Operations Management, the create API immediately returns the response with the event identifier. It can take the system a few milliseconds to process the event and make it available for further operations. We recommend that you wait for one second before you perform any event operation.

POST  /events/operations/assign
Assign events
Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/operations/assign
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/assign
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs to assign to a user.

We recommend a limit of 1500 event IDs.

slots

String

Yes

List of event slots to update while assigning the events:

  • assigned_userName of the user to whom you want to assign the events.

    Important: This API doesn't validate the user name to whom you assign the events. Ensure that you provide a valid username.

  • (Optional) notesA note for the current operation.

Request body

{
 "eventIds": [
   "eventId1", "eventId2", "eventIdn"
  ],
 "slots": {
   "assigned_user": "user_name",
   "notes": "add a note to the current operation"
 }
}

Example request body

{
 "eventIds": [
   "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
  ],
 "slots": {
   "assigned_user": "Mark",
   "notes": "assign this event to Mark"
 }
}

Successful response

{
 "responseTimeStamp": 1620793458647,
 "statusCode": "200",
 "statusMsg": "OK",
 "response": true,
 "passedIds": [
   "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
  ]
}

Unsuccessful responses

Scenario : Mandatory event slot is missing

{
   "responseTimeStamp": 1620823213851,
   "statusCode": "400",
   "statusMsg": "Missing mandatory event slot 'assigned_user' for operation : [AssignTo]",
   "failedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}
POST /events/operations/close
Close events
Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/operations/close
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/close
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs with which you close the events.

We recommend a limit of 1500 event IDs.

slots

String

No

Includes the notes parameter that you can specify for closing the events.

Request body

{
 "eventIds": [
   "eventId1", "eventId2", "eventIdn"
  ],
 "slots": {
   "notes": "add a note to the current operation"
 }
}

Example request body

{
 "eventIds": [
   "eps.1311824585.14845808440222688.338b4c04-78b7-4289-85cc-4beec7056e1e"
  ],
 "slots": {
   "notes": "closing this event"
 }
}

Successful response

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": true,
   "passedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}

Unsuccessful responses

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": false,
   "failedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}
POST /events/operations/setPriority
Set priority for events
Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/operations/setPriority
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/setPriority
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs that you assign a priority level.

We recommend a limit of 1500 event IDs.

slots

String

Yes

List of event slots to update while setting priorities for the events.

  • priority
    Assign a priority level for the events.

    Possible values:

    • PRIORITY_5(lowest priority)
    • PRIORITY_4
    • PRIORITY_3
    • PRIORITY_2
    • PRIORITY_1(highest priority) 
  • (Optional) notesA note for the current operation.

Request body

{
 "eventIds": [
   "eventId1", "eventId2", "eventIdn"
  ],
 "slots": {
   "priority": "PRIORITY_4",
   "notes": "add a note to the current operation"
 }
}

Example request body

{
 "eventIds": [
   "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
  ],
 "slots": {
   "priority": "PRIORITY_4",
   "notes": "change event priority"
 }
}

Successful response

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": true,
   "passedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}

Unsuccessful responses

Scenario: Mandatory event slot is missing

{
   "responseTimeStamp": 1620823213851,
   "statusCode": "400",
   "statusMsg": "Missing mandatory event slot 'priority' for operation : [SetPriority]",
   "failedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}
POST /events/operations/takeOwnership
Take ownership of events
Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/operations/takeOwnership
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/takeOwnership
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs for which you take ownership.

We recommend a limit of 1500 event IDs.

slots

String

No

Includes the notes parameter that you can specify for the current operation.

Request body

{
 "eventIds": [
   "eventId1", "eventId2", "eventIdn"
  ],
 "slots": {
   "notes": "add a note to the current operation"
 }
}

Example request body

{
 "eventIds": [
   "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
  ],
 "slots": {
   "notes": "Take Ownership"
 }
}

Successful response

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": true,
   "passedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}

Unsuccessful responses

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": false,
   "failedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}
POST /events/operations/declineOwnership
Decline ownership of events
Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/operations/declineOwnership
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/declineOwnership
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs for which you decline ownership.
This operation changes the event status to Acknowledged.

We recommend a limit of 1500 event IDs.

slots

String

No

Includes the notes parameter that you can specify for the current operation.

Request body

{
 "eventIds": [
   "eventId1", "eventId2", "eventIdn"
  ],
 "slots": {
   "notes": "add a note to the current operation"
 }
}

Example request body

{
 "eventIds": [
   "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
  ],
 "slots": {
   "notes": "decline ownership"
 }
}

Successful response

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": true,
   "passedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}

Unsuccessful responses

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": false,
   "failedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}
POST /events/operations/addNote
Add a note to events
Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/operations/addNote
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/addNote
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs for which you add a note.

We recommend a limit of 1500 event IDs.

slots

String

Yes

Includes the notes parameter that you have to specify while adding a note to the events.

Request body

{
 "eventIds": [
   "eventId1", "eventId2", "eventIdn"
  ],
 "slots": {
   "notes": "add a note to the current operation"
 }
}

Example request body

{
 "eventIds": [
   "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
  ],
 "slots": {
   "notes": "adding a respective note to events"
 }
}

Successful response

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": true,
   "passedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}

Unsuccessful responses

Scenario: Mandatory event slot is missing

{
   "responseTimeStamp": 1620823213851,
   "statusCode": "400",
   "statusMsg": "Missing mandatory event slot 'notes' for operation : [addNote]",
   "failedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}
POST /events/operations/acknowledge
Acknowledge events
Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/operations/acknowledge
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/acknowledge
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs that you acknowledge.

This operation changes the event status from Open to Acknowledged.

We recommend a limit of 1500 event IDs.

slots

String

No

Includes the notes parameter that you can specify while acknowledging the events.

Request body

{
 "eventIds": [
   "eventId1", "eventId2", "eventIdn"
  ],
 "slots": {
   "notes": "add a note to the current operation"
 }
}

Example request body

{
 "eventIds": [
   "ff181c33-0567-47de-b0ae-ea6125f48d38"
  ],
 "slots": {
   "notes": "acknowledging the events"
 }
}

Successful response

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": true,
   "passedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}

Unsuccessful responses

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": false,
   "failedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}
POST /events/operations/unacknowledge
Unacknowledge an event
Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/operations/unacknowledge
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/unacknowledge
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs of previously acknowledged events that you want to change to the Open state.

We recommend a limit of 1500 event IDs.

slots

String

No

Includes the notes parameter that you can specify for the current operation.

Request body

{
 "eventIds": [
   "eventId1", "eventId2", "eventIdn"
  ],
 "slots": {
   "notes": "add a note to the current operation"
 }
}

Example request body

{
 "eventIds": [
   "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
  ],
 "slots": {
   "notes": "unacknowledging the events"
 }
}

Successful response

{
   "responseTimeStamp": 1620793458647,
   "statusCode": "200",
   "statusMsg": "OK",
   "response": true,
   "passedIds": [
       "eps.283198267.12868788805515522.edeb077e-cdc7-4908-9223-94f6c869882d"
    ]
}

Unsuccessful responses

Scenario: Missing object properties

[
   {
       "key": "validation.schema.required",
       "level": "ERROR",
       "message": "Object has missing required properties ([\"eventIds\"])",
       "additionalInfo": []
   }
]
POST /events/operations/incident
Create an incident for events
Request URL
 https://<BMC Helix Portal URL>/events-service/api/v1.0/events/operations/incident
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/incident
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions about obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Mandatory

Description

eventIds

String

Yes

Comma-separated list of event IDs for which you want to create an incident.

Request body

{
 "eventIds": [
   "eventId1",
   "eventId2",
   "eventIdn"
  ]
}

Example request body

{
 "eventIds": [
   "eps.1220296999.32042773063967749.8953ee55-b393-4314-8964-4b851dabc7d6"
  ]
}

Successful response

{
 "responseTimeStamp": 1641469008322,
 "statusCode": "200",
 "statusMsg": "OK",
 "response": true,
 "passedIds": [
   "eps.1220296999.34995522708619637.5ba9b5af-1c74-42c7-91f6-9815a722fe28"
  ]
}

Unsuccessful responses

Scenario 1: Incident creation is not enabled for a tenant

[
  {
   "key": "500",
   "level": "ERROR",
   "message": "Manual Incident Creation feature is not enabled for tenant 1003829062",
   "additionalInfo": null
  }
]

Scenario 2: BMC Helix ITSM integration is not available

[
 {
   "key": "500",
   "level": "ERROR",
   "message": "Integration with ITSM is not available. Contact Administrator.",
   "additionalInfo": null
 }
]
POST /events/operations/delete
Delete events
Warning

Important

  • Only the administrator can use this API to delete closed events.
  • This API does not delete events that have a status other than Closed. It only submits a request to delete an event and does not return the result of event deletion.
  • If you delete closed events, it might result in an event count mismatch for closed events on the Group Details page. However, the system auto-corrects this mismatch within an hour.
  • This API cannot delete closed autoanomaly events.
Request URL
https://<tenant-url>/events-service/api/v1.0/events/operations/delete
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/operations/delete
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions on obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

Parameter name

Value type

Located In

Mandatory

Description

eventIds

String

Body

Yes

Comma-separated list of event IDs for events that are closed.

Request body

{
 "eventIds": [
   "String"
  ]
}

Example request body

{
 "eventIds": [
   "eps.222799795.31352921754574826.0deffff8-f1ae-4e79-ab73-adae35cdb3f2",
   "eps.222799795.31352956067121499.143c98be-9c96-4518-9579-70203df4b9db",
   "eps.222799795.31353102395663813.4d53a1ca-5cd8-44e1-9468-0995d6836933"
  ]
}

Successful response

{
 "responseTimeStamp": 1660121429273,
 "statusCode": "202",
 "statusMsg": "Accepted",
 "response": true,
 "passedIds": [
   "eps.222799795.31352921754574826.0deffff8-f1ae-4e79-ab73-adae35cdb3f2",
   "eps.222799795.31352956067121499.143c98be-9c96-4518-9579-70203df4b9db",
   "eps.222799795.31353102395663813.4d53a1ca-5cd8-44e1-9468-0995d6836933"
  ],
 "failedIds": []
}

Unsuccessful responses

Scenario 1: You attempt to delete an event on a tenant for which the feature is not enabled.

[
  {
   "key": "500",
   "level": "ERROR",
   "message": "Delete event feature is not enabled for tenant 1980396036",
   "additionalInfo": null
  }
]

Scenario 2: You specify events that exceed the maximum event limit of 500.

[
 {
   "key": "400",
   "level": "ERROR",
   "message": "Events present in the body are exceeding maximum allowed limit of 500.",
   "additionalInfo": null
 }
]

POST/events/fromEmailAddressConfig

Customize the sender address in event notifications​​​​

You must be an administrator to run this endpoint.

Configure BMC Helix Operations Management to send notification emails from a customized email address.

Request URL
https://<tenant-URL>/events-service/api/v1.0/events/configuration/fromEmailAddressConfig
Example request URL
 https://HostA.bmc.com/events-service/api/v1.0/events/configuration/fromEmailAddressConfig
Request Header
Content-Type: application/json
Authorization: Bearer <JWT_token>

For instructions on obtaining the JWT token, see Access and authentication for the REST API..

Parameter details

No parameters

Request body

{

   "fromEmailID":"<abc>@<xyz>.com"

}

To reset to the default sender address, use null in the request body or keep the request body blank.​​​​​

Example request body

{

    
"fromEmailID":"jane_doe@bmc.com"

}

Example request body to reset to the default sender address

Request body with the null value:

{

   "fromEmailID": null

}

Request body with a blank value:

{

   "fromEmailID":""

}

Successful response

Status code - 200 OK

Status Message:

{

   "message": "Added successfully"

}

Unsuccessful responses

Status code - 400 Bad Request

Status Message:

[

   {

       "key": "400",

       "level": "ERROR",

       "message": "Invalid email format"

   }

]

 

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

BMC Helix Operations Management 25.4