November 23, 2017
Get the unplanned events.

Important manual pages:

Author: SoftLayer Technologies, Inc. <>

import SoftLayer.API
import json
import datetime

USERNAME = 'set me'
API_KEY = 'set me'

# Gets the current date.
now =
now = now.strftime("%m/%d/%Y")

# Declares the API services.
client = SoftLayer.create_client_from_env(username=USERNAME, api_key=API_KEY)
notificationEventService = client['SoftLayer_Notification_Occurrence_Event']
accountService = client['SoftLayer_Account']

# Declares a object mask to get more information about the events.
objectMask = "mask[updateCount,statusCode,notificationOccurrenceEventType[keyName],impactedUsers[user[id],acknowledgedFlag]]"

# Gets the master user to use his id in the filter.
    masterUser = accountService.getMasterUser()
except SoftLayer.SoftLayerAPIError as e:
    print("Unable to retrieve the master user. " % (e.faultCode, e.faultString))

# Declares a object filter to get the unplanned events whose status is active, the impacted user is this account and the end date of the event is greater than today.
objectFilter = {"endDate" : {"operation" : "greaterThanDate", "options":  [{"name": "date","value": [now]}]} ,"impactedUsers" : {"usrRecordId" : {"operation" : masterUser["id"]}},"notificationOccurrenceEventType" : {"keyName" : {"operation" : "UNPLANNED_INCIDENT"}},"statusCode": {"keyName" : {"operation": "in","options":[{"name": "data", "value": ["ACTIVE"]}]}}}

    events = notificationEventService.getAllObjects(mask=objectMask, filter=objectFilter)
    print(json.dumps(events, sort_keys=True, indent=2, separators=(',', ': ')))
except SoftLayer.SoftLayerAPIError as e:
    print("Unable to retrieve the events. " % (e.faultCode, e.faultString))