{
  "$id": "https://example.com/LotImageCreated.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "LotImageCreated",
  "description": "An event raised when a new lot image is created in Azure Blob Storage.",
  "type": "object",
  "required": ["id", "topic", "subject", "eventType", "eventTime", "data"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the event."
    },
    "topic": {
      "type": "string",
      "description": "Full resource path of the event source (Azure Storage account resource URI)."
    },
    "subject": {
      "type": "string",
      "description": "Publisher-defined path to the blob, e.g. /blobServices/default/containers/{container}/blobs/{blobName}."
    },
    "eventType": {
      "type": "string",
      "description": "Type of event. Value: Microsoft.Storage.BlobCreated."
    },
    "eventTime": {
      "type": "string",
      "description": "The time the event was generated in UTC (ISO 8601 format)."
    },
    "dataVersion": {
      "type": "string",
      "description": "The schema version of the data object."
    },
    "metadataVersion": {
      "type": "string",
      "description": "The schema version of the event metadata."
    },
    "data": {
      "type": "object",
      "description": "Blob event data (BlobEventData).",
      "properties": {
        "api": {
          "type": "string",
          "description": "The API operation that triggered the event. Value: PutBlob."
        },
        "requestId": {
          "type": "string",
          "description": "Service-generated request ID for the storage API operation."
        },
        "etag": {
          "type": "string",
          "description": "The value that you can use to conditionally perform operations."
        },
        "contentType": {
          "type": "string",
          "description": "The content type specified for the blob."
        },
        "contentLength": {
          "type": ["integer", "null"],
          "description": "The size of the blob in bytes."
        },
        "url": {
          "type": "string",
          "description": "The URL of the blob."
        },
        "sequencer": {
          "type": "string",
          "description": "An opaque string value representing the logical sequence of events for any particular blob name."
        }
      }
    },
    "eventMetadata": {
      "type": "object",
      "description": "Lot image metadata (BlobMetadataModel).",
      "properties": {
        "id": {
          "type": "string",
          "description": "Metadata record identifier."
        },
        "auctionGuid": {
          "type": "string",
          "description": "Globally unique identifier for the auction."
        },
        "auctionId": {
          "type": "string",
          "description": "Auction identifier."
        },
        "auctionNumber": {
          "type": "string",
          "description": "Auction number."
        },
        "lotId": {
          "type": "string",
          "description": "Lot identifier."
        },
        "lotGuid": {
          "type": "string",
          "description": "Globally unique identifier for the lot."
        },
        "lotNumberWithSuffix": {
          "type": "string",
          "description": "Lot number including any suffix (e.g. 1A)."
        },
        "lotTitle_en": {
          "type": "string",
          "description": "Lot title in English."
        },
        "lotTitle_zh_hant": {
          "type": "string",
          "description": "Lot title in Traditional Chinese."
        },
        "lotTitle_zh_hans": {
          "type": "string",
          "description": "Lot title in Simplified Chinese."
        },
        "extension": {
          "type": "string",
          "description": "File extension of the image (e.g. .jpg)."
        },
        "height": {
          "type": "string",
          "description": "Image height in pixels."
        },
        "width": {
          "type": "string",
          "description": "Image width in pixels."
        },
        "type": {
          "type": "string",
          "description": "Image type (e.g. master)."
        },
        "isPrimary": {
          "type": "string",
          "description": "Whether this is the primary image for the lot (true/false)."
        },
        "isDeleted": {
          "type": "string",
          "description": "Whether the image has been deleted (true/false)."
        },
        "imageHash": {
          "type": "string",
          "description": "Hash of the image content for deduplication."
        },
        "access": {
          "type": "string",
          "description": "Access level of the image (e.g. public)."
        },
        "restrictedCountries": {
          "type": "string",
          "description": "Comma-separated list of countries where the image is restricted."
        },
        "restrictionType": {
          "type": "string",
          "description": "Type of restriction applied to the image."
        },
        "originalFileName": {
          "type": "string",
          "description": "Original file name of the uploaded image."
        },
        "targetFileName": {
          "type": "string",
          "description": "Target file name used when storing the image in blob storage."
        },
        "lastUpdatedUtc": {
          "type": "string",
          "description": "The date and time the image metadata was last updated in UTC (ISO 8601 format)."
        }
      }
    }
  }
}
