{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/aixbt-tech/json-schema/aixbt-tech-topic-index-snapshot-schema.json",
  "title": "TopicIndexSnapshot",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/aixbt-tech-v2-openapi.yaml#/components/schemas/TopicIndexSnapshot",
  "type": "object",
  "required": [
    "completedAt",
    "latestEvidenceAt",
    "windowStartedAt",
    "topics"
  ],
  "properties": {
    "completedAt": {
      "type": "string",
      "format": "date-time"
    },
    "latestEvidenceAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "windowStartedAt": {
      "type": "string",
      "format": "date-time"
    },
    "topics": {
      "type": "array",
      "maxItems": 10,
      "items": {
        "$ref": "#/$defs/TopicIndexTopic"
      }
    }
  },
  "$defs": {
    "TopicIndexTopic": {
      "type": "object",
      "required": [
        "id",
        "rank",
        "name",
        "summary",
        "score",
        "tweetCount",
        "authorCount",
        "lastSeenAt"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "rank": {
          "type": "integer",
          "minimum": 1
        },
        "name": {
          "type": "string"
        },
        "summary": {
          "type": "string"
        },
        "score": {
          "type": "number"
        },
        "tweetCount": {
          "type": "integer",
          "minimum": 0
        },
        "authorCount": {
          "type": "integer",
          "minimum": 0
        },
        "lastSeenAt": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}