com.professorbutts.sports.game
Record key is a stable game slug, e.g. 'nfl-2026-11-09-cin-pit'.
Details · record, key any
| Kind | record |
|---|---|
| Record key | any |
| Authority | sports.professorbutts.com |
| Indexed |
Checks
Validunlimited-stringdefs.main.record.properties.conferenceNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.roundNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.statusNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Record key is a stable game slug, e.g. 'nfl-2026-11-09-cin-pit'.",
"key": "any",
"record": {
"properties": {
"away": {
"ref": "com.professorbutts.sports.defs#competitor",
"type": "ref"
},
"clock": {
"description": "Display clock, e.g. '4:32'. Omitted when not applicable.",
"maxLength": 16,
"type": "string"
},
"conference": {
"description": "Conference for playoff games before the Super Bowl.",
"knownValues": [
"AFC",
"NFC"
],
"type": "string"
},
"home": {
"ref": "com.professorbutts.sports.defs#competitor",
"type": "ref"
},
"league": {
"description": "League short code, e.g. NFL, NBA, MLS.",
"maxLength": 32,
"type": "string"
},
"period": {
"ref": "com.professorbutts.sports.defs#period",
"type": "ref"
},
"round": {
"description": "Stage of the season. Playoff rounds get a badge on the card.",
"knownValues": [
"preseason",
"regular",
"wildcard",
"divisional",
"conference",
"superbowl"
],
"type": "string"
},
"season": {
"maxLength": 32,
"type": "string"
},
"situation": {
"description": "Sport-specific live detail. Each value carries its $type.",
"refs": [
"com.professorbutts.sports.defs#footballSituation",
"com.professorbutts.sports.defs#baseballSituation",
"com.professorbutts.sports.defs#basketballSituation",
"com.professorbutts.sports.defs#hockeySituation",
"com.professorbutts.sports.defs#soccerSituation"
],
"type": "union"
},
"source": {
"description": "Where the data came from.",
"format": "uri",
"type": "string"
},
"sport": {
"knownValues": [
"football",
"basketball",
"baseball",
"hockey",
"soccer"
],
"maxLength": 64,
"type": "string"
},
"startsAt": {
"format": "datetime",
"type": "string"
},
"stats": {
"description": "Optional stats blocks (line score, box score). The only thing that may make the card taller.",
"items": {
"description": "Optional extra detail. Viewers keep the card one fixed size unless they draw stats.",
"refs": [
"com.professorbutts.sports.defs#lineScore",
"com.professorbutts.sports.defs#footballBoxScore",
"com.professorbutts.sports.defs#baseballBoxScore",
"com.professorbutts.sports.defs#basketballBoxScore"
],
"type": "union"
},
"maxLength": 4,
"type": "array"
},
"status": {
"knownValues": [
"scheduled",
"live",
"halftime",
"final",
"postponed",
"canceled"
],
"type": "string"
},
"updatedAt": {
"format": "datetime",
"type": "string"
},
"venue": {
"maxLength": 256,
"type": "string"
}
},
"required": [
"sport",
"league",
"status",
"home",
"away",
"startsAt",
"updatedAt"
],
"type": "object"
},
"type": "record"
}
},
"description": "A single sporting event and its current state. One record per game, updated in place as the game progresses.",
"id": "com.professorbutts.sports.game",
"lexicon": 1
}