{
  "openapi": "3.1.0",
  "info": {
    "version": "v1.0",
    "title": "Webhooks Introduction",
    "description": "\nWhat is a webhook?  A webhook is an HTTP request, triggered by an event in a source system (Tenovos) and sent to a destination system.\n\nThe destination system is managed by the receiver (customer) of the webhook, or for faster and easier implementation, Tenovos Connect can \nautomatically generate endpoints for receiving webhooks from Tenovos, or any other system.\n\nWebhooks are automated, in other words they are automatically sent out when their corresponding event occurs in Tenovos.  These events occur whether \nyou are using the Tenovos UI, or your own custom UI on top of the Tenovos platform.\n",
    "termsOfService": "https://tenovos.com/terms-of-service",
    "contact": {
      "email": "product@tenovos.com"
    },
    "license": {
      "name": "Tenovos Active Story Management",
      "url": "https://www.tenovos.com/"
    }
  },
  "webhooks": {
    "asset.created": {
      "post": {
        "summary": "Asset Created",
        "operationId": "asset.created",
        "description": "Receive a notification when an Asset in Tenovos is created.",
        "tags": [
          "Assets"
        ],
        "requestBody": {
          "description": "Information about a new asset in Tenovos",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/asset.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "asset.deleted": {
      "post": {
        "summary": "Asset Deleted",
        "operationId": "asset.deleted",
        "description": "Receive a notification when an Asset in Tenovos is deleted.",
        "tags": [
          "Assets"
        ],
        "requestBody": {
          "description": "Information about an asset when it get's deleted in Tenovos",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/asset.deleted"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "asset.downloaded": {
      "post": {
        "summary": "Asset Downloaded",
        "operationId": "asset.downloaded",
        "description": "Receive a notification when an Asset in Tenovos is downloaded.",
        "tags": [
          "Assets"
        ],
        "requestBody": {
          "description": "Information about an asset when the download process for this asset has started",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/asset.downloaded"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully"
          }
        }
      }
    },
    "asset.purged": {
      "post": {
        "summary": "Asset Purged",
        "operationId": "asset.purged",
        "description": "Receive a notification when an Asset in Tenovos is purged from the Recycle Bin.",
        "tags": [
          "Assets"
        ],
        "requestBody": {
          "description": "Information about an asset when it's Permanently deleted in Tenovos.  This information will no longer be available from Tenovos.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/asset.purged"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "asset.renditions.created": {
      "post": {
        "summary": "Renditions Created",
        "operationId": "asset.renditions.created",
        "description": "Receive a notification when system generated renditions for an Asset in Tenovos have completed processing.",
        "tags": [
          "Assets"
        ],
        "requestBody": {
          "description": "Information about an asset and its renditions when the asset is created in Tenovos.  This event only occurs once the renditions have completed processing.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/asset.renditions.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "asset.shared": {
      "post": {
        "summary": "Asset Shared",
        "operationId": "asset.shared",
        "description": "Receive a notification when an Asset in Tenovos is shared with other users or external contacts.",
        "tags": [
          "Assets"
        ],
        "requestBody": {
          "description": "Information about an asset when it's Shared in Tenovos",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/asset.shared"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully"
          }
        }
      }
    },
    "asset.security.updated": {
      "post": {
        "summary": "Security Updated",
        "operationId": "asset.security.updated",
        "description": "Receive a notification when the Security Templates applied to an Asset in Tenovos have been updated.",
        "tags": [
          "Assets"
        ],
        "requestBody": {
          "description": "Information about an Asset's Security Templates are updated, with current and previous values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/asset.security.updated"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "asset.metadata.updated": {
      "post": {
        "summary": "Metadata Updated",
        "operationId": "asset.metadata.updated",
        "description": "Receive a notification when the Metadata applied to an Asset in Tenovos is updated.",
        "tags": [
          "Assets"
        ],
        "requestBody": {
          "description": "Information about an Asset's when the metadata is updated",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/asset.metadata.updated"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "asset.restored": {
      "post": {
        "summary": "Asset Restored",
        "operationId": "asset.restored",
        "description": "Receive a notification when an Asset in Tenovos is restored from the Recycle Bin and will therefore be available to users again.",
        "tags": [
          "Assets"
        ],
        "requestBody": {
          "description": "Information about an asset when it is restored from the administrative Recycle Bin in Tenovos",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/asset.restored"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "collection.created": {
      "post": {
        "summary": "Collection Created",
        "operationId": "collection.created",
        "description": "Receive a notification when an Collection in Tenovos is created.",
        "tags": [
          "Collections"
        ],
        "requestBody": {
          "description": "Information about a Collection when it is created in Tenovos.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/collection.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "collection.updated": {
      "post": {
        "summary": "Collection Updated",
        "operationId": "collection.updated",
        "description": "Receive a notification when an asset is added to or removed from a Collection.",
        "tags": [
          "Collections"
        ],
        "requestBody": {
          "description": "Information about assets are added to or removed from a Collection.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/collection.updated-2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "collection.deleted": {
      "post": {
        "summary": "Collection Deleted",
        "operationId": "collection.deleted",
        "description": "Receive a notification when a Collection in Tenovos is deleted.",
        "tags": [
          "Collections"
        ],
        "requestBody": {
          "description": "Information about a Collection when it is deleted from Tenovos.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/collection.deleted"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "collection.assets.updated": {
      "post": {
        "summary": "Collection Assets Updated",
        "operationId": "collection.assets.updated",
        "description": "Receive a notification when assets are added to and/or removed from a collection.",
        "tags": [
          "Collections"
        ],
        "requestBody": {
          "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/collection.assets.updated"
                  },
                  {
                    "$ref": "#/components/schemas/collection.assets.updated.added"
                  },
                  {
                    "$ref": "#/components/schemas/collection.assets.updated.removed"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "collection.downloaded": {
      "post": {
        "summary": "Collection Downloaded",
        "operationId": "collection.downloaded",
        "description": "Receive a notification when a Collection in Tenovos is downloaded.",
        "tags": [
          "Collections"
        ],
        "requestBody": {
          "description": "Information about a Collection when it is downloaded from Tenovos.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/collection.downloaded"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully"
          }
        }
      }
    },
    "collection.shared": {
      "post": {
        "summary": "Collection Shared",
        "operationId": "collection.shared",
        "description": "Receive a notification when a Collection in Tenovos is shared.",
        "tags": [
          "Collections"
        ],
        "requestBody": {
          "description": "Information about a Collection when it is shared.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/collection.shared"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully"
          }
        }
      }
    },
    "metadata.attribute.created": {
      "post": {
        "summary": "Attribute Created",
        "operationId": "metadata.attribute.created",
        "description": "Receive a notification when a Metadata Attribute is created in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Attribute that was created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.attribute.created"
              }
            }
          }
        }
      }
    },
    "metadata.attribute.deleted": {
      "post": {
        "summary": "Attribute Deleted",
        "operationId": "metadata.attribute.deleted",
        "description": "Receive a notification when a Metadata Attribute is deleted in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Attribute that was deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.attribute.deleted"
              }
            }
          }
        }
      }
    },
    "metadata.attribute.updated": {
      "post": {
        "summary": "Attribute Updated",
        "operationId": "metadata.attribute.updated",
        "description": "Receive a notification when a Metadata Attribute is updated in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Attribute that was deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.attribute.updated"
              }
            }
          }
        }
      }
    },
    "metadata.group.created": {
      "post": {
        "summary": "Group Created",
        "operationId": "metadata.group.created",
        "description": "Receive a notification when a Metadata Group is created in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Group that was created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.group.created"
              }
            }
          }
        }
      }
    },
    "metadata.group.deleted": {
      "post": {
        "summary": "Group Deleted",
        "operationId": "metadata.group.deleted",
        "description": "Receive a notification when a Metadata Group is deleted in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Group that was deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.group.deleted"
              }
            }
          }
        }
      }
    },
    "metadata.group.updated": {
      "post": {
        "summary": "Group Updated",
        "operationId": "metadata.group.updated",
        "description": "Receive a notification when a Metadata Group is updated in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Group that was updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.group.updated"
              }
            }
          }
        }
      }
    },
    "metadata.template.created": {
      "post": {
        "summary": "Template Created",
        "operationId": "metadata.template.created",
        "description": "Receive a notification when a Metadata Template is created in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Template that was created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.template.created"
              }
            }
          }
        }
      }
    },
    "metadata.template.deleted": {
      "post": {
        "summary": "Template Deleted",
        "operationId": "metadata.template.deleted",
        "description": "Receive a notification when a Metadata Template is deleted in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about an Metadata Template that was deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.template.deleted"
              }
            }
          }
        }
      }
    },
    "metadata.template.updated": {
      "post": {
        "summary": "Template Updated",
        "operationId": "metadata.template.updated",
        "description": "Receive a notification when a Metadata Template is updated in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about an Metadata Template that was updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.template.updated"
              }
            }
          }
        }
      }
    },
    "metadata.vocabulary.created": {
      "post": {
        "summary": "Vocabulary Created",
        "operationId": "metadata.vocabulary.created",
        "description": "Receive a notification when a Metadata Vocabulary (Controlled Vocabulary) is created in Tenovos.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Vocabulary that was created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.vocabulary.created"
              }
            }
          }
        }
      }
    },
    "metadata.vocabulary.deleted": {
      "post": {
        "summary": "Vocabulary Deleted",
        "operationId": "metadata.vocabulary.deleted",
        "description": "Receive a notification when a Metadata Vocabulary list (Controlled Vocabulary) is deleted in Tenovos.  This event applies to the entire list.  For the deletion of individual values, use the metadata.vocabulary.updated event.",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Vocabulary that was deleted.  This event applies to the entire list.  For the deletion of individual values, use the metadata.vocabulary.updated event.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.vocabulary.deleted"
              }
            }
          }
        }
      }
    },
    "metadata.vocabulary.updated": {
      "post": {
        "summary": "Vocabulary Updated",
        "operationId": "metadata.vocabulary.updated",
        "description": "Receive a notification when a Metadata Vocabulary list (Controlled Vocabulary) is updated in Tenovos.  This event applies to values being added to, removed from, or renamed in an existing vocabulary. ",
        "tags": [
          "Metadata"
        ],
        "requestBody": {
          "description": "Information about the Metadata Vocabulary that was updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/metadata.vocabulary.updated"
              }
            }
          }
        }
      }
    },
    "relationship.created": {
      "post": {
        "summary": "Relationship Created",
        "operationId": "relationship.created",
        "description": "Receive a notification when an asset relationship in Tenovos is created.",
        "tags": [
          "Relationships"
        ],
        "requestBody": {
          "description": "Information about an Asset when a new relationship to it is created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/relationship.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "relationship.deleted": {
      "post": {
        "summary": "Relationship Deleted",
        "operationId": "relationship.deleted",
        "description": "Receive a notification when an asset relationship in Tenovos is deleted.",
        "tags": [
          "Relationships"
        ],
        "requestBody": {
          "description": "Information about an Asset when it's relationship to another assets is deleted/removed.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/relationship.deleted"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "relationship.updated": {
      "post": {
        "summary": "Relationship Updated",
        "operationId": "relationship.updated",
        "description": "Receive a notification when an asset relationship in Tenovos is updated.",
        "tags": [
          "Relationships"
        ],
        "requestBody": {
          "description": "Information about an Asset when it's relationship to another assets is updated/changed.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/relationship.updated-2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "rm.project.created": {
      "post": {
        "summary": "Project Created",
        "operationId": "rm.project.created",
        "description": "Receive a notification when a Rights Management project in Tenovos is created.",
        "tags": [
          "Rights Management"
        ],
        "requestBody": {
          "description": "Information about a RM Project when it is created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rm.project.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "rm.project.updated": {
      "post": {
        "summary": "Project Updated",
        "operationId": "rm.project.updated",
        "description": "Receive a notification when a Rights Management Project in Tenovos is updated.",
        "tags": [
          "Rights Management"
        ],
        "requestBody": {
          "description": "Information about a RM Project when it is updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rm.project.updated"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "rm.project.deleted": {
      "post": {
        "summary": "Project Deleted",
        "operationId": "rm.project.deleted",
        "description": "Receive a notification when a Rights Management Project in Tenovos is deleted.",
        "tags": [
          "Rights Management"
        ],
        "requestBody": {
          "description": "Information about a RM Project when it is deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rm.project.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "rm.entity.created": {
      "post": {
        "summary": "Entity Created",
        "operationId": "rm.entity.created",
        "description": "Receive a notification when a Rights Management entity in Tenovos is created.",
        "tags": [
          "Rights Management"
        ],
        "requestBody": {
          "description": "Information about a RM Entity when it is created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rm.entity.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "rm.entity.updated": {
      "post": {
        "summary": "Entity Updated",
        "operationId": "rm.entity.updated",
        "description": "Receive a notification when a Rights Management entity in Tenovos is updated.",
        "tags": [
          "Rights Management"
        ],
        "requestBody": {
          "description": "Information about a RM Entity when it is updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rm.entity.updated"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "rm.entity.deleted": {
      "post": {
        "summary": "Entity Deleted",
        "operationId": "rm.entity.deleted",
        "description": "Receive a notification when a Rights Management entity in Tenovos is deleted.",
        "tags": [
          "Rights Management"
        ],
        "requestBody": {
          "description": "Information about a RM Entity when it is deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rm.entity.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "rm.agreement.created": {
      "post": {
        "summary": "Agreement Created",
        "operationId": "rm.agreement.created",
        "description": "Receive a notification when a Rights Management agreement in Tenovos is created.",
        "tags": [
          "Rights Management"
        ],
        "requestBody": {
          "description": "Information about a RM Agreement when it is created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rm.agreement.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "rm.agreement.updated": {
      "post": {
        "summary": "Agreement Updated",
        "operationId": "rm.agreement.updated",
        "description": "Receive a notification when a Rights Management agreement in Tenovos is updated.",
        "tags": [
          "Rights Management"
        ],
        "requestBody": {
          "description": "Information about a RM Agreement when it is updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rm.agreement.updated"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "rm.agreement.deleted": {
      "post": {
        "summary": "Agreement Deleted",
        "operationId": "rm.agreement.deleted",
        "description": "Receive a notification when a Rights Management agreement in Tenovos is deleted.",
        "tags": [
          "Rights Management"
        ],
        "requestBody": {
          "description": "Information about a RM Agreement when it is deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rm.agreement.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "request.created": {
      "post": {
        "summary": "Request Created",
        "operationId": "request.created",
        "description": "Receive a notification when a new Request is submitted",
        "tags": [
          "Requests"
        ],
        "requestBody": {
          "description": "Information about a new Request when it is submitted",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/request-2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "request.updated": {
      "post": {
        "summary": "Request Updated",
        "operationId": "request.updated",
        "description": "Receive a notification when a Request is updated",
        "tags": [
          "Requests"
        ],
        "requestBody": {
          "description": "Information about the changes made to a Request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/request.updated-2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "security.group.created": {
      "post": {
        "summary": "Group Created",
        "operationId": "security.group.created",
        "description": "Receive a notification when a new user Group is created in Tenovos.",
        "tags": [
          "Security"
        ],
        "requestBody": {
          "description": "Information about a Group when it is created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/group.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "security.group.updated": {
      "post": {
        "summary": "Group Updated",
        "operationId": "security.group.updated",
        "description": "Receive a notification when a Security Group is updated in Tenovos.",
        "tags": [
          "Security"
        ],
        "requestBody": {
          "description": "Information about a Group when it is updated. Currently, only the name of the group is editable.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/group.updated-2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "security.group.deleted": {
      "post": {
        "summary": "Group Deleted",
        "operationId": "security.group.deleted",
        "description": "Receive a notification when a Security Group is deleted in Tenovos.",
        "tags": [
          "Security"
        ],
        "requestBody": {
          "description": "Information about a Group when it is deleted.  Deleting a group from Tenovos will remove it from all assigned users.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/group.deleted"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "security.role.created": {
      "post": {
        "summary": "Role Created",
        "operationId": "security.role.created",
        "description": "Receive a notification when a new Group is created in Tenovos.",
        "tags": [
          "Security"
        ],
        "requestBody": {
          "description": "Information about a Role when it is created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/role.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "security.role.updated": {
      "post": {
        "summary": "Role Updated",
        "operationId": "security.role.updated",
        "description": "Receive a notification when a Role is updated in Tenovos.",
        "tags": [
          "Security"
        ],
        "requestBody": {
          "description": "Information about a Role when it is updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/role.updated-2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "security.role.deleted": {
      "post": {
        "summary": "Role Deleted",
        "operationId": "security.role.deleted",
        "description": "Receive a notification when a Role is deleted in Tenovos.",
        "tags": [
          "Security"
        ],
        "requestBody": {
          "description": "Information about a Role when it is deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/role.deleted"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "security.template.created": {
      "post": {
        "summary": "Template Created",
        "operationId": "security.template.created",
        "description": "Receive a notification when a Security Template is created in Tenovos.",
        "tags": [
          "Security"
        ],
        "requestBody": {
          "description": "Information about a Security Template when it is created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/template.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "security.template.updated": {
      "post": {
        "summary": "Template Updated",
        "operationId": "security.template.updated",
        "description": "Receive a notification when a Security Template is updated in Tenovos.",
        "tags": [
          "Security"
        ],
        "requestBody": {
          "description": "Information about a Security Template when it is updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/template.updated"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "security.template.deleted": {
      "post": {
        "summary": "Template Deleted",
        "operationId": "security.template.deleted",
        "description": "Receive a notification when a Security Template is deleted in Tenovos.",
        "tags": [
          "Security"
        ],
        "requestBody": {
          "description": "Information about a Security Template when it is deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/template.deleted"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "user.created": {
      "post": {
        "summary": "User Created",
        "operationId": "user.created",
        "description": "Receive a notification when a user account in Tenovos is created.",
        "tags": [
          "Users"
        ],
        "requestBody": {
          "description": "Information about a User when a new user account is added to Tenovos.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/user.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "user.updated": {
      "post": {
        "summary": "User Updated",
        "operationId": "user.updated",
        "description": "Receive a notification when a user account in Tenovos is updated.",
        "tags": [
          "Users"
        ],
        "requestBody": {
          "description": "Information about a User when a user account is updated in Tenovos.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/user.updated-2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "storyboard.created": {
      "post": {
        "summary": "Story Board Created",
        "operationId": "storyboard.created",
        "description": "Receive a notification when a Story Board in Tenovos is created.",
        "tags": [
          "Story Boards"
        ],
        "requestBody": {
          "description": "Information about a Story Board when it is created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/storyboard.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "storyboard.updated": {
      "post": {
        "summary": "Story Board Updated",
        "operationId": "storyboard.updated",
        "description": "Receive a notification when a Story Board in Tenovos is updated.",
        "tags": [
          "Story Boards"
        ],
        "requestBody": {
          "description": "Information about a Story Board when it is updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/storyboard.updated-2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "storyboard.deleted": {
      "post": {
        "summary": "Story Board Deleted",
        "operationId": "storyboard.deleted",
        "description": "Receive a notification when a Story Board in Tenovos is deleted.",
        "tags": [
          "Story Boards"
        ],
        "requestBody": {
          "description": "Information about a Story Board when it is deleted.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/storyboard.deleted"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "storyboard.shared": {
      "post": {
        "summary": "Story Board Shared",
        "operationId": "storyboard.shared",
        "description": "Receive a notification when a Story Board in Tenovos is shared.",
        "tags": [
          "Story Boards"
        ],
        "requestBody": {
          "description": "Information about a Story Board when it is shared.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/storyboard.shared"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "storyboard.restored": {
      "post": {
        "summary": "Story Board Restored",
        "operationId": "storyboard.restored",
        "description": "Receive a notification when a Story Board in Tenovos is restored from the Recycle Bin.",
        "tags": [
          "Story Boards"
        ],
        "requestBody": {
          "description": "Information about a Story Board when it is restored.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/storyboard.restored"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "storyboard.purged": {
      "post": {
        "summary": "Story Board Purged",
        "operationId": "storyboard.purged",
        "description": "Receive a notification when a Story Board in Tenovos is purged from the Recycle Bin.  Once a Story Board is purged, it can't be recovered.",
        "tags": [
          "Story Boards"
        ],
        "requestBody": {
          "description": "Information about a Story Board when it is purged.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/storyboard.purged"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully",
            "headers": {
              "webhook-id": {
                "schema": {
                  "type": "string"
                },
                "description": "The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure)."
              },
              "webhook-timestamp": {
                "schema": {
                  "type": "string"
                },
                "description": "Timestamp in seconds since epoch."
              },
              "webhook-signature": {
                "schema": {
                  "type": "string"
                },
                "description": "The Base64 encoded list of signatures (space delimitated)"
              }
            }
          }
        }
      }
    },
    "version.created": {
      "post": {
        "summary": "Version Created",
        "operationId": "version.created",
        "description": "Receive a notification when an Asset in Tenovos is versioned.",
        "tags": [
          "Versions"
        ],
        "requestBody": {
          "description": "Information about an Asset when it is versioned.  Initial ingest of an asset creates the first version, and is not covered by this event.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/version.created"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to Tenovos to indicate that the data was received successfully"
          }
        }
      }
    }
  },
  "externalDocs": {
    "description": "Find out more about Tenovos",
    "url": "https://tenovos.com"
  },
  "servers": [
    {
      "url": "https://api.tenovos.io/v2"
    },
    {
      "url": "https://api.uat.tenovos.io/v2"
    }
  ],
  "security": [
    {
      "OAuth2": []
    }
  ],
  "tags": [
    {
      "name": "Assets",
      "description": "Asset related events"
    },
    {
      "name": "Collections",
      "description": "Collection related events"
    },
    {
      "name": "EventPulse",
      "description": "Tenovos EventPulse is **COMING SOON!**\n\nReceive a notification when an event occurs from human interaction and decision making (button click, etc.). In support of manually triggered events, EventPulse \nbrings a human touch to Webhooks. EventPulse notifications contain an array of objects for which an event has been raised, manually. Tenovos will offer \nAdministrative configuration of these special events from the Admin --> Webhooks page, or they can be incorporated into customer managed user interfaces. \n\nTenovos API v1.5 will also fully support EventPulse with several new endpoints.\n\nThese capabilities are currently supported via Tenovos Actions, which consists of Asset Actions, Web Actions, and Workflow Actions. EventPulse replaces and \nextends these capabilities to all customers in a manner customers can manage and control themselves.  "
    },
    {
      "name": "Metadata",
      "description": "These events are raised when a user with Administrative privileges take various actions within the Metadata section of the Platform.  This includes\nMetadata Templates, Metadata Groups, Controlled Vocabularies, and Metadata Attributes."
    },
    {
      "name": "Requests",
      "description": "Requests represent a **one step workflow** within Tenovos.  Users with the Request Management and Request Inbox privileges can see and manage any type of request in the system. \nEach request is assigned a specific *type*, which can be defined based on your needs.  Examples include: \n  - Upload\n  - Download\n  - Asset Change\n  - Merchandising Review\n  - Archive\n\nIn these examples, one or more assets are part of a request, and each asset can be assigned to a different user for review. The reviewer can updated the status of each asset \nthey are assigned to, such as *Approved*, *Rejected*, *In Progress*, *Auto Approved*, etc.  The request itself can also have a status.  These terms are completely customizable, and therefore are not an enum in the API documentation."
    },
    {
      "name": "Relationships",
      "description": "Relationship related events"
    },
    {
      "name": "Rights Management",
      "description": "Rights Management related events."
    },
    {
      "name": "Security",
      "description": "These events are raised when a user with Administrative privileges take various actions within the Administration section of the Platform.  This includes\nGroups, Roles, Security Templates, and more."
    },
    {
      "name": "Story Boards",
      "description": "Story Board related events"
    },
    {
      "name": "Users",
      "description": "User related events"
    }
  ],
  "components": {
    "securitySchemes": {
      "BasicAuth": {
        "type": "http",
        "scheme": "basic"
      },
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer"
      },
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      },
      "OAuth2": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://api.tenovos.io/v2/oauth/authorize",
            "tokenUrl": "https://api.tenovos.io/v2/oauth/token",
            "scopes": {
              "read": "Grants read access",
              "write": "Grants write access",
              "admin": "Grants access to admin operations"
            }
          }
        }
      }
    },
    "schemas": {
      "event": {
        "type": "object",
        "description": "Object containing event information and the user who triggered the event.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the webhook event itself",
            "example": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5"
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "Date/Time that the webhook event occurred.",
            "example": "2024-05-09T17:55:28.462Z"
          },
          "user": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The Tenovos User ID for the user who caused the event",
                "example": "7d675ef0-f423-11e9-8071-89c0c405214e"
              },
              "firstName": {
                "type": "string",
                "description": "First Name of the User",
                "example": "Erlich"
              },
              "lastName": {
                "type": "string",
                "description": "Last Name of the User",
                "example": "Bachman"
              }
            }
          }
        }
      },
      "asset": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique asset identifier from Tenovos",
            "example": "cdff2214-3873-4cc4-8e2e-94fcec784343"
          },
          "filename": {
            "type": "string",
            "description": "The filename given to the asset.",
            "example": "pied-piper-grandopening.tif"
          },
          "metadataTemplate": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The unique identifier for the metadata template",
                "example": "ea6eb24d-adef-4380-bd02-f64f567c437f"
              },
              "name": {
                "type": "string",
                "description": "The name of the Metadata Template",
                "example": "Corporate Images"
              }
            }
          },
          "securityTemplates": {
            "type": "array",
            "description": "Each object represents a security template applied to the asset",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The unique identifier of the security template",
                  "example": "ab6faea8-6a31-4f83-9ab4-f990c325191e"
                },
                "name": {
                  "type": "string",
                  "description": "The human-readable name of the security template",
                  "example": "Full Access"
                }
              }
            }
          }
        }
      },
      "asset.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "asset.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "asset": {
            "$ref": "#/components/schemas/asset"
          }
        }
      },
      "asset.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "asset.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "asset": {
            "$ref": "#/components/schemas/asset"
          }
        }
      },
      "assets": {
        "type": "array",
        "description": "Contains an object for each asset that was downloaded.  For single asset downloads, the array will only contain one object.  For bulk downloads, there will be one object for each asset downloaded.",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "description": "Unique asset identifier from Tenovos",
              "example": "cdff2214-3873-4cc4-8e2e-94fcec784343"
            },
            "filename": {
              "type": "string",
              "description": "The filename given to the asset.",
              "example": "pied-piper-grandopening.tif"
            }
          }
        }
      },
      "asset.downloaded": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "asset.downloaded"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "assets": {
            "$ref": "#/components/schemas/assets"
          }
        }
      },
      "asset.purged": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "asset.purged"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "asset": {
            "$ref": "#/components/schemas/asset"
          }
        }
      },
      "renditions": {
        "type": "object",
        "properties": {
          "thumbnail": {
            "type": "string",
            "format": "uri",
            "description": "Uri of the 200x200 rendition of the master content",
            "example": "https://host.io/1571671854145/3a76743f-45f6-4d30-a7d4-05de2dc8c232/cc8f089a-1464-89d5-42f6-77217a9f09f2-200x200.png"
          },
          "preview": {
            "type": "string",
            "format": "uri",
            "description": "Uri of the 700x700 rendition of the master content",
            "example": "https://host.io/1571671854145/3a76743f-45f6-4d30-a7d4-05de2dc8c232/cc8f089a-1464-42f6-89d5-77217a9f09f2-700x700.png"
          },
          "large": {
            "type": "string",
            "format": "uri",
            "description": "Uri of the 1000x1000 rendition of the master content",
            "example": "https://host.io/1571671854145/3a76743f-45f6-4d30-a7d4-05de2dc8c232/adventure-alps-beautiful-landscape-1000x1000.png"
          },
          "mezzanine": {
            "type": "string",
            "format": "uri",
            "description": "Uri of the 3000x3000 rendition of the master content",
            "example": "https://host.io/1571671854145/3a76743f-45f6-4d30-a7d4-05de2dc8c232/adventure-alps-beautiful-landscape-3000x3000.png"
          }
        }
      },
      "asset.renditions": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique asset identifier from Tenovos",
            "example": "cdff2214-3873-4cc4-8e2e-94fcec784343"
          },
          "filename": {
            "type": "string",
            "description": "The filename given to the asset.",
            "example": "pied-piper-grandopening.tif"
          },
          "metadataTemplate": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The unique identifier for the metadata template",
                "example": "ea6eb24d-adef-4380-bd02-f64f567c437f"
              },
              "name": {
                "type": "string",
                "description": "The name of the Metadata Template",
                "example": "Corporate Images"
              }
            }
          },
          "securityTemplates": {
            "type": "array",
            "description": "Each object represents a security template applied to the asset",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The unique identifier of the security template",
                  "example": "ab6faea8-6a31-4f83-9ab4-f990c325191e"
                },
                "name": {
                  "type": "string",
                  "description": "The human-readable name of the security template",
                  "example": "Full Access"
                }
              }
            }
          },
          "renditions": {
            "$ref": "#/components/schemas/renditions"
          }
        }
      },
      "asset.renditions.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "asset.renditions.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "asset": {
            "$ref": "#/components/schemas/asset.renditions"
          }
        }
      },
      "share": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Indicates the type of share event, either internal or external",
            "example": "External",
            "enum": [
              "Internal",
              "External",
              "Internal Share Link Created"
            ]
          },
          "recipients": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "example": [
              "richard.hendricks@piedpiper.com",
              "gavin.belson@huli.com"
            ]
          },
          "assets": {
            "type": "array",
            "minItems": 1,
            "maxItems": 500,
            "items": {
              "type": "object",
              "properties": {
                "filename": {
                  "type": "string",
                  "description": "The filename for the asset that was shared",
                  "example": "piper-logo.jpg"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The Tenovos Asset Identifier"
                }
              }
            }
          }
        }
      },
      "asset.shared": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "asset.shared"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "share": {
            "$ref": "#/components/schemas/share"
          }
        }
      },
      "asset.security.updated": {
        "type": "object",
        "properties": {
          "asset": {
            "type": "object",
            "description": "Object containing all asset related data.",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Unique asset identifier from Tenovos",
                "example": "cdff2214-3873-4cc4-8e2e-94fcec784343"
              },
              "filename": {
                "type": "string",
                "description": "The filename given to the asset.",
                "example": "pied-piper-grandopening.tif"
              },
              "metadataTemplate": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The unique identifier for the metadata template",
                    "example": "ea6eb24d-adef-4380-bd02-f64f567c437f"
                  },
                  "name": {
                    "type": "string",
                    "description": "The name of the Metadata Template",
                    "example": "Corporate Images"
                  }
                }
              },
              "security": {
                "type": "object",
                "description": "Object containing security template data regarding the update that occurred.  Both the *previous* and *current* values are provided.",
                "properties": {
                  "current": {
                    "type": "array",
                    "description": "An array of the security templates currently applied to an asset.  This represents the latest security applied to the asset as of the timestamp in the payload.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "The Tenovos Security Template Identifier",
                          "example": "2c328f78-52cc-42c4-92a8-1d4e1e802b00"
                        },
                        "name": {
                          "type": "string",
                          "description": "The name of the Security Template.",
                          "example": "Restricted Use"
                        }
                      }
                    }
                  },
                  "previous": {
                    "type": "array",
                    "description": "An array of the security templates which were previously applied to an asset prior to being updated to the current values.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "The Tenovos Security Template Identifier",
                          "example": "4c328f76-52cc-12c4-72x8-5g4e1e802b77"
                        },
                        "name": {
                          "type": "string",
                          "description": "The name of the Security Template.",
                          "example": "Public Use"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "asset.security.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          }
        }
      },
      "metadata.text": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Attribute",
            "example": "Publication"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Hooli News"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "Not Wired"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "text"
          }
        }
      },
      "metadata.date": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Attribute",
            "example": "Expiration Date"
          },
          "currentValue": {
            "type": "string",
            "format": "date",
            "description": "Value applied to the attribute from the update",
            "example": "12/31/2024"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "10/31/2024"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "date"
          }
        }
      },
      "metadata.singleselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Attribute",
            "example": "Rights Approved"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Yes"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "No"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "single-select"
          }
        }
      },
      "metadata.multiselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Attribute",
            "example": "Media Types"
          },
          "currentValues": {
            "type": "array",
            "description": "Array of values applied to the attribute from the update",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value applied to the attribute",
              "example": [
                "Music",
                "Audio"
              ]
            }
          },
          "previousValues": {
            "type": "array",
            "description": "Array of values applied to this attribute prior to this latest change.",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value previously applied to the attribute, prior to the update."
            },
            "example": [
              "Audio"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "multi-select"
          }
        }
      },
      "attributesChanged": {
        "type": "array",
        "description": "Array containing the unique identifier and name of each metadata attribute that was updated within the associated table as part of the event.",
        "minItems": 1,
        "maxItems": 100,
        "items": {
          "type": "object",
          "description": "Object containing the metadata attribute unique identifier and the name/label given to the Attribute.  **Note - attribute names/labels can be updated and are not static**",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "description": "The Unique Identifier of the Metadata Attribute that was changed",
              "example": "b67ba2bb-9539-4221-99f3-cca7aeba78ab"
            },
            "name": {
              "type": "string",
              "description": "The name given to the attribute that is displayed on Tenovos Metadata screens/pages.",
              "example": "Link Label"
            }
          }
        }
      },
      "table": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "8cb8a7e9-9c6d-4669-86ca-293f317fc56a"
          },
          "name": {
            "type": "string",
            "example": "Link Table"
          },
          "rows": {
            "type": "object",
            "properties": {
              "current": {
                "type": "integer",
                "format": "int32",
                "description": "The number of rows within the table after the associated update was applied",
                "example": 4
              },
              "previous": {
                "type": "integer",
                "format": "int32",
                "description": "The number of rows within the table before the associated update was applied"
              }
            }
          },
          "type": {
            "type": "string",
            "description": "The type of metadata object",
            "example": "table"
          },
          "attributesChanged": {
            "$ref": "#/components/schemas/attributesChanged"
          }
        }
      },
      "asset.updated": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique asset identifier from Tenovos",
            "example": "cdff2214-3873-4cc4-8e2e-94fcec784343"
          },
          "filename": {
            "type": "string",
            "description": "The filename given to the asset.",
            "example": "pied-piper-grandopening.tif"
          },
          "metadataTemplate": {
            "type": "object",
            "description": "Represents the new metadata template applied to the asset",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The unique identifier for the metadata template",
                "example": "ea6eb24d-adef-4380-bd02-f64f567c437f"
              },
              "name": {
                "type": "string",
                "description": "The name of the Metadata Template",
                "example": "Corporate Images"
              },
              "previousValue": {
                "type": "object",
                "description": "Represents the previous metadata template applied to the asset. If the metadata template was not updated as part of the edit, the id and name fields will be blank.",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The unique identifier of the previous metadata template. Will be blank if metadata template was not changed.",
                    "example": "12345678-1234-1234-1234-123456789012"
                  },
                  "name": {
                    "type": "string",
                    "description": "The name of the previous Metadata Template. Will be blank if metadata template was not changed.",
                    "example": "Basic Images"
                  }
                }
              }
            }
          },
          "securityTemplates": {
            "type": "array",
            "description": "Array of the security templates currently applied to the asset.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The unique identifier for the security template.",
                  "example": "950d27f9-f4f2-4862-ab21-ab34be61d629"
                },
                "name": {
                  "type": "string",
                  "description": "The name of the security template.",
                  "example": "Pied Piper Confidential"
                }
              }
            }
          },
          "updates": {
            "type": "array",
            "description": "Array of objects for each metadata property/attribute that was updated.  Updates within tables will only reflect the table itself, not the changes made to values within the table.",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/metadata.text"
                },
                {
                  "$ref": "#/components/schemas/metadata.date"
                },
                {
                  "$ref": "#/components/schemas/metadata.singleselect"
                },
                {
                  "$ref": "#/components/schemas/metadata.multiselect"
                },
                {
                  "$ref": "#/components/schemas/table"
                }
              ]
            }
          }
        }
      },
      "asset.metadata.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "asset.metadata.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "asset": {
            "$ref": "#/components/schemas/asset.updated"
          }
        }
      },
      "asset.restored": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "asset.restored"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "asset": {
            "$ref": "#/components/schemas/asset"
          }
        }
      },
      "collection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the Collection from Tenovos",
            "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
          },
          "name": {
            "type": "string",
            "description": "The name given to the Collection",
            "example": "Outdoor 2025 Spring Catalog"
          },
          "type": {
            "type": "string",
            "description": "The type of collection, either shared or private",
            "enum": [
              "Private",
              "Shared"
            ]
          }
        }
      },
      "collection.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "collection.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "collection": {
            "$ref": "#/components/schemas/collection"
          }
        }
      },
      "collection.text": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Collection",
            "example": "Collection name"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Shared Collection ABC"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "Shared Collection XYZ"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "text"
          }
        }
      },
      "collection.singleselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Collection",
            "example": "Collection Priority"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "1 - Lowest"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "9 - Highest"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "single-select"
          }
        }
      },
      "collection.multiselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Collection",
            "example": "Media Types"
          },
          "currentValues": {
            "type": "array",
            "description": "Array of values applied to the attribute from the update",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value applied to the attribute",
              "example": [
                "Music",
                "Audio"
              ]
            }
          },
          "previousValues": {
            "type": "array",
            "description": "Array of values applied to this attribute prior to this latest change.",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value previously applied to the attribute, prior to the update."
            },
            "example": [
              "Audio"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "multi-select"
          }
        }
      },
      "collection.date": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Collection",
            "example": "Expiration Date"
          },
          "currentValue": {
            "type": "string",
            "format": "date",
            "description": "Value applied to the attribute from the update",
            "example": "12/31/2024"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "10/31/2024"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "date"
          }
        }
      },
      "collection.metadata": {
        "type": "array",
        "description": "Array containing an object for each metadata attribute that was updated on the associated Collection.  Attributes not updated are not included in the payload.",
        "minItems": 1,
        "maxItems": 250,
        "items": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/collection.text"
            },
            {
              "$ref": "#/components/schemas/collection.singleselect"
            },
            {
              "$ref": "#/components/schemas/collection.multiselect"
            },
            {
              "$ref": "#/components/schemas/collection.date"
            },
            {
              "$ref": "#/components/schemas/table"
            }
          ]
        }
      },
      "collection.security": {
        "type": "object",
        "description": "Object containing the current and previous values of the updated collection.  'previousValues' represents the Security Template values applied to the Collection before the updates we made.",
        "properties": {
          "current": {
            "type": "array",
            "description": "Array containing the Security Template values applied to the Collection after this updates was saved.",
            "minItems": 0,
            "maxItems": 250,
            "items": {
              "type": "object",
              "description": "Object containing the unique identifier and name of the Security Template(s) currently applied to the Collection.",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "Unique Identifier of the Security Template.",
                  "example": "42b5dc04-79af-4911-93aa-96d73b1c2f75\""
                },
                "name": {
                  "type": "string",
                  "description": "The name given to the Security Template",
                  "example": "View and Download Consumer"
                }
              }
            }
          },
          "previous": {
            "type": "array",
            "description": "Array containing the Security Template values applied to the Collection before this update was made.",
            "minItems": 0,
            "maxItems": 250,
            "items": {
              "type": "object",
              "description": "Object containing the unique identifier and name of the Security Template(s) currently applied to the Collection.",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "Unique Identifier of the Security Template.",
                  "example": "71f5dc03-79af-4911-73aa-56d73b1c2a56\""
                },
                "name": {
                  "type": "string",
                  "description": "The name given to the Security Template",
                  "example": "View Only"
                }
              }
            }
          }
        }
      },
      "collection.updated": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the Collection from Tenovos",
            "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
          },
          "name": {
            "type": "string",
            "description": "The name given to the Collection",
            "example": "Outdoor 2025 Spring Catalog"
          },
          "type": {
            "type": "string",
            "description": "The type of collection, either shared or private",
            "enum": [
              "Private",
              "Shared"
            ]
          },
          "metadata": {
            "$ref": "#/components/schemas/collection.metadata"
          },
          "security": {
            "$ref": "#/components/schemas/collection.security"
          }
        }
      },
      "collection.updated-2": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "collection.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "collection": {
            "$ref": "#/components/schemas/collection.updated"
          }
        }
      },
      "collection.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "collection.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "collection": {
            "$ref": "#/components/schemas/collection"
          }
        }
      },
      "collection.assets.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "collection.assets.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "collection": {
            "type": "object",
            "description": "Object containing information regarding the collection and the assets it contains.",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The unique identifier of the Collection from Tenovos",
                "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
              },
              "name": {
                "type": "string",
                "description": "The name given to the Collection",
                "example": "Outdoor 2025 Spring Catalog"
              },
              "type": {
                "type": "string",
                "description": "The type of collection, either shared or private",
                "enum": [
                  "Private",
                  "Shared"
                ]
              },
              "assets": {
                "type": "object",
                "description": "Object containing the Asset IDs for any assets added to and/or removed from the collection as part of the update event.",
                "properties": {
                  "added": {
                    "type": "array",
                    "description": "Array of Asset IDs for each asset that was added to the collection as part of the update event.",
                    "items": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Asset Unique Identifiers"
                    },
                    "minItems": 0,
                    "maxItems": 5000
                  },
                  "removed": {
                    "type": "array",
                    "description": "Array of Asset IDs for each asset that was removed from the collection as part of the update event.",
                    "items": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Asset Unique Identifiers"
                    },
                    "minItems": 0,
                    "maxItems": 5000
                  }
                }
              }
            }
          }
        }
      },
      "collection.assets.updated.added": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "collection.assets.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "collection": {
            "type": "object",
            "description": "Object containing information regarding the collection and the assets it contains.",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The unique identifier of the Collection from Tenovos",
                "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
              },
              "name": {
                "type": "string",
                "description": "The name given to the Collection",
                "example": "Outdoor 2025 Spring Catalog"
              },
              "type": {
                "type": "string",
                "description": "The type of collection, either shared or private",
                "enum": [
                  "Private",
                  "Shared"
                ]
              },
              "assets": {
                "type": "object",
                "description": "Object containing the Asset IDs for any assets added to and/or removed from the collection as part of the update event.",
                "properties": {
                  "added": {
                    "type": "array",
                    "description": "Array of Asset IDs for each asset that was added to the collection as part of the update event.",
                    "items": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Asset Unique Identifiers"
                    },
                    "minItems": 0,
                    "maxItems": 5000
                  }
                }
              }
            }
          }
        }
      },
      "collection.assets.updated.removed": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "collection.assets.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "collection": {
            "type": "object",
            "description": "Object containing information regarding the collection and the assets it contains.",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The unique identifier of the Collection from Tenovos",
                "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
              },
              "name": {
                "type": "string",
                "description": "The name given to the Collection",
                "example": "Outdoor 2025 Spring Catalog"
              },
              "type": {
                "type": "string",
                "description": "The type of collection, either shared or private",
                "enum": [
                  "Private",
                  "Shared"
                ]
              },
              "assets": {
                "type": "object",
                "description": "Object containing the Asset IDs for any assets added to and/or removed from the collection as part of the update event.",
                "properties": {
                  "removed": {
                    "type": "array",
                    "description": "Array of Asset IDs for each asset that was removed from the collection as part of the update event.",
                    "items": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Asset Unique Identifiers"
                    },
                    "minItems": 0,
                    "maxItems": 5000
                  }
                }
              }
            }
          }
        }
      },
      "collection.downloaded": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "collection.downloaded"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "collection": {
            "$ref": "#/components/schemas/collection"
          }
        }
      },
      "collection.share": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Indicates the type of share event.  Collections can only be shared with other Tenovos users in your account.",
            "example": "Internal",
            "enum": [
              "Internal"
            ]
          },
          "recipients": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "example": [
              "richard.hendricks@piedpiper.com",
              "gavin.belson@huli.com"
            ]
          },
          "collection": {
            "$ref": "#/components/schemas/collection"
          }
        }
      },
      "collection.shared": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "collection.shared"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "share": {
            "$ref": "#/components/schemas/collection.share"
          }
        }
      },
      "metadata.attribute.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.attribute.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "attribute": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "example": "text",
                "enum": [
                  "text",
                  "textarea",
                  "dropdown",
                  "date"
                ]
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Attribute ID",
                "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
              },
              "name": {
                "type": "string",
                "description": "The given name for the Metadata Attribute.",
                "example": "Title"
              }
            }
          }
        }
      },
      "metadata.attribute.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.attribute.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "attribute": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "example": "date",
                "enum": [
                  "text",
                  "textarea",
                  "dropdown",
                  "date"
                ]
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Attribute ID",
                "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
              },
              "name": {
                "type": "string",
                "description": "The given name for the Metadata Attribute.",
                "example": "Publication Date"
              }
            }
          }
        }
      },
      "metadata.attribute.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.attribute.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "attribute": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "example": "date",
                "enum": [
                  "text",
                  "textarea",
                  "dropdown",
                  "date"
                ]
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Attribute ID",
                "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
              },
              "name": {
                "type": "object",
                "description": "The previous and current values for the name given to the Attribute",
                "properties": {
                  "previous": {
                    "type": "string",
                    "description": "The value for the name of the Attribute prior to the associated update",
                    "example": "Title"
                  },
                  "current": {
                    "type": "string",
                    "description": "The value for the name of the Attribute after the associated update",
                    "example": "Publication Title"
                  }
                }
              },
              "properties": {
                "type": "object",
                "description": "Current and Previous values for the properties of the attribute",
                "properties": {
                  "current": {
                    "type": "object",
                    "anyOf": [
                      {
                        "title": "required",
                        "properties": {
                          "required": {
                            "type": "boolean",
                            "example": false
                          }
                        }
                      },
                      {
                        "title": "searchable",
                        "properties": {
                          "searchable": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "sort by hit count",
                        "properties": {
                          "sortByHitCount": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "facetable",
                        "properties": {
                          "facetable": {
                            "type": "boolean",
                            "example": false
                          }
                        }
                      },
                      {
                        "title": "system",
                        "properties": {
                          "system": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "sensitive",
                        "properties": {
                          "sensitive": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "read only",
                        "properties": {
                          "readOnly": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "type ahead",
                        "properties": {
                          "typeahead": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "max length",
                        "properties": {
                          "maxLength": {
                            "type": "integer",
                            "example": 100
                          }
                        }
                      },
                      {
                        "title": "tooltip",
                        "properties": {
                          "tooltip": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "title": "technical metadata mapping",
                        "properties": {
                          "technicalMetadataMapping": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "title": "multi-select",
                        "properties": {
                          "multiSelect": {
                            "type": "boolean"
                          }
                        }
                      }
                    ]
                  },
                  "previous": {
                    "type": "object",
                    "anyOf": [
                      {
                        "title": "required",
                        "properties": {
                          "required": {
                            "type": "boolean",
                            "example": true
                          }
                        }
                      },
                      {
                        "title": "searchable",
                        "properties": {
                          "searchable": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "sort by hit count",
                        "properties": {
                          "sortByHitCount": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "facetable",
                        "properties": {
                          "facetable": {
                            "type": "boolean",
                            "example": false
                          }
                        }
                      },
                      {
                        "title": "system",
                        "properties": {
                          "system": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "sensitive",
                        "properties": {
                          "sensitive": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "read only",
                        "properties": {
                          "readOnly": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "type ahead",
                        "properties": {
                          "typeahead": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "title": "max length",
                        "properties": {
                          "maxLength": {
                            "type": "integer",
                            "example": 50
                          }
                        }
                      },
                      {
                        "title": "tooltip",
                        "properties": {
                          "tooltip": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "title": "technical metadata mapping",
                        "properties": {
                          "technicalMetadataMapping": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "title": "multi-select",
                        "properties": {
                          "multiSelect": {
                            "type": "boolean"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "metadata.group.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.group.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "group": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Definition ID of the Group.",
                "example": "6a6724fa-ef25-4f64-8f12-3cd56f7f9f58"
              },
              "name": {
                "type": "string",
                "description": "Metadata Definition Name.",
                "example": "Publication Information"
              }
            }
          }
        }
      },
      "metadata.group.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.group.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "group": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Definition ID of the Group.",
                "example": "6a6724fa-ef25-4f64-8f12-3cd56f7f9f58"
              },
              "name": {
                "type": "string",
                "description": "Metadata Definition Name.",
                "example": "Publication Information"
              }
            }
          }
        }
      },
      "metadata.group.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.group.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "group": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Definition ID of the Group.",
                "example": "6a6724fa-ef25-4f64-8f12-3cd56f7f9f58"
              },
              "name": {
                "type": "object",
                "description": "Metadata Definition Name.",
                "properties": {
                  "previous": {
                    "type": "string",
                    "description": "The value for the name of the Group prior to the associated update",
                    "example": "Publication Information"
                  },
                  "current": {
                    "type": "string",
                    "description": "The value for the name of the Group after the associated update",
                    "example": "Publication Data"
                  }
                }
              },
              "attributes": {
                "type": "object",
                "anyOf": [
                  {
                    "title": "Attributes Added",
                    "properties": {
                      "added": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "example": "date",
                              "enum": [
                                "text",
                                "textarea",
                                "dropdown",
                                "date"
                              ]
                            },
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "description": "Metadata Attribute ID",
                              "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
                            },
                            "name": {
                              "type": "string",
                              "description": "The value for the name of the Attribute prior to the associated update",
                              "example": "Expiration Date"
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "title": "Attributes removed",
                    "properties": {
                      "removed": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "example": "text",
                              "enum": [
                                "text",
                                "textarea",
                                "dropdown",
                                "date"
                              ]
                            },
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "description": "Metadata Attribute ID",
                              "example": "b53e24ab-24c0-496b-8a44-fd281ad01bb3"
                            },
                            "name": {
                              "type": "string",
                              "description": "The value for the name of the Attribute prior to the associated update",
                              "example": "Year"
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "metadata.template.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.template.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "template": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Template ID",
                "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
              },
              "name": {
                "type": "string",
                "description": "The given name for the Metadata Template.",
                "example": "Publication Assets"
              },
              "type": {
                "type": "string",
                "description": "Defines the type of Metadata Template. Asset is the most common.",
                "enum": [
                  "Asset",
                  "Action",
                  "Action Form",
                  "Supporting",
                  "Proof Submission"
                ],
                "example": "Asset"
              }
            }
          }
        }
      },
      "metadata.template.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.template.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "template": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Template ID",
                "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
              },
              "name": {
                "type": "string",
                "description": "The given name for the Metadata Template.",
                "example": "Publication Assets"
              },
              "type": {
                "type": "string",
                "description": "Defines the type of Metadata Template. Asset is the most common.",
                "enum": [
                  "Asset",
                  "Action",
                  "Action Form",
                  "Supporting",
                  "Proof Submission"
                ],
                "example": "Asset"
              }
            }
          }
        }
      },
      "metadata.template.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.template.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "template": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Template ID",
                "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
              },
              "name": {
                "type": "object",
                "description": "The previous and current values for the name given to the Template",
                "properties": {
                  "previous": {
                    "type": "string",
                    "description": "The value for the name of the Template prior to the associated update",
                    "example": "Editorial Assets"
                  },
                  "current": {
                    "type": "string",
                    "description": "The value for the name of the Template after the associated update",
                    "example": "Publication Assets"
                  }
                }
              },
              "type": {
                "type": "object",
                "description": "Defines the current and previous values for the Metadata Type. Asset is the most common.",
                "properties": {
                  "previous": {
                    "type": "string",
                    "enum": [
                      "Asset",
                      "Action",
                      "Action Form",
                      "Supporting",
                      "Proof Submission"
                    ],
                    "example": "Asset"
                  },
                  "current": {
                    "type": "string",
                    "enum": [
                      "Asset",
                      "Action",
                      "Action Form",
                      "Supporting",
                      "Proof Submission"
                    ],
                    "example": "Action"
                  }
                }
              },
              "groups": {
                "type": "object",
                "properties": {
                  "added": {
                    "type": "array",
                    "description": "Array of Groups for each Group that was added to the template as part of the update event.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "groupId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "17af827a-258c-4213-ad3c-9aaa53d151a8",
                          "description": "Metadata Group Unique Identifiers"
                        },
                        "groupName": {
                          "type": "string",
                          "example": "Talent Information"
                        }
                      }
                    }
                  },
                  "removed": {
                    "type": "array",
                    "description": "Array of Groups for each Group that was removed from the template as part of the update event.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "groupId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "e9ce1539-370b-4700-a28f-29c3b324f5ab",
                          "description": "Metadata Group Unique Identifiers"
                        },
                        "groupName": {
                          "type": "string",
                          "example": "Brand Information"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "metadata.vocabulary.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.vocabulary.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "vocabulary": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Definition ID of the Vocabulary list.",
                "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
              },
              "name": {
                "type": "string",
                "description": "Metadata Definition Name.",
                "example": "Title"
              },
              "values": {
                "type": "array",
                "description": "Values available in the vocabulary list.",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Vocabulary ID",
                      "example": "79405868-c4ad-407a-a5c1-a57d81e8c02b"
                    },
                    "value": {
                      "type": "string",
                      "description": "The text value of the vocabulary items",
                      "example": "Widget ABC"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "metadata.vocabulary.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.vocabulary.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "vocabulary": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Definition ID of the Vocabulary list.",
                "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
              },
              "name": {
                "type": "string",
                "description": "Metadata Definition Name.",
                "example": "Title"
              }
            }
          }
        }
      },
      "metadata.vocabulary.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "metadata.vocabulary.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "vocabulary": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Metadata Definition ID of the Vocabulary list.",
                "example": "197f0ebb-5e82-4e8d-97f4-94f1e1aa3d2e"
              },
              "name": {
                "type": "object",
                "description": "Metadata Definition Name current and previous values.",
                "properties": {
                  "previous": {
                    "type": "string",
                    "description": "The value for the name of the Vocabulary list prior to the associated update",
                    "example": "Boats"
                  },
                  "current": {
                    "type": "string",
                    "description": "The value for the name of the Vocabulary list after the associated update",
                    "example": "Boat Type"
                  }
                }
              },
              "values": {
                "type": "object",
                "properties": {
                  "added": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "Vocabulary ID",
                          "example": "15e277db-ab3f-4baa-9913-3d75e9e22b58"
                        },
                        "value": {
                          "type": "string",
                          "description": "The text value of the vocabulary items",
                          "example": "Pontoon"
                        }
                      }
                    }
                  },
                  "removed": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "Vocabulary ID",
                          "example": "74157e86d-0eea-46a8-ade1-d5c483c08f0a"
                        },
                        "value": {
                          "type": "string",
                          "description": "The text value of the vocabulary items",
                          "example": "Bowrider"
                        }
                      }
                    }
                  },
                  "updated": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "Vocabulary ID",
                          "example": "74157e86d-0eea-46a8-ade1-d5c483c08f0a"
                        },
                        "value": {
                          "type": "object",
                          "description": "Provides both the current and previous values for a vocabulary item that was updated.",
                          "properties": {
                            "current": {
                              "type": "string",
                              "description": "The current value applied to the vocabulary item, after the associated update was made.",
                              "example": "New Hampshire"
                            },
                            "previous": {
                              "type": "string",
                              "description": "The previous value applied to the vocabulary item, prior to the associated update being made.",
                              "example": "NH"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "relationship": {
        "type": "object",
        "properties": {
          "linkType": {
            "type": "string",
            "description": "Defines the type of relationship between assets",
            "example": "child"
          },
          "primaryId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the asset designated as the parent of this relationship",
            "example": "b2c0442f-572c-4636-a62f-44f2e66c3d83"
          },
          "secondaryId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the asset assigned under the designated parent of this relationship",
            "example": "ec29882d-634c-4494-802c-5b6be642ac01"
          }
        }
      },
      "relationship.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "relationship.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "relationship": {
            "$ref": "#/components/schemas/relationship"
          }
        }
      },
      "relationship.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "relationship.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "relationship": {
            "$ref": "#/components/schemas/relationship"
          }
        }
      },
      "relationship.updated": {
        "type": "object",
        "properties": {
          "linkType": {
            "type": "object",
            "description": "Object containing the current and previous values for the relationship type between assets where the relationship has been updated.",
            "properties": {
              "current": {
                "type": "string",
                "description": "Current value for the relationship type, after the associated update occurred.",
                "example": "placed-graphic"
              },
              "previous": {
                "type": "string",
                "description": "Defines the type of relationship between assets",
                "example": "child"
              }
            }
          },
          "primaryId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the asset designated as the parent of this relationship",
            "example": "b2c0442f-572c-4636-a62f-44f2e66c3d83"
          },
          "secondaryId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the asset assigned under the designated parent of this relationship",
            "example": "ec29882d-634c-4494-802c-5b6be642ac01"
          }
        }
      },
      "relationship.updated-2": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "relationship.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "relationship": {
            "$ref": "#/components/schemas/relationship.updated"
          }
        }
      },
      "project": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the Rights Management Project in Tenovos"
          },
          "name": {
            "type": "string",
            "description": "The name of the Rights Management Project",
            "example": "Project ABC"
          }
        }
      },
      "rm.project.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "rm.project.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "project": {
            "$ref": "#/components/schemas/project"
          }
        }
      },
      "project.text": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Project",
            "example": "Project Name"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Project X"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "Project Y"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "text"
          }
        }
      },
      "project.singleselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Project",
            "example": "Rights Approved"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Yes"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "No"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "single-select"
          }
        }
      },
      "project.multiselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Project",
            "example": "Media Types"
          },
          "currentValues": {
            "type": "array",
            "description": "Array of values applied to the attribute from the update",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value applied to the attribute",
              "example": [
                "Music",
                "Audio"
              ]
            }
          },
          "previousValues": {
            "type": "array",
            "description": "Array of values applied to this attribute prior to this latest change.",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value previously applied to the attribute, prior to the update."
            },
            "example": [
              "Audio"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "multi-select"
          }
        }
      },
      "project.date": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Project",
            "example": "Project Expiration Date"
          },
          "currentValue": {
            "type": "string",
            "format": "date",
            "description": "Value applied to the attribute from the update",
            "example": "12/31/2024"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "10/31/2024"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "date"
          }
        }
      },
      "project.metadata": {
        "type": "array",
        "description": "Array containing an object for each metadata attribute that was updated on the associated Project.  Attributes not updated are not included in the payload.",
        "minItems": 1,
        "maxItems": 250,
        "items": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/project.text"
            },
            {
              "$ref": "#/components/schemas/project.singleselect"
            },
            {
              "$ref": "#/components/schemas/project.multiselect"
            },
            {
              "$ref": "#/components/schemas/project.date"
            },
            {
              "$ref": "#/components/schemas/table"
            }
          ]
        }
      },
      "security": {
        "type": "object",
        "description": "Object containing the current and previous values of the updated object.  'previousValues' represents the Security Template values applied to the object before the updates were made.",
        "properties": {
          "current": {
            "type": "array",
            "description": "Array containing the Security Template values applied to the object after this updates was saved.",
            "minItems": 0,
            "maxItems": 250,
            "items": {
              "type": "object",
              "description": "Object containing the unique identifier and name of the Security Template(s) currently applied to the object.",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "Unique Identifier of the Security Template.",
                  "example": "42b5dc04-79af-4911-93aa-96d73b1c2f75\""
                },
                "name": {
                  "type": "string",
                  "description": "The name given to the Security Template",
                  "example": "View and Download Consumer"
                }
              }
            }
          },
          "previous": {
            "type": "array",
            "description": "Array containing the Security Template values applied to the object before this update was made.",
            "minItems": 0,
            "maxItems": 250,
            "items": {
              "type": "object",
              "description": "Object containing the unique identifier and name of the Security Template(s) currently applied to the object.",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "Unique Identifier of the Security Template.",
                  "example": "71f5dc03-79af-4911-73aa-56d73b1c2a56\""
                },
                "name": {
                  "type": "string",
                  "description": "The name given to the Security Template",
                  "example": "View Only"
                }
              }
            }
          }
        }
      },
      "project.updated": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the Project from Tenovos",
            "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
          },
          "name": {
            "type": "string",
            "description": "The name given to the Project",
            "example": "Project X"
          },
          "metadata": {
            "$ref": "#/components/schemas/project.metadata"
          },
          "security": {
            "$ref": "#/components/schemas/security"
          }
        }
      },
      "rm.project.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "rm.project.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "project": {
            "$ref": "#/components/schemas/project.updated"
          }
        }
      },
      "entity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the Rights Management Entity in Tenovos",
            "example": "3aa4d097-71f0-4c61-8cd9-927d276a9287"
          },
          "name": {
            "type": "string",
            "description": "The name of the Rights Management Entity",
            "example": "Entity ABC"
          }
        }
      },
      "rm.entity.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "rm.entity.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "entity": {
            "$ref": "#/components/schemas/entity"
          }
        }
      },
      "entity.text": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Entity",
            "example": "Entity Name"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Talent Actor X"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "Talent Actor Y"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "text"
          }
        }
      },
      "entity.singleselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Entity",
            "example": "Rights Approved"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Yes"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "No"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "single-select"
          }
        }
      },
      "entity.multiselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Entity",
            "example": "Media Types"
          },
          "currentValues": {
            "type": "array",
            "description": "Array of values applied to the attribute from the update",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value applied to the attribute",
              "example": [
                "Music",
                "Audio"
              ]
            }
          },
          "previousValues": {
            "type": "array",
            "description": "Array of values applied to this attribute prior to this latest change.",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value previously applied to the attribute, prior to the update."
            },
            "example": [
              "Audio"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "multi-select"
          }
        }
      },
      "entity.date": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Entity",
            "example": "Contract Expiration Date"
          },
          "currentValue": {
            "type": "string",
            "format": "date",
            "description": "Value applied to the attribute from the update",
            "example": "12/31/2024"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "10/31/2024"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "date"
          }
        }
      },
      "entity.metadata": {
        "type": "array",
        "description": "Array containing an object for each metadata attribute that was updated on the associated Entity.  Attributes not updated are not included in the payload.",
        "minItems": 1,
        "maxItems": 250,
        "items": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/entity.text"
            },
            {
              "$ref": "#/components/schemas/entity.singleselect"
            },
            {
              "$ref": "#/components/schemas/entity.multiselect"
            },
            {
              "$ref": "#/components/schemas/entity.date"
            },
            {
              "$ref": "#/components/schemas/table"
            }
          ]
        }
      },
      "entity.updated": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the Entity from Tenovos",
            "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
          },
          "name": {
            "type": "string",
            "description": "The name given to the Agreement",
            "example": "Entity X"
          },
          "metadata": {
            "$ref": "#/components/schemas/entity.metadata"
          },
          "security": {
            "$ref": "#/components/schemas/security"
          }
        }
      },
      "rm.entity.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "rm.entity.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "entity": {
            "$ref": "#/components/schemas/entity.updated"
          }
        }
      },
      "agreement": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the Rights Management Agreement in Tenovos",
            "example": "3aa4d097-71f0-4c61-8cd9-927d276a9287"
          },
          "name": {
            "type": "string",
            "description": "The name of the Rights Management Agreement",
            "example": "Agreement ABC Social"
          }
        }
      },
      "rm.agreement.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "rm.agreement.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "agreement": {
            "$ref": "#/components/schemas/agreement"
          }
        }
      },
      "agreement.text": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Agreement",
            "example": "Agreement Name"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Social Channel Agreement"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "Channel Agreement"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "text"
          }
        }
      },
      "agreement.singleselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Agreement",
            "example": "Rights Approved"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Yes"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "No"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "single-select"
          }
        }
      },
      "agreement.multiselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Agreement",
            "example": "Media Types"
          },
          "currentValues": {
            "type": "array",
            "description": "Array of values applied to the attribute from the update",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value applied to the attribute",
              "example": [
                "Music",
                "Audio"
              ]
            }
          },
          "previousValues": {
            "type": "array",
            "description": "Array of values applied to this attribute prior to this latest change.",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value previously applied to the attribute, prior to the update."
            },
            "example": [
              "Audio"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "multi-select"
          }
        }
      },
      "agreement.date": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Agreement",
            "example": "Expiration Date"
          },
          "currentValue": {
            "type": "string",
            "format": "date",
            "description": "Value applied to the attribute from the update",
            "example": "12/31/2024"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "10/31/2024"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "date"
          }
        }
      },
      "agreement.metadata": {
        "type": "array",
        "description": "Array containing an object for each metadata attribute that was updated on the associated Agreement.  Attributes not updated are not included in the payload.",
        "minItems": 1,
        "maxItems": 250,
        "items": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/agreement.text"
            },
            {
              "$ref": "#/components/schemas/agreement.singleselect"
            },
            {
              "$ref": "#/components/schemas/agreement.multiselect"
            },
            {
              "$ref": "#/components/schemas/agreement.date"
            },
            {
              "$ref": "#/components/schemas/table"
            }
          ]
        }
      },
      "agreement.updated": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the Agreement from Tenovos",
            "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
          },
          "name": {
            "type": "string",
            "description": "The name given to the Agreement",
            "example": "Channel X Agreement"
          },
          "metadata": {
            "$ref": "#/components/schemas/agreement.metadata"
          },
          "security": {
            "$ref": "#/components/schemas/security"
          }
        }
      },
      "rm.agreement.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "rm.agreement.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "agreement": {
            "$ref": "#/components/schemas/agreement.updated"
          }
        }
      },
      "request": {
        "type": "object",
        "description": "Object containing information about a Request.",
        "properties": {
          "assignedTo": {
            "type": "object",
            "description": "Object containing information about the user who is assigned the Request.",
            "properties": {
              "email": {
                "type": "string",
                "description": "Email address for the user who is assigned the Request",
                "example": "admin@company.com"
              },
              "firstName": {
                "type": "string",
                "description": "First name of the user who is assigned the Request.",
                "example": "Admin"
              },
              "lastName": {
                "type": "string",
                "description": "Last name of the user who  is assigned the Request.",
                "example": "User"
              }
            }
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the Request",
            "example": "8cb8a7e9-9c6d-4669-86ca-293f317fc56a"
          },
          "status": {
            "type": "string",
            "description": "Status of the request itself based on the current workflow stage of the Request",
            "example": "New Request"
          },
          "submittedBy": {
            "type": "object",
            "description": "Object containing information about the user who submitted the Request.",
            "properties": {
              "email": {
                "type": "string",
                "description": "Email address for the submitter of the Request",
                "example": "jared@piedpiper.com"
              },
              "firstName": {
                "type": "string",
                "description": "First name of the user who submitted the Request.",
                "example": "Jared"
              },
              "lastName": {
                "type": "string",
                "description": "Last name of the user who submitted the Request.",
                "example": "Dunn"
              }
            }
          },
          "title": {
            "type": "string",
            "description": "The title of the Request provided by the user who submitted the Request",
            "example": "Upload Merchandising 2024-08-19-12-50-21"
          },
          "type": {
            "type": "string",
            "description": "The type of Request that was submitted",
            "example": "Upload",
            "enum": [
              "Upload",
              "Download"
            ]
          }
        }
      },
      "request-2": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "request.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "request": {
            "$ref": "#/components/schemas/request"
          }
        }
      },
      "request.updated": {
        "type": "object",
        "description": "Object containing information about a Request.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the Request",
            "example": "8cb8a7e9-9c6d-4669-86ca-293f317fc56a"
          },
          "type": {
            "type": "string",
            "description": "The type of Request that was submitted.  This aligns to the name of the metadata template used for the request.",
            "example": "Asset Change"
          },
          "title": {
            "type": "string",
            "description": "The title of the Request provided by the user who submitted the Request",
            "example": "Upload Merchandising 2024-08-19-12-50-21"
          }
        },
        "anyOf": [
          {
            "title": "Assets Updated",
            "properties": {
              "updates": {
                "type": "object",
                "description": "Object containing the updates for the request",
                "properties": {
                  "assets": {
                    "type": "array",
                    "description": "Array of assets part of the Request and their associated changes.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "assignee": {
                          "type": "object",
                          "properties": {
                            "current": {
                              "type": "object",
                              "properties": {
                                "email": {
                                  "type": "string",
                                  "description": "Email address for the submitter of the Request",
                                  "example": "jared@piedpiper.com"
                                },
                                "firstName": {
                                  "type": "string",
                                  "description": "First name of the user who submitted the Request.",
                                  "example": "Jared"
                                },
                                "lastName": {
                                  "type": "string",
                                  "description": "Last name of the user who submitted the Request.",
                                  "example": "Dunn"
                                }
                              }
                            },
                            "previous": {
                              "type": "object",
                              "properties": {
                                "email": {
                                  "type": "string",
                                  "description": "Email address for the submitter of the Request",
                                  "example": "peter@piedpiper.com"
                                },
                                "firstName": {
                                  "type": "string",
                                  "description": "First name of the user who submitted the Request.",
                                  "example": "Peter"
                                },
                                "lastName": {
                                  "type": "string",
                                  "description": "Last name of the user who submitted the Request.",
                                  "example": "Gregory"
                                }
                              }
                            }
                          }
                        },
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "Unique identifier of the Asset.",
                          "example": "ea6eb24d-adef-4380-bd02-f64f567c437f"
                        },
                        "status": {
                          "type": "object",
                          "description": "Status of the asset itself within the Request.  Object contains current and previous values to reflect the update made to the status, when applicable.",
                          "properties": {
                            "current": {
                              "type": "string",
                              "description": "The status of the asset within the Request after the update was made.",
                              "example": "Approved",
                              "enum": [
                                "In Progress",
                                "Approved",
                                "Rejected"
                              ]
                            },
                            "previous": {
                              "type": "string",
                              "description": "The status of the asset within the Request prior to the update that was made.",
                              "example": "In Progress",
                              "enum": [
                                "In Progress",
                                "Approved"
                              ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "title": "Assignee Updated",
            "properties": {
              "updates": {
                "type": "object",
                "description": "Object containing the updates for the request",
                "properties": {
                  "assignedTo": {
                    "type": "object",
                    "description": "Object containing information about the user who is assigned the Request.",
                    "properties": {
                      "current": {
                        "type": "object",
                        "properties": {
                          "email": {
                            "type": "string",
                            "description": "Email address for the user who is assigned the Request",
                            "example": "admin@company.com"
                          },
                          "firstName": {
                            "type": "string",
                            "description": "First name of the user who is assigned the Request.",
                            "example": "Admin"
                          },
                          "lastName": {
                            "type": "string",
                            "description": "Last name of the user who  is assigned the Request.",
                            "example": "User"
                          }
                        }
                      },
                      "previous": {
                        "type": "object",
                        "properties": {
                          "email": {
                            "type": "string",
                            "description": "Email address for the user who was assigned the Request prior to the update",
                            "example": "peter@piedpiper.com"
                          },
                          "firstName": {
                            "type": "string",
                            "description": "First name of the user who is assigned the Request prior to the update.",
                            "example": "Peter"
                          },
                          "lastName": {
                            "type": "string",
                            "description": "Last name of the user who  is assigned the Request prior to the update.",
                            "example": "Gregory"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "title": "Request Status Updated",
            "properties": {
              "updates": {
                "type": "object",
                "description": "Object containing the updates for the request",
                "properties": {
                  "status": {
                    "type": "object",
                    "description": "The Status of the Request.",
                    "properties": {
                      "current": {
                        "type": "string",
                        "example": "Done"
                      },
                      "previous": {
                        "type": "string",
                        "example": "New Request"
                      }
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "request.updated-2": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "request.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "request": {
            "$ref": "#/components/schemas/request.updated"
          }
        }
      },
      "group": {
        "type": "object",
        "description": "Object containing the unique identifier and name of the group.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Tenovos Group Unique Identifier",
            "example": "8475cbb5-877d-4256-9bda-2bc210dbe454"
          },
          "name": {
            "type": "string",
            "description": "The name given to the Group",
            "example": "Creative Team"
          }
        }
      },
      "group.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "security.group.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "group": {
            "$ref": "#/components/schemas/group"
          }
        }
      },
      "group.updated": {
        "type": "object",
        "description": "Object containing the unique identifier and name of the group.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Tenovos Group Unique Identifier",
            "example": "8475cbb5-877d-4256-9bda-2bc210dbe454"
          },
          "name": {
            "type": "object",
            "description": "The previous and current values for the name given to the Group",
            "properties": {
              "previous": {
                "type": "string",
                "description": "The value for the name of the Group prior to the associated update",
                "example": "Creative Team"
              },
              "current": {
                "type": "string",
                "description": "The value for the name of the Group after the associated update",
                "example": "Creatives"
              }
            }
          }
        }
      },
      "group.updated-2": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "security.group.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "group": {
            "$ref": "#/components/schemas/group.updated"
          }
        }
      },
      "group.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "security.group.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "group": {
            "$ref": "#/components/schemas/group"
          }
        }
      },
      "role": {
        "type": "object",
        "description": "Object containing the unique identifier and name of the group.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Tenovos Role Unique Identifier",
            "example": "8475cbb5-877d-4256-9bda-2bc210dbe454"
          },
          "name": {
            "type": "string",
            "description": "The name given to the Role",
            "example": "Consumer"
          }
        }
      },
      "role.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "security.role.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "role": {
            "$ref": "#/components/schemas/role"
          }
        }
      },
      "role.updated": {
        "type": "object",
        "description": "Object containing the unique identifier and name of the group.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Tenovos Role Unique Identifier",
            "example": "8475cbb5-877d-4256-9bda-2bc210dbe454"
          }
        },
        "anyOf": [
          {
            "title": "Role Name Update",
            "properties": {
              "name": {
                "type": "object",
                "description": "The name given to the Role",
                "properties": {
                  "current": {
                    "type": "string",
                    "description": "Value for the name of the Role after the associated update.",
                    "example": "Consumer"
                  },
                  "previous": {
                    "type": "string",
                    "description": "Value for the name of the Role prior to the associated update.",
                    "example": "Producer"
                  }
                }
              }
            }
          },
          {
            "title": "Privileges Update",
            "properties": {
              "privileges": {
                "type": "object",
                "title": "Privileges",
                "description": "Object containing the privileges for the associated role that were added and removed as part of the associated update.",
                "properties": {
                  "added": {
                    "type": "array",
                    "description": "Array of objects containing the id and name for each privilege that was added to the role as part of the update.",
                    "minItems": 0,
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "The unique identifier assigned to the privilege.",
                          "example": "e8561fc0-7ec3-4d9e-8fda-9243b668ef70"
                        },
                        "name": {
                          "type": "string",
                          "format": "uuid",
                          "description": "The name assigned to the privilege.  These values are non-editable.",
                          "example": "Download"
                        }
                      }
                    }
                  },
                  "removed": {
                    "type": "array",
                    "description": "Array of objects containing the id and name for each privilege that was removed from the role as part of the update.",
                    "minItems": 0,
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "The unique identifier assigned to the privilege.",
                          "example": "50b9e9ba-f5b6-4181-8de4-971b9b331fdb"
                        },
                        "name": {
                          "type": "string",
                          "format": "uuid",
                          "description": "The name assigned to the privilege.  These values are non-editable.",
                          "example": "Channel Publish"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "role.updated-2": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "security.role.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "role": {
            "$ref": "#/components/schemas/role.updated"
          }
        }
      },
      "role.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "security.role.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "role": {
            "$ref": "#/components/schemas/role"
          }
        }
      },
      "template": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID assigned to the Security Template",
            "format": "uuid",
            "example": "306b558b-c2af-467f-93e1-30b658ac98b9"
          },
          "name": {
            "type": "string",
            "description": "Name given to the Security Template",
            "example": "Security Template A"
          }
        }
      },
      "template.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "security.template.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "securityTemplate": {
            "$ref": "#/components/schemas/template"
          }
        }
      },
      "template.group.updated": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID given to the Security Group",
            "example": "f22dccbc-6032-4279-9f19-d5dc91d9757e"
          },
          "name": {
            "type": "string",
            "description": "Name given to the Security Group",
            "example": "Administrators Group"
          },
          "permissions": {
            "type": "object",
            "properties": {
              "added": {
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique ID of the permission that was added to the given Group within the Security Template",
                      "format": "uuid",
                      "example": "3b44a2b2-012e-438a-b004-0a500326e933"
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of the Security permission",
                      "example": "Relationships"
                    }
                  }
                }
              },
              "removed": {
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique ID of the permission that was removed to the given Group within the Security Template",
                      "format": "uuid",
                      "example": "2b408274-aa49-4250-a0eb-996d80172fe5"
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of the Security permission",
                      "example": "Sensitive Data"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "template.updated": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "security.template.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "securityTemplate": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique ID assigned to the Security Template",
                "format": "uuid",
                "example": "306b558b-c2af-467f-93e1-30b658ac98b9"
              },
              "name": {
                "type": "object",
                "description": "Name given to the Security Template in it's current and previous state as part of the update",
                "properties": {
                  "current": {
                    "type": "string",
                    "description": "The value of the Security Template Name **after** the associated update was made, if the name of the template was updated.",
                    "example": "Security Template BF"
                  },
                  "previous": {
                    "type": "string",
                    "description": "The value of the Security Template Name **before** the associated update was made, if the name of the template was updated.",
                    "example": "Security Template A"
                  }
                }
              },
              "groups": {
                "type": "array",
                "minItems": 0,
                "items": {
                  "$ref": "#/components/schemas/template.group.updated"
                }
              }
            }
          }
        }
      },
      "template.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "security.template.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "securityTemplate": {
            "$ref": "#/components/schemas/template"
          }
        }
      },
      "user.id": {
        "type": "string",
        "description": "User ID",
        "format": "uuid",
        "example": "7d675ef0-f423-11e9-8071-89c0c4052141",
        "readOnly": true
      },
      "user.username": {
        "type": "string",
        "description": "The Username assigned to the User",
        "example": "richard.hendricks"
      },
      "user": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/user.id"
          },
          "username": {
            "$ref": "#/components/schemas/user.username"
          },
          "email": {
            "$ref": "#/components/schemas/user.username"
          },
          "firstName": {
            "type": "string",
            "description": "Value of the users First Name attribute",
            "example": "Richard"
          },
          "lastName": {
            "type": "string",
            "description": "Value of the users Last Name attribute",
            "example": "Hendricks"
          },
          "friendlyName": {
            "type": "string",
            "description": "Value of the Friendly Name attribute"
          },
          "company": {
            "type": "string",
            "description": "Value of the users company attribute",
            "example": "Pied Piper"
          },
          "country": {
            "type": "string",
            "description": "Value of the users Country attribute",
            "example": "USA"
          },
          "phone": {
            "type": "string",
            "description": "Value of the users Phone attribute",
            "example": "18884562317"
          },
          "contact": {
            "type": "string",
            "description": "Value of the users Contact attribute",
            "example": "Galvin"
          },
          "role": {
            "type": "object",
            "description": "Value for the users Role attribute",
            "properties": {
              "id": {
                "type": "string",
                "x-nullable": false,
                "format": "uuid",
                "minLength": 36,
                "maxLength": 36,
                "description": "Identifier assigned to the Role.",
                "example": "f4c15b2b-5540-35e5-96ef-7245322fb07d"
              },
              "name": {
                "type": "string",
                "x-nullable": false,
                "minLength": 1,
                "maxLength": 32,
                "description": "Name of the Role.",
                "example": "Art Directors"
              }
            }
          },
          "groups": {
            "type": "array",
            "description": "Values for the Groups assigned to the User",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique Identifier for the User in Tenovos",
                  "example": "d5c15b2b-4542-45e5-76ef-9145322fc09f"
                },
                "name": {
                  "type": "string",
                  "description": "Name of the Group",
                  "example": "Engineers"
                }
              }
            }
          },
          "status": {
            "type": "string",
            "description": "Value of the users account Status in Tenovos",
            "example": "disabled",
            "enum": [
              "enabled",
              "disabled"
            ]
          },
          "accountType": {
            "type": "string",
            "description": "Value of the users account type attribute after the associated change",
            "example": "federated",
            "enum": [
              "local",
              "federated"
            ]
          }
        }
      },
      "user.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "user.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "user": {
            "$ref": "#/components/schemas/user"
          }
        }
      },
      "user.accounttype": {
        "type": "object",
        "description": "Current and previous values for the user's account type",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users account type attribute after the associated change",
            "example": "federated"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users account type attribute prior to the associated change",
            "example": "local"
          }
        }
      },
      "user.company": {
        "type": "object",
        "description": "Current and previous values for the user's Company attribute value",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users company attribute after the associated change",
            "example": "Pied Piper"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users company attribute prior to the associated change",
            "example": "Hooli"
          }
        }
      },
      "user.contact": {
        "type": "object",
        "description": "Current and previous values for the user's Contact",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users Contact attribute after the associated change",
            "example": "Galvin"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users Contact attribute prior to the associated change",
            "example": "Richard"
          }
        }
      },
      "user.country": {
        "type": "object",
        "description": "Current and previous values for the user's Country",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users Country attribute after the associated change",
            "example": "USA"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users Country attribute prior to the associated change",
            "example": "US"
          }
        }
      },
      "user.email": {
        "type": "object",
        "description": "Current and previous values for the user's Email",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users Email attribute after the associated change",
            "example": "richard@piedpiper.com"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users Email attribute prior to the associated change",
            "example": "rich@piedpiper.com"
          }
        }
      },
      "user.firstname": {
        "type": "object",
        "description": "User first name",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users First Name attribute after the associated change",
            "example": "Richard"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users First Name attribute prior to the associated change"
          }
        }
      },
      "user.lastname": {
        "type": "object",
        "description": "User Last Name",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users Last Name attribute after the associated change",
            "example": "Hendricks"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users Last Name attribute prior to the associated change",
            "example": "Rich"
          }
        }
      },
      "user.friendlyname": {
        "type": "object",
        "description": "User Friendly Name",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users Friendly Name attribute after the associated change",
            "example": "Richard"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users Friendly Name attribute prior to the associated change"
          }
        }
      },
      "user.phone": {
        "type": "object",
        "description": "User's Phone Number",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users Phone attribute after the associated change",
            "example": "18884562317"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users Phone attribute prior to the associated change",
            "example": "18004562317"
          }
        }
      },
      "user.status": {
        "type": "object",
        "description": "User's account status",
        "properties": {
          "current": {
            "type": "string",
            "description": "Value of the users account Status in Tenovos after the associated change",
            "example": "disabled"
          },
          "previous": {
            "type": "string",
            "description": "Value of the users account Status in Tenovos prior to the associated change",
            "example": "enabled"
          }
        }
      },
      "user.groups": {
        "type": "object",
        "description": "Current and previous values for the user's Groups",
        "properties": {
          "current": {
            "type": "array",
            "description": "Values for the users Groups after the associated change",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "x-nullable": false,
                  "format": "uuid",
                  "minLength": 36,
                  "maxLength": 36,
                  "description": "Identifier assigned to the Group.",
                  "example": "d4c15b2b-5540-25e5-96ef-5245322fb07b"
                },
                "name": {
                  "type": "string",
                  "x-nullable": false,
                  "minLength": 1,
                  "maxLength": 32,
                  "description": "Name of the Group.",
                  "example": "Art Group"
                }
              }
            }
          },
          "previous": {
            "type": "array",
            "description": "Values for the users Groups prior to the associated change",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "x-nullable": false,
                  "format": "uuid",
                  "minLength": 36,
                  "maxLength": 36,
                  "description": "Identifier assigned to the Group.",
                  "example": "b2c15b2b-5540-45e5-53ef-7245322fb02f"
                },
                "name": {
                  "type": "string",
                  "x-nullable": false,
                  "minLength": 1,
                  "maxLength": 32,
                  "description": "Name of the Group.",
                  "example": "Creative Group"
                }
              }
            }
          }
        }
      },
      "user.role": {
        "type": "object",
        "description": "User's Role information before and after the associated update",
        "properties": {
          "current": {
            "type": "object",
            "description": "Value for the users Role attribute after the associated change",
            "properties": {
              "id": {
                "type": "string",
                "x-nullable": false,
                "format": "uuid",
                "minLength": 36,
                "maxLength": 36,
                "description": "Identifier assigned to the Role.",
                "example": "f4c15b2b-5540-35e5-96ef-7245322fb07d"
              },
              "name": {
                "type": "string",
                "x-nullable": false,
                "minLength": 1,
                "maxLength": 32,
                "description": "Name of the Role.",
                "example": "Art Directors"
              }
            }
          },
          "previous": {
            "type": "object",
            "description": "Value for the users role attribute prior to the associated change",
            "properties": {
              "id": {
                "type": "string",
                "x-nullable": false,
                "format": "uuid",
                "minLength": 36,
                "maxLength": 36,
                "description": "Identifier assigned to the Role.",
                "example": "b2c15b2b-5540-45e5-53ef-7245322fb02f"
              },
              "name": {
                "type": "string",
                "x-nullable": false,
                "minLength": 1,
                "maxLength": 32,
                "description": "Name of the Role.",
                "example": "Creative Editor"
              }
            }
          }
        }
      },
      "user.updated": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the User from Tenovos",
            "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
          }
        },
        "anyOf": [
          {
            "properties": {
              "accountType": {
                "$ref": "#/components/schemas/user.accounttype"
              }
            }
          },
          {
            "properties": {
              "company": {
                "$ref": "#/components/schemas/user.company"
              }
            }
          },
          {
            "properties": {
              "contact": {
                "$ref": "#/components/schemas/user.contact"
              }
            }
          },
          {
            "properties": {
              "country": {
                "$ref": "#/components/schemas/user.country"
              }
            }
          },
          {
            "properties": {
              "email": {
                "$ref": "#/components/schemas/user.email"
              }
            }
          },
          {
            "properties": {
              "firstName": {
                "$ref": "#/components/schemas/user.firstname"
              }
            }
          },
          {
            "properties": {
              "lastName": {
                "$ref": "#/components/schemas/user.lastname"
              }
            }
          },
          {
            "properties": {
              "friendlyName": {
                "$ref": "#/components/schemas/user.friendlyname"
              }
            }
          },
          {
            "properties": {
              "phone": {
                "$ref": "#/components/schemas/user.phone"
              }
            }
          },
          {
            "properties": {
              "status": {
                "$ref": "#/components/schemas/user.status"
              }
            }
          },
          {
            "properties": {
              "groups": {
                "$ref": "#/components/schemas/user.groups"
              }
            }
          },
          {
            "properties": {
              "role": {
                "$ref": "#/components/schemas/user.role"
              }
            }
          }
        ]
      },
      "user.updated-2": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "user.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "user": {
            "$ref": "#/components/schemas/user.updated"
          }
        }
      },
      "storyboard": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the Storyboard in Tenovos",
            "example": "915a9827-2cb9-4e79-b9bc-1fdc80f6336a"
          },
          "name": {
            "type": "string",
            "description": "The name of the Story Board",
            "example": "TechCrunch Disrupt"
          }
        }
      },
      "storyboard.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "storyboard.created"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "storyboard": {
            "$ref": "#/components/schemas/storyboard"
          }
        }
      },
      "storyboard.text": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Story Board",
            "example": "Story Board X"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Story Board X"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "Story Board Y"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "text"
          }
        }
      },
      "storyboard.singleselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Story Board",
            "example": "Approved"
          },
          "currentValue": {
            "type": "string",
            "description": "Value applied to the attribute from the update",
            "example": "Yes"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "No"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "single-select"
          }
        }
      },
      "storyboard.multiselect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Story Board",
            "example": "Media Types"
          },
          "currentValues": {
            "type": "array",
            "description": "Array of values applied to the attribute from the update",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value applied to the attribute",
              "example": [
                "Music",
                "Audio"
              ]
            }
          },
          "previousValues": {
            "type": "array",
            "description": "Array of values applied to this attribute prior to this latest change.",
            "items": {
              "type": "string",
              "description": "Array of text values for each attribute value previously applied to the attribute, prior to the update."
            },
            "example": [
              "Audio"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "multi-select"
          }
        }
      },
      "storyboard.date": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The metadata attribute identifier",
            "example": "b0ba3409-5e2e-4eb1-9aee-51304dd52170"
          },
          "name": {
            "type": "string",
            "description": "The name given to the metadata attribute applied to the Story Board",
            "example": "Story Board Created Date"
          },
          "currentValue": {
            "type": "string",
            "format": "date",
            "description": "Value applied to the attribute from the update",
            "example": "12/31/2024"
          },
          "previousValue": {
            "type": "string",
            "description": "The value applied to this attribute prior to this latest change.",
            "example": "10/31/2024"
          },
          "type": {
            "type": "string",
            "description": "The type of metadata attribute",
            "example": "date"
          }
        }
      },
      "storyboard.metadata": {
        "type": "array",
        "description": "Array containing an object for each metadata attribute that was updated on the associated Story Board.  Attributes not updated are not included in the payload.",
        "minItems": 1,
        "maxItems": 250,
        "items": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/storyboard.text"
            },
            {
              "$ref": "#/components/schemas/storyboard.singleselect"
            },
            {
              "$ref": "#/components/schemas/storyboard.multiselect"
            },
            {
              "$ref": "#/components/schemas/storyboard.date"
            },
            {
              "$ref": "#/components/schemas/table"
            }
          ]
        }
      },
      "storyboard.updated": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the Story Board from Tenovos",
            "example": "147c8d3d-e0f4-497f-86d3-aa2a4166f304"
          },
          "name": {
            "type": "string",
            "description": "The name given to the Story Board",
            "example": "Story Board XYZ"
          },
          "metadata": {
            "$ref": "#/components/schemas/storyboard.metadata"
          },
          "security": {
            "$ref": "#/components/schemas/security"
          }
        }
      },
      "storyboard.updated-2": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "storyboard.updated"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "storyboard": {
            "$ref": "#/components/schemas/storyboard.updated"
          }
        }
      },
      "storyboard.deleted": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "storyboard.deleted"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "storyboard": {
            "$ref": "#/components/schemas/storyboard"
          }
        }
      },
      "storyboard.share": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Indicates the type of share event, either internal or external",
            "example": "External",
            "enum": [
              "Internal",
              "External"
            ]
          },
          "recipients": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "example": [
              "richard.hendricks@piedpiper.com",
              "gavin.belson@huli.com"
            ]
          },
          "storyboard": {
            "$ref": "#/components/schemas/storyboard"
          }
        }
      },
      "storyboard.shared": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "storyboard.shared"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "share": {
            "$ref": "#/components/schemas/storyboard.share"
          }
        }
      },
      "storyboard.restored": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "storyboard.restored"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "storyboard": {
            "$ref": "#/components/schemas/storyboard"
          }
        }
      },
      "storyboard.purged": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "storyboard.purged"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "storyboard": {
            "$ref": "#/components/schemas/storyboard"
          }
        }
      },
      "version": {
        "type": "object",
        "properties": {
          "latest": {
            "type": "boolean",
            "description": "Indicates whether the identified version number is the latest version",
            "example": true
          },
          "versionNumber": {
            "type": "integer",
            "format": "int32",
            "description": "Indicates the current (latest) version number for the asset",
            "minimum": 1,
            "maximum": 500,
            "example": 2
          },
          "previous": {
            "type": "object",
            "properties": {
              "assetId": {
                "type": "string",
                "format": "uuid",
                "description": "The Unique Identifier for the asset in Tenovos that was the previous version of this asset."
              },
              "versionNumber": {
                "type": "integer",
                "format": "int32",
                "description": "Indicates the version number for the previous asset",
                "minimum": 1,
                "maximum": 500,
                "example": 1
              }
            }
          }
        }
      },
      "version.created": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Combination of the Topic and the Event",
            "example": "version.created"
          },
          "asset": {
            "$ref": "#/components/schemas/asset"
          },
          "event": {
            "$ref": "#/components/schemas/event"
          },
          "version": {
            "$ref": "#/components/schemas/version"
          }
        }
      }
    }
  }
}