Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Outages API - V2

If you have a maintenance window or a scheduled outage for a device then you will likely want to suspend alerting for that device during that period.

...

Request Method

Operation

URL Example

id required

Notes

GETread list /server/omk/admin/v3v2/outagesnReturns a list of Outages.
GETread one /server/omk/admin/v3v2/outages/idyReturns the details of one Outage .
POSTcreate one/server/omk/admin/v3v2/outagesnCreate an Outage for given node or element
PUTupdate one/server/omk/admin/v3v2/outages/yEdit an already existing outage data
DELETEdelete one/server/omk/admin/v3v2/outages/idyDelete an existing outage

...

All these methods require authentication.

POST http://server/en/omk/admin/login

Form data:

  • username
  • password



GET of /

...

v2/outages for List

GET http[s]://server/en/omk/admin/api/v3v2/outages

If your GET call provides an Accept header indicating JSON, or if you use a .json suffix, eg /v3v2/outages.json as URI, then It will look for matching Outages and return their properties in the form of a JSON object, an array of Outages.

...

HTTP Status

Body

Description

401 UnauthorizedJSON object with an error propertyYou are not authenticated.
403 ForbiddenJSON object with an error propertyYou are not authorized.

GET http://server/en/omk/admin/api/v3v2/outages

Returns a list of outages.

...

Code Block
[
    {
        "change_id": "ticket #1234",
        "current": "current",
        "description": "Emergency outage",
        "element": [
            {
                "element_name": "Vlan2",
                "node_name": "Switch-1"
            },
            {
                "element_name": "regex:^Vlan.*?$",
                "node_name": "Switch-2"
            }
        ],
        "end": 1684156863,
        "frequency": "once",
        "id": "0ea7644e-b6fa-4fa2-9b33-a86b79db21a4",
        "nodes": {
            "name": [
                "Switch-2",
                "Switch-1"
            ]
        },
        "options": {},
        "start": 1683811263
    },
    {
        "change_id": "Outage_123_AT_OPTESTS",
        "current": null,
        "description": "Emergency outage",
        "end": 1683825925,
        "frequency": "once",
        "id": "ea7a3a94-f056-432f-91c5-9f39eee7c706",
        "nodes": {
            "name": [
                "asgard",
                "apc-ups"
            ]
        },
        "options": {},
        "start": 1646918463
    }
]

GET of /

...

v2/outages/<id> for Read

If your GET call provides an accept header indicating application/json or if you use /en/omk/admin/api/v3v2/outages/<id>.json as URI, then the Outage will be looked up and all properties will be returned in the form of a JSON object.

...

GET http://server/en/omk/admin/api/v3v2/outages/#ID

Ex. http://server/en/omk/admin/api/v3v2/outages/0ea7644e-b6fa-4fa2-9b33-a86b79db21a4

Returns an outage.

Response:

Code Block
{
    "change_id": "ticket #1234",
    "current": "current",
    "description": "Emergency outage",
    "element": [
        {
            "element_name": "Vlan2",
            "node_name": "Switch-1"
        },
        {
            "element_name": "regex:^Vlan.*?$",
            "node_name": "Switch-2"
        }
    ],
    "end": 1684156863,
    "frequency": "once",
    "id": "0ea7644e-b6fa-4fa2-9b33-a86b79db21a4",
    "nodes": {},
    "options": {},
    "start": 1683811263
}


POST of /

...

v2/outages/ for Create

Create an Outage by sending a pay-load JSON object and this will create an Outage on your system and send an appropriate response.

...

HTTP Status

Body

Description

400 Bad RequestJSON object with an error propertyThe error property contains an explanation of what went wrong
with your request, e.g. if your payload is of wrong format to create an  Outage.
401 UnauthorizedJSON object with an error propertyYou are not authenticated.
404 Not FoundJSON object with an error propertyYou are authenticated but not authorised to create an Outage.



Create Outage
POST  http://server/en/omk/admin/api/

...

v2/outages

Returns 201 if the outage was successfully created.

...

Code Block
{
    "id": "0ea7644e-b6fa-4fa2-9b33-a86b79db21a4",
    "success": 1
}

PUT of /

...

v2/outages/<id> for Update

Create an Outage by sending a pay-load JSON object and this will create an Outage on your system and receive an appropriate response.

...

PUT http://server/en/omk/admin/api/v3v2/outages/#ID

Returns 200 if the outage was successfully updated.

...

Code Block
{
    "id": "0ea7644e-b6fa-4fa2-9b33-a86b79db21a4",
    "success": 1
}

Delete of /

...

v2/outages/<id> for Create

Create an Outage by sending a pay-load JSON object and This will create an Outage on your system and receive an appropriate response.

...

DELETE http://server/en/omk/admin/api/v3v2/outages/0ea7644e-b6fa-4fa2-9b33-a86b79db21a4

Returns 200 if the outage was successfully removed.

...

Property

Description

Example

id

A globally unique Outage ID

0ea7644e-b6fa-4fa2-9b33-a86b79db21a4
change_id

Insert any reference number if required in the change id field

ticket #12345
currentIf the outage is current or scheduled/future outage. IS THIS 'currrent' for scheduled or null for future.current
descriptionLong description of an OutageThis is a test outage
frequencyone of 'once', 'daily', 'weekly' or 'monthly'once



start

date and time of outage start. See XYZ for description of allowed values.


 2023-10-31T03:00:00+0000
enddate and time of outage end. See XYZ for description of allowed values. 2023-10-31T03:30:00+0000



nodesList of nodes for which Outages is defined. IS THIS MANDATORY?[ 'Switch-1','Switch-2' ]
element

List of elements from nodes for which Outages are defined.

IS THIS MANDATORY?

DOCUMENT REGEX OR SEE LINK

CAN I DO NODE REGEX?

 [ {

  "element_name": "Vlan2",
  "node_name": "Switch-1"
}, {

   "element_name": "regex:^Vlan.*?$",
   "node_name": "Switch-2"
} ]

options

optional key=values to adjust NMIS behaviour during an outage 

DOCUMENT THE KEYS AND VALUES

"Normal"



...

Code Block
  http[s]://server/omk/admin/v3v2/outages