OrgsWebhooks

createOrgWebhook

POST
/api/v1/orgs/{org_id}/webhooks

N.B. For org webhooks, only alarms/audits/client-info/client-join/client-sessions/device_events/device-updowns/mxedge_events Infrastructure topics are supported.

Webhook defines a webhook, modeled after github\u2019s model.

There is two types of webhooks:

Webhooks

Webhooks can be configured at the org level (subset of topics only) and at the site level. It is possible to have multiple topics in the same webhook configuration and/or to have multiple webhooks configured at the same time.

Authorization

Authorization<token>

Preferred authentication method for automation and integrations. Send the API token in the HTTP Authorization header.

Format: Authorization: Token {apitoken}

Notes:

  • An API token generated for a specific admin has the same privileges as that admin
  • An API token is automatically removed if it is not used for more than 90 days
  • SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed.

In: header

Path Parameters

org_id*string
Formatuuid

Request Body

application/json

Request Body

Webhook configuration for delivering selected Mist events to an external destination

assetfilter_ids?array<>

Asset filter identifiers used to restrict asset-raw-rssi webhook events

default_action?webhook_action

Default action applied when none of the rules match the incoming event. enum: permit, block.

Default"permit"

Value in

  • "permit"
  • "block"
enabled?boolean

Whether webhook is enabled

Defaulttrue
headers?|

If type=http-post, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000

name?|

Display name of the webhook

oauth2_client_id?string

Required when oauth2_grant_type==client_credentials; OAuth2 client identifier used to request an access token

oauth2_client_secret?string

Required when oauth2_grant_type==client_credentials; OAuth2 client secret used to request an access token

Formatpassword
oauth2_grant_type?webhook_oauth2_grant_type

OAuth2 grant type used when type==oauth2. enum: client_credentials, password.

Value in

  • "client_credentials"
  • "password"
oauth2_password?string

Required when oauth2_grant_type==password; password used for the OAuth2 token request

Formatpassword
oauth2_scopes?array<string>

OAuth2 scopes included in the token request when type==oauth2

oauth2_token_url?string

Required when type==oauth2; token endpoint URL used to obtain the OAuth2 access token

oauth2_username?string

Required when oauth2_grant_type==password; username used for the OAuth2 token request

rules?array<>

Optional filtering rules to override topics. Each rule permits or blocks events for a topic, optionally based on event payload matching criteria

secret?|

Only if type=http-post

when secret is provided, two HTTP headers will be added:

  • X-Mist-Signature-v2: HMAC_SHA256(secret, body)
  • X-Mist-Signature: HMAC_SHA1(secret, body)
single_event_per_message?boolean

Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to true, only a single event will be sent per message. this feature is only available on certain topics (see List Webhook Topics)

Defaultfalse
splunk_token?|

Required if type=splunk. If splunk_token is not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.

topics?array<string>

Event topics delivered by this webhook

type?webhook_type

Delivery mechanism used by this webhook. enum: aws-sns, google-pubsub, http-post, oauth2, splunk.

Default"http-post"

Value in

  • "aws-sns"
  • "google-pubsub"
  • "http-post"
  • "oauth2"
  • "splunk"
url?string

Destination URL that receives webhook deliveries

verify_cert?boolean

When url uses HTTPS, whether to verify the certificate

Defaulttrue

Response Body

curl -X POST "https://example.com/api/v1/orgs/000000ab-00ab-00ab-00ab-0000000000ab/webhooks" \  -H "Content-Type: application/json" \  -d '{}'
{  "created_time": 0,  "enabled": true,  "headers": {},  "id": "b069b358-4c97-5319-1f8c-7c5ca64d6ab1",  "modified_time": 0,  "name": "string",  "org_id": "b069b358-4c97-5319-1f8c-7c5ca64d6ab1",  "secret": "string",  "site_id": "b069b358-4c97-5319-1f8c-7c5ca64d6ab1",  "splunk_token": "string",  "topics": [    "location"  ],  "type": "http-post",  "url": "string",  "verify_cert": true}