{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/krimskrams-xyz/json-schema/krimskrams-xyz-board-snapshot-response-schema.json",
  "title": "BoardSnapshotResponse",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bounty-signals_krimskrams_xyz_openapi.json#/components/schemas/BoardSnapshotResponse",
  "properties": {
    "slug": {
      "type": "string",
      "title": "Slug"
    },
    "bounties": {
      "items": {
        "$ref": "#/$defs/BoardBounty"
      },
      "type": "array",
      "title": "Bounties"
    },
    "source_url": {
      "type": "string",
      "title": "Source Url"
    },
    "as_of": {
      "type": "string",
      "format": "date-time",
      "title": "As Of"
    },
    "observation_age_seconds": {
      "type": "integer",
      "title": "Observation Age Seconds"
    },
    "store_depth": {
      "$ref": "#/$defs/StoreDepth"
    },
    "latest_collection": {
      "$ref": "#/$defs/LatestCollection"
    },
    "coverage": {
      "type": "string",
      "title": "Coverage"
    },
    "limits": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Limits"
    }
  },
  "type": "object",
  "required": [
    "slug",
    "bounties",
    "source_url",
    "as_of",
    "observation_age_seconds",
    "store_depth",
    "latest_collection",
    "coverage",
    "limits"
  ],
  "$defs": {
    "BoardBounty": {
      "properties": {
        "id": {
          "type": "string",
          "title": "Id"
        },
        "state": {
          "type": "string",
          "title": "State"
        },
        "submission_count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Submission Count"
        },
        "pass_count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pass Count"
        },
        "source_url": {
          "type": "string",
          "title": "Source Url"
        },
        "fields": {
          "additionalProperties": true,
          "type": "object",
          "title": "Fields"
        },
        "history": {
          "$ref": "#/$defs/BountyHistory"
        }
      },
      "type": "object",
      "required": [
        "id",
        "state",
        "submission_count",
        "pass_count",
        "source_url",
        "fields",
        "history"
      ],
      "title": "BoardBounty"
    },
    "BountyHistory": {
      "properties": {
        "observation_count": {
          "type": "integer",
          "title": "Observation Count"
        },
        "first_seen_at": {
          "type": "string",
          "format": "date-time",
          "title": "First Seen At"
        },
        "last_seen_at": {
          "type": "string",
          "format": "date-time",
          "title": "Last Seen At"
        },
        "previous_state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Previous State"
        },
        "state_change_count": {
          "type": "integer",
          "title": "State Change Count"
        },
        "state_changes": {
          "items": {
            "$ref": "#/$defs/StateChange"
          },
          "type": "array",
          "title": "State Changes"
        }
      },
      "type": "object",
      "required": [
        "observation_count",
        "first_seen_at",
        "last_seen_at",
        "previous_state",
        "state_change_count",
        "state_changes"
      ],
      "title": "BountyHistory"
    },
    "LatestCollection": {
      "properties": {
        "as_of": {
          "type": "string",
          "format": "date-time",
          "title": "As Of"
        },
        "source_url": {
          "type": "string",
          "title": "Source Url"
        },
        "status": {
          "type": "string",
          "title": "Status"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Error"
        }
      },
      "type": "object",
      "required": [
        "as_of",
        "source_url",
        "status",
        "error"
      ],
      "title": "LatestCollection"
    },
    "StateChange": {
      "properties": {
        "from_state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "From State"
        },
        "to_state": {
          "type": "string",
          "title": "To State"
        },
        "observed_at": {
          "type": "string",
          "format": "date-time",
          "title": "Observed At"
        },
        "source_url": {
          "type": "string",
          "title": "Source Url"
        }
      },
      "type": "object",
      "required": [
        "from_state",
        "to_state",
        "observed_at",
        "source_url"
      ],
      "title": "StateChange"
    },
    "StoreDepth": {
      "properties": {
        "observations": {
          "type": "integer",
          "title": "Observations"
        },
        "subjects": {
          "type": "integer",
          "title": "Subjects"
        },
        "first": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ],
          "title": "First"
        },
        "last": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ],
          "title": "Last"
        }
      },
      "type": "object",
      "required": [
        "observations",
        "subjects",
        "first",
        "last"
      ],
      "title": "StoreDepth"
    }
  }
}