games.atplay.game.createInvitation

atplay.games

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Invite other players to a game. The appview writes the invitation to the caller's repo, where the invitees will find it. The state must already be the output of the initiator's own first resolve (see ADR 0006).",
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "game": {
              "ref": "games.atplay.game.release",
              "type": "ref"
            },
            "otherPlayers": {
              "description": "Array of DIDs for other players in the game",
              "items": {
                "format": "did",
                "type": "string"
              },
              "minLength": 1,
              "type": "array"
            },
            "parameters": {
              "description": "Any parameters of play used by the game logic",
              "ref": "#parameters",
              "type": "ref"
            },
            "state": {
              "ref": "games.atplay.game.state",
              "type": "ref"
            },
            "uri": {
              "description": "The AT-URI this invitation should be written to. Only its record key is used, and the caller mints it so anything keyed to the invitation — its secrets, above all — can be stored before the game is published.",
              "maxLength": 512,
              "type": "string"
            }
          },
          "required": [
            "uri"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "cid": {
              "maxLength": 256,
              "type": "string"
            },
            "uri": {
              "maxLength": 512,
              "type": "string"
            }
          },
          "required": [
            "uri"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "games.atplay.game.createInvitation",
  "lexicon": 1
}

Validate Record

Validate a record against games.atplay.game.createInvitation

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

Metadata

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

Referenced Schemas (2)

  • games.atplay.game.release
  • games.atplay.game.state

Similar Lexicons

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

  • An invitation to play a game, with everything needed to execute it

  • Publish a turn. The appview writes it to the caller's repo, from where the other players pick it up. Actions may be empty for the negotiation steps middleware drives (ADR 0028). The caller must have stored any secrets t…

Lexicon Garden

@