GameWizApi (1.0.0)

Download OpenAPI specification:

E-mail: mfvdev@icloud.com License: Apache 2.0

This is an OpenApi 3.0 specification for Game Wiz api. A server used for asynchronous games. GWA is a small, solo, project by mfv.

health

endpoint for checking health of api

Useable for devs only, pings server for health check.

Server health status

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

user

Operations for users

Create a new user

Endpoint for registering new user

Request Body schema: application/json
required

Create new user account

username
required
string
password
required
string <password> ^[A-Za-z\d@$!%*?&_+]{8,}$
email
required
string <email> ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+[a-z]{3}$
birthdate
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "username": "letmesolohim",
  • "password": "somePa$$w0rd_",
  • "email": "someEmail@provider.com",
  • "birthdate": 6584613516
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "type": "string",
  • "message": "string"
}

session

operations for game sessions

get session data

endpoint for getting next player move, game state

path Parameters
gameId
required
string

Responses

Response samples

Content type
application/json
{
  • "sessionId": "apseion64565dsaf",
  • "gameId": "TicTacToe",
  • "maxPlayerCount": 0,
  • "minPlayerCount": 0,
  • "players": [
    ],
  • "upNext": "player69",
  • "metaData": {
    },
  • "gameState": {
    },
  • "status": "WAITING_FOR_PLAYERS"
}

Update an existing session

Update game state, metadata

path Parameters
gameId
required
string
Request Body schema: application/json
required

Provide updated game state and any updated metadata

object
required
object

Responses

Request samples

Content type
application/json
{
  • "metaData": {
    },
  • "gameState": {
    }
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "type": "string",
  • "message": "string"
}

join session

join an existing session as an invitee

Request Body schema: application/json
required

Join a session with a sessionId

inviteCode
required
string^[A-Z0-9]{6}$
playerUID
required
string

Responses

Request samples

Content type
application/json
{
  • "inviteCode": "string",
  • "playerUID": "string"
}

Response samples

Content type
application/json
{
  • "sessionId": "apseion64565dsaf",
  • "gameId": "TicTacToe",
  • "maxPlayerCount": 0,
  • "minPlayerCount": 0,
  • "players": [
    ],
  • "upNext": "player69",
  • "metaData": {
    },
  • "gameState": {
    },
  • "status": "WAITING_FOR_PLAYERS"
}

Create game session

operation for new session

Request Body schema: application/json
required

Create new game session

gameId
required
string
maxPlayerCount
required
integer <int32>
minPlayerCount
required
integer <int32>
hostUID
required
string
upNext
required
string
object

Responses

Request samples

Content type
application/json
{
  • "gameId": "string",
  • "maxPlayerCount": 0,
  • "minPlayerCount": 0,
  • "hostUID": "string",
  • "upNext": "string",
  • "metaData": {
    }
}

Response samples

Content type
application/json
{
  • "inviteCode": "string"
}