openapi: 3.1.0
info:
  version: v1.0
  title: Webhooks Introduction
  description: >

    What is a webhook?  A webhook is an HTTP request, triggered by an event in a
    source system (Tenovos) and sent to a destination system.


    The destination system is managed by the receiver (customer) of the webhook,
    or for faster and easier implementation, Tenovos Connect can 

    automatically generate endpoints for receiving webhooks from Tenovos, or any
    other system.


    Webhooks are automated, in other words they are automatically sent out when
    their corresponding event occurs in Tenovos.  These events occur whether 

    you are using the Tenovos UI, or your own custom UI on top of the Tenovos
    platform.
  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!**


      Receive a notification when an event occurs from human interaction and
      decision making (button click, etc.). In support of manually triggered
      events, EventPulse 

      brings a human touch to Webhooks. EventPulse notifications contain an
      array of objects for which an event has been raised, manually. Tenovos
      will offer 

      Administrative configuration of these special events from the Admin -->
      Webhooks page, or they can be incorporated into customer managed user
      interfaces. 


      Tenovos API v1.5 will also fully support EventPulse with several new
      endpoints.


      These capabilities are currently supported via Tenovos Actions, which
      consists of Asset Actions, Web Actions, and Workflow Actions. EventPulse
      replaces and 

      extends 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

      Metadata 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. 

      Each request is assigned a specific *type*, which can be defined based on
      your needs.  Examples include: 
        - Upload
        - Download
        - Asset Change
        - Merchandising Review
        - Archive

      In 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 

      they 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

      Groups, 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
        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'
