user notification service v3.0
Created Nov 12, 2024 at 09:56 PM

Resource: delivery_type

A registered method of delivery, supporting a global configuration structure

http://{device}/api/npm.usernotify/3.0/delivery_types/items/{name}
  • JSON
  • {
      "active": boolean,
      "enabled": boolean,
      "name": string,
      "options": delivery_options
    }
    Property Name Type Description Notes
    delivery_type <object> A registered method of delivery, supporting a global configuration structure Required properties: [name, enabled];
    delivery_type.active <boolean> Whether the delivery type is enabled and usable Read-only; Optional;
    delivery_type.enabled <boolean> If disabled, subscriptions for this delivery type will be ignored.
    delivery_type.name <string> Read-only;
    delivery_type.options <delivery_options> Generic structure to provide global configuration settings to a delivery type

    Relations

    delivery_type: instances

    Related resource

    delivery_types

    Resource: delivery_type_statuses

    Statuses of registered delivery types

    http://{device}/api/npm.usernotify/3.0/delivery_type_statuses
  • JSON
  • {
      "items": [
        {
          "configured": boolean,
          "enabled": boolean,
          "name": string,
          <prop>: any
        }
      ]
    }
    Property Name Type Description Notes
    delivery_type_statuses <object> Statuses of registered delivery types
    delivery_type_statuses.items <array of <object>> Optional;
    delivery_type_statuses.items[items] <object>
    delivery_type_statuses.items[items].
    configured
    <boolean> Whether the delivery type has been configured Optional;
    delivery_type_statuses.items[items].
    enabled
    <boolean> Whether the delivery type is enabled Optional;
    delivery_type_statuses.items[items].name <string> Name of the delivery type Optional;
    delivery_type_statuses.items[items].
    <prop>
    <any> Optional;

    Resource: delivery_types

    List of all registered delivery types

    http://{device}/api/npm.usernotify/3.0/delivery_types
  • JSON
  • {
      "items": [ delivery_type ]
    }
    Property Name Type Description Notes
    delivery_types <object> List of all registered delivery types
    delivery_types.items <array of <delivery_type>> Optional;
    delivery_types.items[items] <delivery_type> A registered method of delivery, supporting a global configuration structure

    Resource: local_certificate

    The SSL certificate presented to a remote syslog server with encryption enabled

    http://{device}/api/npm.usernotify/3.0/local_certificate
  • JSON
  • {
      "expires_at": integer,
      "fingerprint": {
        "algorithm": string,
        "value": string
      },
      "issuer": distingushed_name,
      "key": {
        "algorithm": string,
        "size": integer
      },
      "pem": string,
      "subject": distingushed_name,
      "valid_at": integer
    }
    Property Name Type Description Notes
    local_certificate <object> The SSL certificate presented to a remote syslog server with encryption enabled Required properties: [issuer, subject, valid_at, expires_at, fingerprint, key, pem];
    local_certificate.expires_at <integer> Time at which the certificate expires, in Unix epoch seconds
    local_certificate.fingerprint <object> Certificate fingerprint information Required properties: [algorithm, value];
    local_certificate.fingerprint.algorithm <string> The algorithm used to calculate the fingerprint
    local_certificate.fingerprint.value <string> Fingerprint value
    local_certificate.issuer <distingushed_name> Distinguished name information
    local_certificate.key <object> Certificate key information Required properties: [algorithm, size];
    local_certificate.key.algorithm <string> The algorithm used to generate the key
    local_certificate.key.size <integer> The size (number of bits) of the key
    local_certificate.pem <string> The certificate, in PEM format
    local_certificate.subject <distingushed_name> Distinguished name information
    local_certificate.valid_at <integer> Time at which the certificate becomes valid, in Unix epoch seconds

    Resource: notification

    Specification of a registered notification type

    http://{device}/api/npm.usernotify/3.0/notifications/items/{id}
  • JSON
  • {
      "attributes": {
        <prop>: any
      },
      "formatters": [
        string
      ],
      "id": string
    }
    Property Name Type Description Notes
    notification <object> Specification of a registered notification type Required properties: [id];
    notification.attributes <object> Dictionary of attribute names to type values which must be one of notification_attribute_type Optional;
    notification.attributes.<prop> <any> Optional;
    notification.formatters <array of <string>> The list of formatters to try when formatting this notification type. Optional;
    notification.formatters[items] <string>
    notification.id <string>

    Relations

    notification: instances

    Related resource

    notifications

    Resource: notifications

    List of registered notification types

    http://{device}/api/npm.usernotify/3.0/notifications
  • JSON
  • {
      "items": [ notification ]
    }
    Property Name Type Description Notes
    notifications <object> List of registered notification types
    notifications.items <array of <notification>> Optional;
    notifications.items[items] <notification> Specification of a registered notification type

    Resource: recipient

    A recipient groups multiple notification endpoints that should all receive notifications for the same events. 'name' is a human-readable identifier for the Recipient, and addresses is a list of 'addressee' objects listing the endpoints to receive the notifications. Creation of a recipient produces a unique 'id' which is used to reference this recipient in other APIs

    http://{device}/api/npm.usernotify/3.0/recipients/items/{id}
  • JSON
  • {
      "addressees": [ addressee ],
      "id": integer,
      "name": string,
      <prop>: any
    }
    Property Name Type Description Notes
    recipient <object> A recipient groups multiple notification endpoints that should all receive notifications for the same events. 'name' is a human-readable identifier for the Recipient, and addresses is a list of 'addressee' objects listing the endpoints to receive the notifications. Creation of a recipient produces a unique 'id' which is used to reference this recipient in other APIs Required properties: [addressees];
    recipient.addressees <array of <addressee>> List of addressees to deliver notifications to when this recipient is notified
    recipient.addressees[items] <addressee> A base object that associates a delivery_type with data needed to send notifications to at least one notification endpoint. 'delivery_type' defines the type of notification, and other information must be included to specify how and where the notification is delivered. Supported 'delivery_types' include 'email', 'snmp', 'syslog', 'encrypted_syslog', and 'servicenow'
    recipient.id <integer> Optional;
    recipient.name <string> Optional;
    recipient.<prop> <any> Optional;

    Resource: recipients

    A list of recipient objects

    http://{device}/api/npm.usernotify/3.0/recipients
  • JSON
  • {
      "items": [ recipient ],
      <prop>: any
    }
    Property Name Type Description Notes
    recipients <object> A list of recipient objects
    recipients.items <array of <recipient>> Optional;
    recipients.items[items] <recipient> A recipient groups multiple notification endpoints that should all receive notifications for the same events. 'name' is a human-readable identifier for the Recipient, and addresses is a list of 'addressee' objects listing the endpoints to receive the notifications. Creation of a recipient produces a unique 'id' which is used to reference this recipient in other APIs
    recipients.<prop> <any> Optional;

    Resource: recipients_list

    Abbreviated list of recipient names and their ids

    http://{device}/api/npm.usernotify/3.0/recipients_list{?with_delivery_types}
  • JSON
  • {
      "items": [
        {
          "id": integer,
          "name": string
        }
      ]
    }
    Property Name Type Description Notes
    recipients_list <object> Abbreviated list of recipient names and their ids Required properties: [items];
    recipients_list.items <array of <object>>
    recipients_list.items[items] <object> Required properties: [id, name];
    recipients_list.items[items].id <integer> Recipient ID
    recipients_list.items[items].name <string> Recipient name

    Resource: subscription

    Records that the recipients in recipient_ids should receive notifications for the types of notification named by notification_id. Optional field 'addressees' records additional addressees that will also be notified along with these recipients

    http://{device}/api/npm.usernotify/3.0/subscriptions/items/{id}
  • JSON
  • {
      "addressees": [ addressee ],
      "filter": data_filter,
      "id": integer,
      "notification_id": string,
      "recipient_ids": [
        integer
      ]
    }
    Property Name Type Description Notes
    subscription <object> Records that the recipients in recipient_ids should receive notifications for the types of notification named by notification_id. Optional field 'addressees' records additional addressees that will also be notified along with these recipients Required properties: [notification_id];
    subscription.addressees <array of <addressee>> A list of extra addressees to notify in addition to the recipient_ids. Optional;
    subscription.addressees[items] <addressee> A base object that associates a delivery_type with data needed to send notifications to at least one notification endpoint. 'delivery_type' defines the type of notification, and other information must be included to specify how and where the notification is delivered. Supported 'delivery_types' include 'email', 'snmp', 'syslog', 'encrypted_syslog', and 'servicenow'
    subscription.filter <data_filter> A mapping of key names or JSON pointers to literal strings or regexes (e.g. ~/.*/) that must match the value of the named attribute
    subscription.id <integer> Optional;
    subscription.recipient_ids <array of <integer>> Optional list of pre-defined recipient IDs. Optional;
    subscription.recipient_ids[items] <integer>
    subscription.notification_id <string>

    Relations

    subscription: instances

    Related resource

    subscriptions

    Resource: subscriptions

    List of recorded subscriptions

    http://{device}/api/npm.usernotify/3.0/subscriptions{?notification_id,recipient_id}
  • JSON
  • {
      "items": [ subscription ]
    }
    Property Name Type Description Notes
    subscriptions <object> List of recorded subscriptions
    subscriptions.items <array of <subscription>> Optional;
    subscriptions.items[items] <subscription> Records that the recipients in recipient_ids should receive notifications for the types of notification named by notification_id. Optional field 'addressees' records additional addressees that will also be notified along with these recipients

    Type: addressee

    A base object that associates a delivery_type with data needed to send notifications to at least one notification endpoint. 'delivery_type' defines the type of notification, and other information must be included to specify how and where the notification is delivered. Supported 'delivery_types' include 'email', 'snmp', 'syslog', 'encrypted_syslog', and 'servicenow'

  • JSON
  • {
      "delivery_type": string,
      <prop>: any
    }
    Property Name Type Description Notes
    addressee <object> A base object that associates a delivery_type with data needed to send notifications to at least one notification endpoint. 'delivery_type' defines the type of notification, and other information must be included to specify how and where the notification is delivered. Supported 'delivery_types' include 'email', 'snmp', 'syslog', 'encrypted_syslog', and 'servicenow' Required properties: [delivery_type];
    addressee.delivery_type <string>
    addressee.<prop> <any> Optional;
    addressee.oneOf[0] <object> Reserved for handling unknown delivery types Required properties: [delivery_type];
    addressee.oneOf[0].delivery_type <string>
    addressee.oneOf[0].delivery_type.not <string> Values: syslog, snmp, email, servicenow, encrypted_syslog;
    addressee.oneOf[0].<prop> <any> Optional;
    addressee.oneOf[1] <email_addressee> An email addressee. 'delivery_type' must be "email", and 'to' is the destination email address
    addressee.oneOf[2] <object> Syslog addressee, supporting both the local and unencrypted remote syslog endpoints Required properties: [delivery_type];
    addressee.oneOf[2].delivery_type <string> Values: syslog;
    addressee.oneOf[2].host <string> Hostname or IP of the remote syslog server. Blank for local syslog. Optional;
    addressee.oneOf[2].port <integer> Port of the remote syslog server. Optional; Range: 0 to 65535; Default is 514;
    addressee.oneOf[3] <encrypted_syslog_addressee> Encrypted syslog (RFC5425) addressee
    addressee.oneOf[4] <object> ServiceNow addressee (logs notifications to a ServiceNow incident table) Required properties: [delivery_type, baseurl, username];
    addressee.oneOf[4].baseurl <string> Base URL of the ServiceNow instance
    addressee.oneOf[4].delivery_type <string> Values: servicenow;
    addressee.oneOf[4].mode <string> ServiceNow integration mode Optional; Default is itsm; Values: itom, itsm;
    addressee.oneOf[4].new_password <string> Password for the specified ServiceNow account Optional;
    addressee.oneOf[4].send_tags <boolean> Send tags to ServiceNow Optional; Default is False;
    addressee.oneOf[4].tags_field <string> ServiceNow field to receive tags Optional; Default is u_tag;
    addressee.oneOf[4].username <string> ServiceNow account with privileges to write to incident table
    addressee.oneOf[5] <object> SNMP addressee, supporting SNMP v1, v2c or v3
    addressee.oneOf[5].<prop> <any> Optional;
    addressee.oneOf[5].oneOf[0] <snmp_v1_v2_addressee> Connection information to send a trap/inform to an SNMP v1/v2 endpoint
    addressee.oneOf[5].oneOf[1] <snmp_v3_addressee> Connection information to send a trap/inform to an SNMP v3 endpoint

    Type: data_filter

    A mapping of key names or JSON pointers to literal strings or regexes (e.g. ~/.*/) that must match the value of the named attribute

  • JSON
  • {
      <prop>: any
    }
    Property Name Type Description Notes
    data_filter <object> A mapping of key names or JSON pointers to literal strings or regexes (e.g. ~/.*/) that must match the value of the named attribute
    data_filter.<prop> <any> Optional;

    Type: delivery_options

    Generic structure to provide global configuration settings to a delivery type

  • JSON
  • {
      <prop>: any
    }
    Property Name Type Description Notes
    delivery_options <object> Generic structure to provide global configuration settings to a delivery type
    delivery_options.<prop> <any> Optional;
    delivery_options.anyOf[0] <object> Email delivery type configuration
    delivery_options.anyOf[0].from <string> Address that notification emails will appear to come from Optional;
    host <string> Hostname or IP address of the SMTP server
    delivery_options.anyOf[0].new_password <string> New plaintext password for authenticated SMTP connections Optional; Default is ;
    delivery_options.anyOf[0].port <integer> SMTP server port Optional; Range: 0 to 65535;
    delivery_options.anyOf[0].security <string> Type of connection security to use when connecting to the SMTP server Optional; Values: NONE, SSL, STARTTLS;
    delivery_options.anyOf[0].smtp_timeout <integer> How long connections to the SMTP server wait before timing out (default: 30 sec) Optional; Minimum 1;
    delivery_options.anyOf[0].username <string> Username for authenticated SMTP connections. No authentication is attempted if this is empty (default) Optional; Default is ;
    delivery_options.anyOf[1] <object> Syslog delivery options (none supported)
    delivery_options.anyOf[2] <object> SNMP delivery options (none supported)

    Type: distingushed_name

    Distinguished name information

  • JSON
  • {
      "common_name": string,
      "country": string,
      "email": string,
      "locality": string,
      "organization": string,
      "organizational_unit": string,
      "state": string
    }
    Property Name Type Description Notes
    distingushed_name <object> Distinguished name information
    distingushed_name.common_name <string> Common name (CN) Optional;
    distingushed_name.country <string> Country code (C) Optional;
    distingushed_name.email <string> Email address Optional;
    distingushed_name.locality <string> Locality (L) Optional;
    distingushed_name.organization <string> Organization name (O) Optional;
    distingushed_name.organizational_unit <string> Organization unit name (OU) Optional;
    distingushed_name.state <string> State or province name (ST) Optional;

    Type: email_addressee

    An email addressee. 'delivery_type' must be "email", and 'to' is the destination email address

  • JSON
  • {
      "delivery_type": string,
      "to": email_addresses
    }
    Property Name Type Description Notes
    email_addressee <object> An email addressee. 'delivery_type' must be "email", and 'to' is the destination email address Required properties: [delivery_type, to];
    email_addressee.delivery_type <string> Values: email;
    email_addressee.to <email_addresses> A list of email addresses as strings

    Type: email_addresses

    A list of email addresses as strings

  • JSON
  • [
      string
    ]
    Property Name Type Description Notes
    email_addresses <array of <string>> A list of email addresses as strings
    email_addresses[items] <string>

    Type: encrypted_syslog_addressee

    Encrypted syslog (RFC5425) addressee

  • JSON
  • {
      "auth_method": string,
      "certificates": [ trusted_certificate ],
      "delivery_type": string,
      "host": string,
      "port": integer
    }
    Property Name Type Description Notes
    encrypted_syslog_addressee <object> Encrypted syslog (RFC5425) addressee Required properties: [delivery_type, host, port, auth_method, certificates];
    encrypted_syslog_addressee.auth_method <string> Method used to authorize the remote syslog server. If "certificate_validation" is specified, there must be a valid certification path from the configured certificates to the certificate presented by the remote server. If "certificate_matching" is specified, the certificate presented by the remote server must be present in the configured certificates. Values: certificate_validation, certificate_matching;
    encrypted_syslog_addressee.certificates <array of <trusted_certificate>> List of certificates used to authorize the remote server. When using certificate validation, these are the trust anchor and any intermediates. When using certificate matching, this would be the expected remote server's certificate (typically only one).
    encrypted_syslog_addressee.certificates
    [items]
    <trusted_certificate> A certificate or CA-certificate to be trusted
    encrypted_syslog_addressee.delivery_type <string> Values: encrypted_syslog;
    encrypted_syslog_addressee.host <string> Hostname or IP of the remote syslog server
    encrypted_syslog_addressee.port <integer> Port of the remote syslog server Range: 0 to 65535; Default is 6514;

    Type: host

    A host or IPv4 or IPv6 address

  • JSON
  • string
    Property Name Type Description Notes
    host <string> A host or IPv4 or IPv6 address

    Type: notification_attribute_type

    Specification of attributes on a notification and their type. Note that these roughly correspond to SNMP standard definitions of the given data type. Not all delivery mechanisms are able to fully handle some data types. Delivery mechanisms are expected to cleanly ignore those attributes they are not able to manage.

  • JSON
  • {
      "name": string,
      "type": string
    }
    Property Name Type Description Notes
    notification_attribute_type <object> Specification of attributes on a notification and their type. Note that these roughly correspond to SNMP standard definitions of the given data type. Not all delivery mechanisms are able to fully handle some data types. Delivery mechanisms are expected to cleanly ignore those attributes they are not able to manage.
    notification_attribute_type.name <string> Optional;
    notification_attribute_type.type <string> Optional; Values: OBJECT, MAP, ARRAY, STRING, FLOAT, BOOLEAN, INTEGER, UNSIGNED, COUNTER, GAUGE, BINARY, NULLOBJ, OBJID, TIMETICKS, IP_ADDRESS, NETWORK_ADDRESS, BITS;

    Type: snmp_v1_v2_addressee

    Connection information to send a trap/inform to an SNMP v1/v2 endpoint

  • JSON
  • {
      "address": string,
      "delivery_type": string,
      "new_community": string,
      "version": string
    }
    Property Name Type Description Notes
    snmp_v1_v2_addressee <object> Connection information to send a trap/inform to an SNMP v1/v2 endpoint Required properties: [delivery_type, address, version];
    snmp_v1_v2_addressee.address <string>
    snmp_v1_v2_addressee.delivery_type <string> Values: snmp;
    snmp_v1_v2_addressee.new_community <string> Optional;
    snmp_v1_v2_addressee.version <string> Values: 1, 2c;

    Type: snmp_v3_addressee

    Connection information to send a trap/inform to an SNMP v3 endpoint

  • JSON
  • {
      <prop>: any
    }
    Property Name Type Description Notes
    snmp_v3_addressee <object> Connection information to send a trap/inform to an SNMP v3 endpoint
    snmp_v3_addressee.<prop> <any> Optional;
    snmp_v3_addressee.oneOf[0] <object> SNMP v3 addressee with no privacy or authentication Required properties: [delivery_type, address, version, sec_level];
    snmp_v3_addressee.oneOf[0].address <string>
    snmp_v3_addressee.oneOf[0].delivery_type <string> Values: snmp;
    snmp_v3_addressee.oneOf[0].engine_id <string> Optional; Default is ;
    snmp_v3_addressee.oneOf[0].new_sec_name <string> Optional;
    snmp_v3_addressee.oneOf[0].sec_level <string> Values: NoAuthNoPriv;
    snmp_v3_addressee.oneOf[0].version <string> Values: 3;
    snmp_v3_addressee.oneOf[1] <object> SNMP v3 addressee with authentication but no privacy Required properties: [delivery_type, address, version, sec_level, auth_proto];
    snmp_v3_addressee.oneOf[1].address <string>
    snmp_v3_addressee.oneOf[1].auth_proto <string> Values: MD5, SHA;
    snmp_v3_addressee.oneOf[1].delivery_type <string> Values: snmp;
    snmp_v3_addressee.oneOf[1].engine_id <string> Optional; Default is ;
    snmp_v3_addressee.oneOf[1].
    new_auth_password
    <string> Optional;
    snmp_v3_addressee.oneOf[1].new_sec_name <string> Optional;
    snmp_v3_addressee.oneOf[1].sec_level <string> Values: AuthNoPriv;
    snmp_v3_addressee.oneOf[1].version <string> Values: 3;
    snmp_v3_addressee.oneOf[2] <object> SNMP v3 addressee with authentication and privacy Required properties: [delivery_type, address, version, sec_level, auth_proto, priv_proto];
    snmp_v3_addressee.oneOf[2].address <string>
    snmp_v3_addressee.oneOf[2].auth_proto <string> Values: MD5, SHA;
    snmp_v3_addressee.oneOf[2].delivery_type <string> Values: snmp;
    snmp_v3_addressee.oneOf[2].engine_id <string> Optional; Default is ;
    snmp_v3_addressee.oneOf[2].
    new_auth_password
    <string> Optional;
    snmp_v3_addressee.oneOf[2].
    new_priv_password
    <string> Optional;
    snmp_v3_addressee.oneOf[2].new_sec_name <string> Optional;
    snmp_v3_addressee.oneOf[2].priv_proto <string> Values: DES, AES;
    snmp_v3_addressee.oneOf[2].sec_level <string> Values: AuthPriv;
    snmp_v3_addressee.oneOf[2].version <string> Values: 3;

    Type: trusted_certificate

    A certificate or CA-certificate to be trusted

  • JSON
  • {
      "cert_details": {
        "expires_at": integer,
        "fingerprint": {
          "algorithm": string,
          "value": string
        },
        "issuer": distingushed_name,
        "key": {
          "algorithm": string,
          "size": integer
        },
        "subject": distingushed_name,
        "valid_at": integer
      },
      "name": string,
      "pem": string
    }
    Property Name Type Description Notes
    trusted_certificate <object> A certificate or CA-certificate to be trusted Required properties: [name, pem];
    trusted_certificate.cert_details <object> Certificate details Read-only; Required properties: [issuer, subject, valid_at, expires_at, fingerprint, key]; Optional;
    trusted_certificate.cert_details.
    expires_at
    <integer> Time at which the certificate expires, in Unix epoch seconds Read-only;
    trusted_certificate.cert_details.
    fingerprint
    <object> Certificate fingerprint information Read-only; Required properties: [algorithm, value];
    trusted_certificate.cert_details.
    fingerprint.algorithm
    <string> The algorithm used to calculate the fingerprint Read-only;
    trusted_certificate.cert_details.
    fingerprint.value
    <string> Fingerprint value Read-only;
    trusted_certificate.cert_details.issuer <distingushed_name> Distinguished name information
    trusted_certificate.cert_details.key <object> Certificate key information Read-only; Required properties: [algorithm, size];
    trusted_certificate.cert_details.key.
    algorithm
    <string> The algorithm used to generate the key Read-only;
    trusted_certificate.cert_details.key.
    size
    <integer> The size (number of bits) of the key Read-only;
    trusted_certificate.cert_details.subject <distingushed_name> Distinguished name information
    trusted_certificate.cert_details.
    valid_at
    <integer> Time at which the certificate becomes valid, in Unix epoch seconds Read-only;
    trusted_certificate.name <string> Name of this certificate
    trusted_certificate.pem <string> The certificate, in PEM format