{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/elopstudio-com/json-schema/elopstudio-com-change-event-schema.json",
  "title": "ChangeEvent",
  "x-generated": "2026-11-06",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/elopstudio-com-api-openapi.json#/components/schemas/ChangeEvent",
  "type": "object",
  "required": [
    "id",
    "eventType",
    "title",
    "detectedAt",
    "model"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "eventType": {
      "type": "string",
      "enum": [
        "new_model",
        "price_change",
        "api_change",
        "open_source_surge",
        "deprecation"
      ]
    },
    "title": {
      "type": "string"
    },
    "summary": {
      "type": [
        "string",
        "null"
      ]
    },
    "beforeValue": {
      "type": [
        "string",
        "null"
      ],
      "description": "가격 변경 전 값 등"
    },
    "afterValue": {
      "type": [
        "string",
        "null"
      ],
      "description": "신규 모델이면 카탈로그 ID 또는 Hugging Face 저장소 ID. 발견한 출처에 따라 형태가 다르다."
    },
    "sourceUrl": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    },
    "sourceName": {
      "type": "string"
    },
    "verificationStatus": {
      "type": "string",
      "enum": [
        "official",
        "pending",
        "reported",
        "rejected"
      ],
      "description": "official 은 벤더 자신의 채널에서 확인한 것. pending 은 중개 카탈로그 등 간접 근거라 검수 대기. reported 는 제3자 매체나 커뮤니티가 전한 것으로, 출처에 그렇게 실렸다는 사실까지만 확인했다. 알림과 웹훅은 official·pending 만 내보낸다."
    },
    "official": {
      "type": "boolean",
      "description": "verificationStatus 가 official 인지"
    },
    "detectedAt": {
      "type": "string",
      "format": "date-time",
      "description": "변화가 일어난 시각(출처 기준). 표시용이다: 폴링 커서로 쓰면 안 된다. 커서는 응답의 latest."
    },
    "publishedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "model": {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "company": {
          "type": "string"
        },
        "accentColor": {
          "type": "string"
        }
      }
    }
  }
}