games.cavu.launchIntent

Ask a game's launch service for a signed launch grant. Called by the launcher (e.g. cavu.games) against the service named in the launch service's DID document. The service picks the room and the instance that owns it and returns their URL inside the signed grant.

Repository @pardy.at did:plc:dp7v5b5kejmmzzpwmqyf5wj6 namespace authority
Details · procedure
Kindprocedure
Authoritycavu.games
Indexed

Showing version bafyreiewqgwpywe5yu24dzdqrssk4n7glglhs7gmnvhdaa2jxhsihs7mwe. Show the latest

cid bafyreiewqgwpywe5yu24dzdqrssk4n7glglhs7gmnvhdaa2jxhsihs7mwe

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Ask a game's launch service for a signed launch grant. Called by the launcher (e.g. cavu.games) against the service named in the launch service's DID document. The service picks the room and the instance that owns it and returns their URL inside the signed grant.",
      "errors": [
        {
          "name": "GameNotFound"
        },
        {
          "description": "The game does not declare guest play and no player was given.",
          "name": "GuestsNotAllowed"
        },
        {
          "name": "InvalidJoinCode"
        },
        {
          "name": "PlayerNotAllowed"
        },
        {
          "description": "No capacity, region, or upstream outage.",
          "name": "LaunchUnavailable"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "game": {
              "description": "The games.cavu.game record to launch or join.",
              "format": "at-uri",
              "type": "string"
            },
            "hostService": {
              "description": "The player's game host. Required with `player`.",
              "ref": "games.cavu.defs#hostService",
              "type": "ref"
            },
            "joinCode": {
              "description": "Join an existing room. Omit to be placed by the service.",
              "maxLength": 64,
              "type": "string"
            },
            "player": {
              "description": "Signed-in player. Omit for a guest launch.",
              "format": "did",
              "type": "string"
            }
          },
          "required": [
            "game"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "attestation": {
              "ref": "games.cavu.defs#attestation",
              "type": "ref"
            },
            "grant": {
              "ref": "games.cavu.defs#grant",
              "type": "ref"
            }
          },
          "required": [
            "grant",
            "attestation"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "games.cavu.launchIntent",
  "lexicon": 1
}