def put(self, notification_id, data=None):
        """
        .. http:put:: /notifications/1

           Updates a notification

           **Example request**:

           .. sourcecode:: http

              PUT /notifications/1 HTTP/1.1
              Host: example.com
              Accept: application/json, text/javascript
              Content-Type: application/json;charset=UTF-8

              {
                "label": "labelChanged",
                "plugin": {
                    "slug": "email-notification",
                    "plugin_options": "???"
                  },
                "description": "Sample notification",
                "active": "true",
                "added_certificates": "???",
                "removed_certificates": "???"
              }


           **Example response**:

           .. sourcecode:: http

              HTTP/1.1 200 OK
              Vary: Accept
              Content-Type: text/javascript

              {
                "id": 1,
                "label": "labelChanged",
                "plugin": {
                    "slug": "email-notification",
                    "plugin_options": "???"
                  },
                "description": "Sample notification",
                "active": "true",
                "added_certificates": "???",
                "removed_certificates": "???"
              }

           :label label: notification name
           :label slug: notification plugin slug
           :label plugin_options: notification plugin options
           :label description: notification description
           :label active: whether or not the notification is active/enabled
           :label added_certificates: certificates to add
           :label removed_certificates: certificates to remove
           :reqheader Authorization: OAuth token to authenticate
           :statuscode 200: no error
        """
        if not StrictRolePermission().can():
            return dict(message="You are not authorized to update a notification."), 403
        return service.update(
            notification_id,
            data["label"],
            data["plugin"]["slug"],
            data["plugin"]["plugin_options"],
            data["description"],
            data["active"],
            data["added_certificates"],
            data["removed_certificates"],
        )

        .. http:put:: /notifications/1

           Updates a notification

           **Example request**:

           .. sourcecode:: http

              PUT /notifications/1 HTTP/1.1
              Host: example.com
              Accept: application/json, text/javascript
              Content-Type: application/json;charset=UTF-8

              {
                "label": "labelChanged",
                "plugin": {
                    "slug": "email-notification",
                    "plugin_options": "???"
                  },
                "description": "Sample notification",
                "active": "true",
                "added_certificates": "???",
                "removed_certificates": "???"
              }


           **Example response**:

           .. sourcecode:: http

              HTTP/1.1 200 OK
              Vary: Accept
              Content-Type: text/javascript

              {
                "id": 1,
                "label": "labelChanged",
                "plugin": {
                    "slug": "email-notification",
                    "plugin_options": "???"
                  },
                "description": "Sample notification",
                "active": "true",
                "added_certificates": "???",
                "removed_certificates": "???"
              }

           :label label: notification name
           :label slug: notification plugin slug
           :label plugin_options: notification plugin options
           :label description: notification description
           :label active: whether or not the notification is active/enabled
           :label added_certificates: certificates to add
           :label removed_certificates: certificates to remove
           :reqheader Authorization: OAuth token to authenticate
           :statuscode 200: no error
        
lemur/notifications/views.py