{ "openapi": "3.1.0", "info": { "version": "9.6.1", "title": "@fastify/swagger" }, "servers": [ { "url": "https://local.maix.me:8888", "description": "direct from docker" }, { "url": "https://local.maix.me:8000", "description": "using fnginx" } ], "tags": [ { "name": "openapi_other", "x-displayName": "other" } ], "paths": { "/api/auth/changePassword": { "post": { "operationId": "changePassword", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "new_password" ], "properties": { "new_password": { "type": "string" } } } } }, "required": true }, "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "changePassword.success" ] } } } } } }, "400": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "changePassword.failed.toolong", "changePassword.failed.tooshort", "changePassword.failed.invalid" ] } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } } } }, "500": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "changePassword.failed.generic" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/auth/disableOtp": { "put": { "operationId": "disableOtp", "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "disableOtp.success" ] } } } } } }, "400": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "disableOtp.failure.guest" ] } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } } } }, "500": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "disableOtp.failure.generic" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/auth/enableOtp": { "put": { "operationId": "enableOtp", "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "enableOtp.success" ] }, "payload": { "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string", "description": "The otp url to feed into a 2fa app" } } } } } } } }, "400": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "enableOtp.failure.guest" ] } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "enableOtp.failure.noUser", "enableOtp.failure.noSecret" ] } } }, { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } ] } } } } }, "tags": [ "openapi_other" ] } }, "/api/auth/providerList": { "get": { "operationId": "providerList", "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "providerList.success" ] }, "payload": { "type": "object", "required": [ "list" ], "properties": { "list": { "type": "array", "items": { "type": "object", "required": [ "display_name", "name", "colors" ], "properties": { "display_name": { "type": "string", "description": "Name to display to the user" }, "name": { "type": "string", "description": "internal Name of the provider" }, "colors": { "type": "object", "required": [ "normal", "hover" ], "properties": { "normal": { "type": "string", "description": "Default color for the provider" }, "hover": { "type": "string", "description": "Hover color for the provider" } } } } } } } } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/auth/guest": { "post": { "operationId": "guestLogin", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" } } } } } }, "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "guestLogin.success" ] }, "payload": { "type": "object", "required": [ "token" ], "properties": { "token": { "type": "string", "description": "JWT that represent a logged in user" } } } } } } } }, "400": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "guestLogin.failed.invalid" ] } } } } } }, "500": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "guestLogin.failed.generic.unknown", "guestLogin.failed.generic.error" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/auth/login": { "post": { "operationId": "login", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name", "password" ], "properties": { "name": { "type": "string" }, "password": { "type": "string" } } } } }, "required": true }, "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "login.success" ] }, "payload": { "type": "object", "required": [ "token" ], "properties": { "token": { "type": "string", "description": "JWT that represent a logged in user" } } } } } } } }, "202": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "otpRequired" ] }, "msg": { "enum": [ "login.otpRequired" ] }, "payload": { "type": "object", "required": [ "token" ], "properties": { "token": { "type": "string", "description": "JWT to send with the OTP to finish login" } } } } } } } }, "400": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "login.failed.generic", "login.failed.invalid" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/auth/logout": { "post": { "operationId": "logout", "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "logout.success" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/auth/otp": { "post": { "operationId": "loginOtp", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "token", "code" ], "properties": { "token": { "type": "string", "description": "The token given at the login phase" }, "code": { "type": "string", "description": "The OTP given by the user" } } } } }, "required": true }, "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "otp.success" ] }, "payload": { "type": "object", "required": [ "token" ], "properties": { "token": { "type": "string", "description": "the JWT Token" } } } } } } } }, "400": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "otp.failed.invalid" ] } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "otp.failed.noSecret" ] } } } } } }, "408": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "otp.failed.timeout" ] } } } } } }, "500": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "otp.failed.generic" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/auth/signin": { "post": { "operationId": "signin", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name", "password" ], "properties": { "name": { "type": "string" }, "password": { "type": "string" } } } } }, "required": true }, "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "signin.success" ] }, "payload": { "type": "object", "required": [ "token" ], "properties": { "token": { "type": "string", "description": "the JWT token" } } } } } } } }, "400": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "signin.failed.username.existing", "signin.failed.username.toolong", "signin.failed.username.tooshort", "signin.failed.username.invalid", "signin.failed.password.toolong", "signin.failed.password.tooshort", "signin.failed.password.invalid" ] } } } } } }, "500": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failed" ] }, "msg": { "enum": [ "signin.failed.generic" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/auth/statusOtp": { "get": { "operationId": "statusOtp", "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "statusOtp.success.enabled" ] }, "payload": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string", "description": "The otp secret" } } } } }, { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "statusOtp.success.disabled" ] } } } ] } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } }, { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } ] } } } }, "500": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "statusOtp.failure.generic" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/user/allowGuestMessage": { "post": { "operationId": "allowGuestMessage", "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "guestMessage.success" ] } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } }, { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } ] } } } }, "403": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "guestMessage.failure.notLoggedIn" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/user/denyGuestMessage": { "post": { "operationId": "denyGuestMessage", "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "guestMessage.success" ] } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } }, { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } ] } } } }, "403": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "guestMessage.failure.notLoggedIn" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/user/changeDesc": { "post": { "operationId": "changeDesc", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "desc" ], "properties": { "desc": { "type": "string" } } } } }, "required": true }, "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "changedesc.success" ] } } } } } }, "400": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "changedesc.failure.descTooLong" ] } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } } } }, "403": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "changedesc.failure.notLoggedIn" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/user/changeDisplayName": { "put": { "operationId": "changeDisplayName", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "New Display Name" } } } } }, "required": true }, "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "changeDisplayName.success" ] } } } } } }, "400": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "changeDisplayName.alreadyExist", "changeDisplayName.invalid" ] } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/user/info/{user}": { "get": { "operationId": "getUser", "parameters": [ { "schema": { "anyOf": [ { "enum": [ "me" ], "description": "the current logged in user" }, { "type": "string", "format": "uuid", "description": "A user uuid" } ] }, "in": "path", "name": "user", "required": true } ], "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "userinfo.success" ] }, "payload": { "type": "object", "required": [ "name", "id", "guest", "desc" ], "properties": { "name": { "type": "string" }, "id": { "type": "string" }, "guest": { "type": "boolean" }, "desc": { "type": "string" }, "selfInfo": { "type": "object", "properties": { "login_name": { "type": "string" }, "provider_id": { "type": "string" }, "provider_user": { "type": "string" } } } } } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } }, { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } ] } } } }, "403": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "userinfo.failure.notLoggedIn" ] } } } } } }, "404": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "userinfo.failure.unknownUser" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/chat/broadcast": { "post": { "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "nextGame" ], "properties": { "nextGame": { "type": "string" } } } } }, "required": true }, "responses": { "200": { "description": "Default Response" } }, "tags": [ "openapi_other" ] } }, "/api/ttt/history/{user}": { "get": { "operationId": "tttHistory", "parameters": [ { "schema": { "type": "string" }, "in": "path", "name": "user", "required": true, "description": "'me' | " } ], "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "ttthistory.success" ] }, "payload": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "gameId", "playerX", "playerO", "date", "outcome" ], "properties": { "gameId": { "type": "string", "description": "gameId" }, "playerX": { "type": "object", "required": [ "id", "name" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" } } }, "playerO": { "type": "object", "required": [ "id", "name" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" } } }, "date": { "type": "string" }, "outcome": { "enum": [ "winX", "winO", "other", "draw" ] } } } } } } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } }, { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } ] } } } }, "404": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "ttthistory.failure.notfound" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/createPausedGame": { "post": { "operationId": "pongCreatePauseGame", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "user1", "user2" ], "properties": { "user1": { "type": "string", "description": "'id' | " }, "user2": { "type": "string", "description": "'id' | " } } } } }, "required": true }, "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "createPausedGame.success" ] }, "payload": { "type": "object", "required": [ "gameId" ], "properties": { "gameId": { "type": "string", "description": "gameId" } } } } } } } }, "404": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "createPausedGame.generic.fail" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/api/pong/history/{user}": { "get": { "operationId": "pongHistory", "parameters": [ { "schema": { "type": "string" }, "in": "path", "name": "user", "required": true, "description": "'me' | " } ], "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "ponghistory.success" ] }, "payload": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "gameId", "left", "right", "local", "date", "outcome" ], "properties": { "gameId": { "type": "string", "description": "gameId" }, "left": { "type": "object", "required": [ "score", "id", "name" ], "properties": { "score": { "type": "integer" }, "id": { "type": "string" }, "name": { "type": "string" } } }, "right": { "type": "object", "required": [ "score", "id", "name" ], "properties": { "score": { "type": "integer" }, "id": { "type": "string" }, "name": { "type": "string" } } }, "local": { "type": "boolean" }, "date": { "type": "string" }, "outcome": { "enum": [ "winL", "winR", "other" ] } } } } } } } } } } }, "401": { "description": "Default Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } }, { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "notLoggedIn" ] }, "msg": { "enum": [ "auth.noCookie", "auth.invalidKind", "auth.noUser", "auth.invalid" ] } } } ] } } } }, "404": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "ponghistory.failure.notfound" ] } } } } } } }, "tags": [ "openapi_other" ] } }, "/startPausedGame": { "post": { "operationId": "pongstartPauseGame", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "gameId" ], "properties": { "gameId": { "type": "string", "description": "'id' | " } } } } }, "required": true }, "responses": { "200": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg", "payload" ], "properties": { "kind": { "enum": [ "success" ] }, "msg": { "enum": [ "startPausedGame.success" ] }, "payload": { "type": "object", "properties": {} } } } } } }, "404": { "description": "Default Response", "content": { "application/json": { "schema": { "type": "object", "required": [ "kind", "msg" ], "properties": { "kind": { "enum": [ "failure" ] }, "msg": { "enum": [ "startPausedGame.no_such_game" ] } } } } } } }, "tags": [ "openapi_other" ] } } }, "components": { "schemas": {} } }