games.atplay.listInvitations

atplay.games

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "gameSummary": {
      "description": "One game a player is part of, with just enough to list and rejoin it.",
      "properties": {
        "game": {
          "description": "The release the invitation named.",
          "ref": "games.atplay.game.release",
          "type": "ref"
        },
        "initiator": {
          "description": "Who sent the invitation.",
          "format": "did",
          "type": "string"
        },
        "invitation": {
          "description": "The invitation that started this game.",
          "format": "at-uri",
          "maxLength": 512,
          "type": "string"
        },
        "latestTurn": {
          "description": "The most recent turn, absent while the game is still pending.",
          "format": "at-uri",
          "maxLength": 512,
          "type": "string"
        },
        "pending": {
          "description": "True while nobody has taken a turn. Acceptance is the invitee's first turn, so an unanswered invitation stays pending (ADR 0031).",
          "type": "boolean"
        },
        "players": {
          "description": "The players invited, not counting the initiator.",
          "items": {
            "format": "did",
            "type": "string"
          },
          "type": "array"
        },
        "turnCount": {
          "description": "How many turns have been published against this invitation.",
          "minimum": 0,
          "type": "integer"
        },
        "yourMove": {
          "description": "True when the latest turn names this player as one of the next to act.",
          "type": "boolean"
        }
      },
      "required": [
        "invitation",
        "turnCount",
        "pending",
        "yourMove"
      ],
      "type": "object"
    },
    "main": {
      "description": "List the games a player is part of — ones they started and ones they were invited to — newest first.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "cursor": {
              "description": "Cursor for the next page, absent if no more results.",
              "maxLength": 512,
              "type": "string"
            },
            "games": {
              "items": {
                "ref": "#gameSummary",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "games"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "cursor": {
            "description": "Pagination cursor.",
            "maxLength": 512,
            "type": "string"
          },
          "limit": {
            "default": 50,
            "description": "Maximum number of games to return.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "player": {
            "description": "Whose games to list. Defaults to the authenticated caller.",
            "format": "did",
            "type": "string"
          }
        },
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "games.atplay.listInvitations",
  "lexicon": 1
}

Validate Record

Validate a record against games.atplay.listInvitations

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:xawtkr77srkxlwhxjf7whbml
CID
bafyreibhbo6o4qyqatm3w3jrurfj3lraeboa3wmql5gnbmug5sf4wghpba
Indexed At
2026-07-25 07:03 UTC
AT-URI
at://did:plc:xawtkr77srkxlwhxjf7whbml/com.atproto.lexicon.schema/games.atplay.listInvitations

Referenced Schemas (1)

  • games.atplay.game.release

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@