{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "file:///UpdateAction.schema.json",
  "title": "UpdateActionMessage",
  "description": "A template for messages that execute predetermined actions.",
  "allOf": [{ "$ref": "file:///FxMSCommon.schema.json#/$defs/Message" }],
  "type": "object",
  "properties": {
    "content": {
      "type": "object",
      "properties": {
        "action": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "data": {
              "type": "object",
              "description": "Additional data provided as argument when executing the action",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "URL data to be used as argument to the action"
                },
                "expireDelta": {
                  "type": "number",
                  "description": "Expiration timestamp to be used as argument to the action"
                }
              }
            }
          },
          "additionalProperties": true,
          "description": "Optional action to take in addition to showing the notification",
          "required": ["id", "data"]
        }
      },
      "additionalProperties": true,
      "required": ["action"]
    },
    "template": {
      "type": "string",
      "const": "update_action"
    }
  },
  "required": ["targeting"]
}
