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.
Input
application/jsongame
stringat-uri
Required
The games.cavu.game record to launch or join.
hostService
refgames.cavu.defs#hostService
Optional
The player's game host. Required with `player`.
joinCode
string
Optional
Join an existing room. Omit to be placed by the service.
maxLength: 64 bytesplayer
stringdid
Optional
Signed-in player. Omit for a guest launch.
Output
application/jsonattestation
refgames.cavu.defs#attestation
Required
No description available.
grant
refgames.cavu.defs#grant
Required
No description available.
Errors
GameNotFound
GuestsNotAllowed
The game does not declare guest play and no player was given. InvalidJoinCode
PlayerNotAllowed
LaunchUnavailable
No capacity, region, or upstream outage. Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"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"
}