Create a Notification Profile
POST/api/cloud/2.0/agg/notifications/profiles
Overview
Create a new notification profile by providing the profile name and the inputs & outputs used by the profile
The inputs are:
- Impacted tenants, notification type, notification categories & sub-categories
The outputs are:
- Output channels
The newly created notification profile is diabled by default.
The profile must be explicitly enabled for the profile to act on notification inputs and generate notifications.
Request
- application/json
Body
- Array [
- Array [
- Array [
- ]
- ]
- ]
- Array [
- Array [
- ]
- ]
Notification Profile Id
Notification Profile Name
Notification Profile Description
Possible values: [ENABLED
, DISABLED
]
Notification Profile Operational State
Notification Profile Status
Input Tenant List
List of excluded tenants
notifTypeDetails object[]required
Notification Type Detail
Possible values: [INCIDENTS
, UPGRADES
, ANNOUNCEMENTS
]
Notification Type
notifCategoryList object[]required
List of notification type categories
Notification type category name
Best practice flag for category
subCategoryList object[]required
List of notification type sub-categories
Notification type sub-category name
Best practice flag for sub-category
Need license flag for sub-category
notifChannels object[]required
Notification Channel List
Notification channel name
Possible values: [EMAIL
, WEBHOOK
]
Notification channel type
emailChannelDetails object
Email channel details
property name* EmailChannelDetails
emails object[]required
List of emails
Email owner name
Email id
webhookChannelDetails object
Webhook channel details
property name* WebhookChannelDetails
List of Webhook URLs - do not include token in the URL
Possible values: [NO_AUTH
, TOKEN
]
Webhook Authentication Type
Webhook token value
template object
Channel output template
Output channel template name
JSON describing the output channel template
List of child tenants that got the incident profile
List of child tenants that didn't get the incident profile
Responses
- 201
- 400
Created
- application/json
- Schema
- Example (from schema)
- example-0
- example-1
- example-2
- example-3
- example-4
Schema
- Array [
- Array [
- Array [
- ]
- ]
- ]
- Array [
- Array [
- ]
- ]
Notification Profile Id
Notification Profile Name
Notification Profile Description
Possible values: [ENABLED
, DISABLED
]
Notification Profile Operational State
Notification Profile Status
Input Tenant List
List of excluded tenants
notifTypeDetails object[]required
Notification Type Detail
Possible values: [INCIDENTS
, UPGRADES
, ANNOUNCEMENTS
]
Notification Type
notifCategoryList object[]required
List of notification type categories
Notification type category name
Best practice flag for category
subCategoryList object[]required
List of notification type sub-categories
Notification type sub-category name
Best practice flag for sub-category
Need license flag for sub-category
notifChannels object[]required
Notification Channel List
Notification channel name
Possible values: [EMAIL
, WEBHOOK
]
Notification channel type
emailChannelDetails object
Email channel details
property name* EmailChannelDetails
emails object[]required
List of emails
Email owner name
Email id
webhookChannelDetails object
Webhook channel details
property name* WebhookChannelDetails
List of Webhook URLs - do not include token in the URL
Possible values: [NO_AUTH
, TOKEN
]
Webhook Authentication Type
Webhook token value
template object
Channel output template
Output channel template name
JSON describing the output channel template
List of child tenants that got the incident profile
List of child tenants that didn't get the incident profile
{
"id": "string",
"profileName": "string",
"description": "string",
"opState": "ENABLED",
"status": "string",
"tenantList": [
"string"
],
"excludeTenantList": [
"string"
],
"notifTypeDetails": [
{
"type": "INCIDENTS",
"notifCategoryList": [
{
"name": "string",
"bestPractice": true,
"subCategoryList": [
{
"name": "string",
"bestPractice": true,
"needLicense": true
}
]
}
]
}
],
"notifChannels": [
{
"name": "string",
"type": "EMAIL",
"emailChannelDetails": {},
"webhookChannelDetails": {},
"template": {
"name": "string",
"templateJson": "string"
}
}
],
"successTenant": [
"string"
],
"failureTenant": [
"string"
]
}
{
"requestId": "00aff65a-9768-4365-842f-741e4a1095d6",
"data": {
"id": "0616b91f-21df-47a4-b8ef-311399b762c3",
"profileName": "Upgrades_Profile",
"opState": "ENABLED",
"description": "Notification Test Upgrades Profile",
"tenantList": [
"1681604441",
"1721119209",
"1037879421"
],
"excludeTenantList": [],
"successTenant": [],
"failureTenant": [],
"status": "SUCCESS",
"notifTypeDetails": [
{
"type": "UPGRADES",
"notifCategoryList": [
{
"name": "Dataplane",
"bestPractice": false,
"subCategoryList": [
{
"name": "Error",
"bestPractice": true
}
]
}
]
}
],
"notifChannels": [
{
"name": "Webhook Channel",
"type": "WEBHOOK",
"emailChannelDetails": null,
"webhookChannelDetails": {
"urls": [
"www.test-3.webhook.com",
"https://webhook.site/0b168876-c339-45d5-babe-c49bb02c35e6"
],
"authType": "NO_AUTH",
"basicAuth": null,
"token": null
},
"template": null
},
{
"name": "Email Channel",
"type": "EMAIL",
"emailChannelDetails": {
"emails": [
{
"name": "Swami Work",
"emailId": "swamiananthawork@gmail.com"
},
{
"name": "Pradnya Bapat",
"emailId": "prad.bapat@gmail.com"
}
]
},
"webhookChannelDetails": null,
"template": null
}
]
},
"error": null
}
{
"requestId": "00aff65a-9768-4365-842f-741e4a1095d6",
"data": {
"id": "0616b91f-21df-47a4-b8ef-311399b762c3",
"profileName": "Announcements_Profile",
"opState": "DISABLED",
"description": "Notification Test Announcements Profile",
"tenantList": [
"1681604441",
"1721119209",
"1037879421"
],
"excludeTenantList": [],
"successTenant": [],
"failureTenant": [],
"status": "SUCCESS",
"notifTypeDetails": [
{
"type": "ANNOUNCEMENTS"
}
],
"notifChannels": [
{
"name": "Webhook Channel",
"type": "WEBHOOK",
"emailChannelDetails": null,
"webhookChannelDetails": {
"urls": [
"www.test-3.webhook.com",
"https://webhook.site/0b168876-c339-45d5-babe-c49bb02c35e6"
],
"authType": "NO_AUTH",
"basicAuth": null,
"token": null
},
"template": null
},
{
"name": "Email Channel",
"type": "EMAIL",
"emailChannelDetails": {
"emails": [
{
"name": "Swami Work",
"emailId": "swamiananthawork@gmail.com"
},
{
"name": "Pradnya Bapat",
"emailId": "prad.bapat@gmail.com"
}
]
},
"webhookChannelDetails": null,
"template": null
}
]
},
"error": null
}
{
"data": {
"description": "Notification Test Incidents Profile",
"excludeTenantList": [],
"successTenant": [],
"failureTenant": [],
"status": "SUCCESS",
"id": "1cdabde0-01d6-4727-912b-e53bc620a82f",
"notifChannels": [
{
"name": "Webhook Channel",
"type": "WEBHOOK",
"webhookChannelDetails": {
"urls": [
"www.test-3.webhook.com",
"https://webhook.site/0b168876-c339-45d5-babe-c49bb02c35e6"
],
"authType": "NO_AUTH"
}
},
{
"emailChannelDetails": {
"emails": [
{
"emailId": "swamiananthawork@gmail.com",
"name": "Swami Work"
},
{
"emailId": "prad.bapat@gmail.com",
"name": "Pradnya Bapat"
}
]
},
"name": "Email Channel",
"type": "EMAIL"
}
],
"notifTypeDetails": [
{
"notifCategoryList": [
{
"bestPractice": false,
"name": "RN",
"subCategoryList": [
{
"bestPractice": true,
"name": "INC_SC_SITE_DOWN"
},
{
"bestPractice": true,
"name": "INC_SC_PRIMARY_WAN_BGP_DOWN"
}
]
}
],
"type": "INCIDENTS"
}
],
"opState": "DISABLED",
"profileName": "Incidents_Profile",
"tenantList": [
"1681604441",
"1037879421",
"1721119209"
]
},
"requestId": "18ad77fd-594c-4a35-8a3b-14bf6a63d6ca"
}
{
"requestId": "cc87ff93-9a00-4950-ac2c-f17db9586651",
"data": {
"id": "2c12cfa3-5428-40c4-bced-b6671e96e476",
"profileName": "Announcements_Upgrades_Profile",
"opState": "DISABLED",
"description": "Notification Test Profile",
"tenantList": [
"1127223253",
"1091039496",
"1418299734"
],
"excludeTenantList": [],
"notifTypeDetails": [
{
"type": "ANNOUNCEMENTS",
"notifCategoryList": []
},
{
"type": "UPGRADES",
"notifCategoryList": [
{
"name": "Dataplane",
"bestPractice": false,
"subCategoryList": [
{
"name": "Scheduled",
"bestPractice": true
}
]
}
]
}
],
"notifChannels": [
{
"name": "Webhook Channel",
"type": "WEBHOOK",
"emailChannelDetails": null,
"webhookChannelDetails": {
"urls": [
"https://webhook.site/0b168876-c339-45d5-babe-c49bb02c35e6"
],
"authType": "NO_AUTH"
},
"template": null
},
{
"name": "Email Channel",
"type": "EMAIL",
"emailChannelDetails": {
"emails": [
{
"name": "Swami Work",
"emailId": "swamiananthawork@gmail.com"
},
{
"name": "Pradnya Bapat",
"emailId": "prad.bapat@gmail.com"
}
]
},
"webhookChannelDetails": null,
"template": null
}
]
},
"error": null
}
{
"data": {
"description": "Notification Profile 1",
"excludeTenantList": [],
"id": "29b05f89-ec27-4af8-a124-b74b71d32b85",
"notifChannels": [
{
"name": "Webhook Channel",
"type": "WEBHOOK",
"webhookChannelDetails": {
"urls": [
"https://webhook.site/0b168876-c339-45d5-babe-c49bb02c35e6",
"www.test-3.webhook.com"
],
"authType": "TOKEN",
"token": "******"
}
}
],
"notifTypeDetails": [
{
"notifCategoryList": [
{
"bestPractice": false,
"name": "Dataplane",
"subCategoryList": [
{
"bestPractice": true,
"name": "Scheduled"
}
]
}
],
"type": "UPGRADES"
}
],
"opState": "DISABLED",
"profileName": "Profile31",
"tenantList": [
"Tenant_41",
"Tenant_31",
"Tenant_01",
"Tenant_21",
"Tenant_11"
]
},
"requestId": "6ec915e6-9d5f-45b9-8a61-d742b1493a0c"
}
Bad Request
- application/json
- Schema
- Example (from schema)
- example-0
- example-1
Schema
object
{}
{
"error": {
"errorCode": 60005,
"errorType": "VALIDATION_ERROR",
"httpStatus": 400,
"msg": "Notification Profile with the same name already exists"
},
"requestId": "a11f7b59-1b67-4e52-ad37-9c639b4d739d"
}
{
"classViolations": [],
"parameterViolations": [
{
"constraintType": "PARAMETER",
"message": "profileName cannot be blank",
"path": "addNotificationProfile.notifProfile.profileName",
"value": ""
}
],
"propertyViolations": [],
"returnValueViolations": []
}