{
  "$id": "https://example.com/AuctionUpdatedEvent.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "AuctionUpdatedEvent",
  "description": "Event raised when an auction record is updated and should be re-indexed.",
  "type": "object",
  "required": ["metadata", "data"],
  "properties": {
    "metadata": {
      "type": "object",
      "required": ["occurredAtUtc", "typeName", "correlationId", "sentAtUtc"],
      "properties": {
        "occurredAtUtc": {
          "type": "string",
          "description": "UTC timestamp when the event occurred (ISO 8601)."
        },
        "typeName": {
          "type": "string",
          "description": "Event type name. Expected value: auctionUpdatedEvent."
        },
        "correlationId": {
          "type": "string",
          "description": "Correlation identifier used for cross-service tracing."
        },
        "source": {
          "type": "string",
          "description": "Source service and version that emitted the event."
        },
        "sentAtUtc": {
          "type": "string",
          "description": "UTC timestamp when the publisher sent the event (ISO 8601)."
        }
      }
    },
    "data": {
      "type": "object",
      "required": ["auctionId", "auctionNumber"],
      "properties": {
        "auctionId": {
          "type": "string",
          "description": "Unique identifier for the auction record."
        },
        "auctionNumber": {
          "type": ["string", "number"],
          "description": "Business auction number used by downstream search indexing."
        },
        "lastUpdatedUtc": {
          "type": "string",
          "description": "UTC timestamp when the auction was last updated (ISO 8601)."
        }
      }
    }
  }
}
