{ "host": "demo.accelbyte.io", "info": { "contact": { "email": "engineering@accelbyte.io", "name": "Engineering Platform Team at AccelByte", "url": "https://accelbyte.io" }, "description": "Custom Service Manager", "title": "custom-service-manager", "version": "1.30.0" }, "schemes": [ "https" ], "externalDocs": { "description": "API Docs", "url": "https://stage.accelbyte.io/csm/apidocs" }, "securityDefinitions": { "authorization": { "in": "header", "name": "Authorization", "type": "apiKey" } }, "swagger": "2.0", "paths": { "/csm/v1/admin/namespaces/{namespace}/apps": { "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]\u0026lt;/code\u0026gt;\n\nGets the List of Apps for AB-Extend Customer\n\nAvailable scenario:\n\t- scenario 3: \u0026lt;code\u0026gt;event-handler\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;- scenario 1: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;- scenario 2: \u0026lt;code\u0026gt;service-extension\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;\n\n\t", "operationId": "GetAppListV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.GetAppListV1Request" } }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetAppListV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Gets the List of Apps for AB-Extend Customer", "tags": [ "App" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [DELETE]\u0026lt;/code\u0026gt;\n\t\t\nDelete App by given DeploymentID\n\nThis endpoint intended to delete ECR repo, ECR manifests, service images, uninstall helm-release, \nand update the deleted_at in DB by given App Name.\n\nRequired: Valid Access Token\n", "operationId": "DeleteAppV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Force App Deletion", "in": "query", "name": "forced", "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete App by Åpp Name", "tags": [ "App" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]\u0026lt;/code\u0026gt;\n\nGets the App By Name\n\t", "operationId": "GetAppV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetAppV1Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Gets the App By Name", "tags": [ "App" ], "x-errorCodes": {} }, "patch": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]\u0026lt;/code\u0026gt;\n\nUpdate App Partially", "operationId": "UpdateAppV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.UpdateAppV1Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.UpdateAppV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update App Partially", "tags": [ "App" ], "x-errorCodes": {} }, "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [CREATE]\u0026lt;/code\u0026gt;\n\nCreates new App for AB-Extend Customers\n\nAvailable scenario:\n\t- scenario 3: \u0026lt;code\u0026gt;event-handler\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;- scenario 1: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;- scenario 2: \u0026lt;code\u0026gt;service-extension\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;\nDefault: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\n\n", "operationId": "CreateAppV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.CreateAppV1Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.CreateAppV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates new App for AB-Extend Customers", "tags": [ "App" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/deployments": { "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [CREATE]\u0026lt;/code\u0026gt;\n\nCreates Deployment for extend service\n\nThis endpoint intended to apply the helm release or deploying the custom service image.\nLogic in this endpoint:\n\t- Getting the repo from AppHistory table and image tag from request\n\t- Getting the Helm Manifest template from S3\n\t- Filling the Helm Manifest values\n\t- Installing the Helm Manifest to deploy the custom service image into K8s based on given namespace\n\t- Storing the filled Helm Manifest to S3\n\t- Storing the Deployment information to Database\n\nRequired: Valid Access Token\n", "operationId": "CreateDeploymentV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.CreateDeploymentV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/generated.CreateDeploymentV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates Deployment", "tags": [ "Deployment" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/images": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:IMAGE [DELETE]\u0026lt;/code\u0026gt;\n\nDeletes the images uploaded to the repository\n\t", "operationId": "DeleteAppImagesV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.DeleteAppImagesV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Deletes the images", "tags": [ "Image" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:IMAGE [READ]\u0026lt;/code\u0026gt;\n\nGet a list of container images\n\nDefault \u0026#39;cached\u0026#39; parameter is \u0026#39;true\u0026#39;\n", "operationId": "GetAppImageListV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": "true", "description": "Get Cached Images", "in": "query", "name": "cached", "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetAppImageListV1Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get a list of container images", "tags": [ "Image" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/release": { "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]\u0026lt;/code\u0026gt;\n\nGets the Latest Release Version info of this App\n\t", "operationId": "GetAppReleaseV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetAppReleaseV1Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Gets the Latest Release Version info of this App", "tags": [ "App" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/secrets": { "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [READ]\u0026lt;/code\u0026gt;\n\nGet list of environment secrets per app\nAvailable Deployment Status: \n\u0026lt;code\u0026gt;deployed\u0026lt;/code\u0026gt; = app config is already deployed\n\u0026lt;code\u0026gt;undeployed\u0026lt;/code\u0026gt; = app config is not deployed yet and need restart and deploy of the app to be deployed\n\t", "operationId": "GetListOfSecretsV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetListOfConfigurationsV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of environment secrets", "tags": [ "Configuration" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [CREATE]\u0026lt;/code\u0026gt;\n\nSave an environment secret.\n Request body:\n - configName\t\t: environment secret name - Required.\n - source\t\t\t: source of the configuration value (plaintext or ssm) - Required.\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "SaveSecretV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.SaveConfigurationV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.SaveConfigurationV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Save an environment secret", "tags": [ "Configuration" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/secrets/{configId}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [DELETE]\u0026lt;/code\u0026gt;\n\nDelete an environment secret.\n\t", "operationId": "DeleteSecretV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete an environment secret", "tags": [ "Configuration" ], "x-errorCodes": {} }, "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [UPDATE]\u0026lt;/code\u0026gt;\n\nUpdate an environment secret.\n Request body:\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "UpdateSecretV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.UpdateConfigurationV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.UpdateConfigurationV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update an environment secret", "tags": [ "Configuration" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/start": { "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]\u0026lt;/code\u0026gt;\n\nStarts the Application\n\t", "operationId": "StartAppV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.StartAppV1Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.StartAppV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Starts the Application", "tags": [ "App" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/stop": { "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]\u0026lt;/code\u0026gt;\n\nStops the Application\n\t", "operationId": "StopAppV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.StopAppV1Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.StopAppV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Stops the Application", "tags": [ "App" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/variables": { "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [READ]\u0026lt;/code\u0026gt;\n\nGet list of environment variables per app\nAvailable Deployment Status: \n\u0026lt;code\u0026gt;deployed\u0026lt;/code\u0026gt; = app config is already deployed\n\u0026lt;code\u0026gt;undeployed\u0026lt;/code\u0026gt; = app config is not deployed yet and need restart and deploy of the app to be deployed\n\t", "operationId": "GetListOfVariablesV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetListOfConfigurationsV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of environment variables", "tags": [ "Configuration" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [CREATE]\u0026lt;/code\u0026gt;\n\nSave an environment variable.\n Request body:\n - configName\t\t: environment variable name - Required.\n - source\t\t\t: source of the configuration value (plaintext or ssm) - Required.\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "SaveVariableV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.SaveConfigurationV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.SaveConfigurationV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Save an environment variable", "tags": [ "Configuration" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/variables/{configId}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [DELETE]\u0026lt;/code\u0026gt;\n\nDelete an environment variable.\n\t", "operationId": "DeleteVariableV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete an environment variable", "tags": [ "Configuration" ], "x-errorCodes": {} }, "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [UPDATE]\u0026lt;/code\u0026gt;\n\nUpdate an environment variable.\n Request body:\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "UpdateVariableV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.UpdateConfigurationV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.UpdateConfigurationV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update an environment variable", "tags": [ "Configuration" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/deployments": { "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [READ]\u0026lt;/code\u0026gt;\n\t\t\nFilters the List of Deployments\n\nThis endpoint intended to get list of Deployment done for the given publisher and game.\n\nRequired: Valid Access Token\n", "operationId": "GetListOfDeploymentV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.GetDeploymentListV1Request" } }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetDeploymentListV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Fetches the List of Deployments", "tags": [ "Deployment" ], "x-errorCodes": {} } }, "/csm/v1/admin/namespaces/{namespace}/deployments/{deploymentId}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [DELETE]\u0026lt;/code\u0026gt;\n\nDelete Deployment information by given DeploymentID\n\nThis endpoint intended to delete helm release object and update the deleted_at in DB by given Deployment ID.\n\nRequired: Valid Access Token\n", "operationId": "DeleteDeploymentV1", "parameters": [ { "description": "Deployment ID", "in": "path", "name": "deploymentId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Deployment by Deployment ID", "tags": [ "Deployment" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [READ]\u0026lt;/code\u0026gt;\n\t\t\nGet Deployment information by given DeploymentID\n\nThis endpoint intended to get Deployment information by given Deployment ID from Deployment Table.\n\nRequired: Valid Access Token\n", "operationId": "GetDeploymentV1", "parameters": [ { "description": "Deployment ID", "in": "path", "name": "deploymentId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetDeploymentV1Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Deployment by Deployment ID", "tags": [ "Deployment" ], "x-errorCodes": {} } }, "/csm/v1/messages": { "get": { "consumes": [ "application/json" ], "description": "get the list of messages.", "operationId": "publicGetMessages", "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "items": { "$ref": "#/definitions/log.AppMessageDeclaration" }, "type": "array" } }, "500": { "description": "Internal Server Error" } }, "security": [ { "authorization": [] } ], "summary": "get service messages", "tags": [ "Messages" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps": { "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]\u0026lt;/code\u0026gt;\n\nGet list of extend apps on a given game namespace", "operationId": "GetAppListV2", "parameters": [ { "description": "Available scenario:\n- scenario 3: \u003ccode\u003eevent-handler\u003c/code\u003e\n- scenario 1: \u003ccode\u003efunction-override\u003c/code\u003e\n- scenario 2: \u003ccode\u003eservice-extension\u003c/code\u003e\n\n\nAvailable app status:\n- \u003ccode\u003eapp-creating\u003c/code\u003e\n- \u003ccode\u003eapp-creation-failed\u003c/code\u003e\n- \u003ccode\u003eapp-creation-timeout\u003c/code\u003e\n- \u003ccode\u003eapp-undeployed\u003c/code\u003e\n- \u003ccode\u003edeployment-in-progress\u003c/code\u003e\n- \u003ccode\u003edeployment-failed\u003c/code\u003e\n- \u003ccode\u003edeployment-timeout\u003c/code\u003e\n- \u003ccode\u003edeployment-running\u003c/code\u003e\n- \u003ccode\u003edeployment-down\u003c/code\u003e\n- \u003ccode\u003eapp-stopping\u003c/code\u003e\n- \u003ccode\u003eapp-stop-failed\u003c/code\u003e\n- \u003ccode\u003eapp-stop-timeout\u003c/code\u003e\n- \u003ccode\u003eapp-stopped\u003c/code\u003e\n- \u003ccode\u003eapp-removing\u003c/code\u003e\n- \u003ccode\u003eapp-removed\u003c/code\u003e\n- \u003ccode\u003eapp-remove-timeout\u003c/code\u003e\n\n\nPut empty object {} for no filter", "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.GetAppListV2Request" } }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Maximum number of apps items returned", "in": "query", "name": "limit", "type": "integer" }, { "description": "Starting point offset items", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "List of apps", "schema": { "$ref": "#/definitions/apimodel.GetAppListV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of extend apps on a given game namespace", "tags": [ "App V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [DELETE]\u0026lt;/code\u0026gt;\n\t\nDelete extend app by given {app} name\n\nThis endpoint will delete app information, configuration, deployments and all related manifest from \ndb, storage and cluster\n", "operationId": "DeleteAppV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Force app deletion, if 'true' will proceed delete regardless of current app status (default: false)", "in": "query", "name": "forced", "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete extend app by name", "tags": [ "App V2" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]\u0026lt;/code\u0026gt;\n\t\nGet extend app by name\n\nAvailable scenario:\n- scenario 1: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\n- scenario 2: \u0026lt;code\u0026gt;service-extension\u0026lt;/code\u0026gt;\n- scenario 3: \u0026lt;code\u0026gt;event-handler\u0026lt;/code\u0026gt;\n\n\nAvailable app status:\n- \u0026lt;code\u0026gt;app-creating\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-undeployed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-in-progress\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-running\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-down\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopping\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopped\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removing\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-remove-timeout\u0026lt;/code\u0026gt;\n\n\t", "operationId": "GetAppV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get extend app by name", "tags": [ "App V2" ], "x-errorCodes": {} }, "patch": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]\u0026lt;/code\u0026gt;\n\nUpdate app info provided on request body", "operationId": "UpdateAppV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.UpdateAppV2Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update app info", "tags": [ "App V2" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [CREATE]\u0026lt;/code\u0026gt;\n\nCreate new extend app with name provided by {app} path parameter and specified scenario type\n\nAvailable scenario:\n- scenario 1: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\n- scenario 2: \u0026lt;code\u0026gt;service-extension\u0026lt;/code\u0026gt;\n- scenario 3: \u0026lt;code\u0026gt;event-handler\u0026lt;/code\u0026gt;\n\n\nAvailable app status:\n- \u0026lt;code\u0026gt;app-creating\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-undeployed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-in-progress\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-running\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-down\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopping\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopped\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removing\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-remove-timeout\u0026lt;/code\u0026gt;\n\n", "operationId": "CreateAppV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateAppV2Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Create new extend app", "tags": [ "App V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/asyncmessaging/topics/subscriptions": { "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:SUBSCRIPTIONS [CREATE]\u0026lt;/code\u0026gt;\n\nSubscribe App queue to given Topic name list inside a game namespace.\n", "operationId": "CreateSubscriptionHandler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateSubscriptionRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.CreateSubscriptionResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Subscribe To Topic", "tags": [ "Async Messaging" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/asyncmessaging/topics/{topicName}/subscriptions": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:SUBSCRIPTIONS [DELETE]\u0026lt;/code\u0026gt;\n\nUnsubscribe App queue from a topic by Topic Name.\n", "operationId": "UnsubscribeTopicHandler", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Topic Name", "in": "path", "name": "topicName", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.TopicSubscription" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Unsubscribe From Topic", "tags": [ "Async Messaging" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/deployments": { "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [CREATE]\u0026lt;/code\u0026gt;\n\nCreates Deployment for extend service\n\nThis Endpoint will create new deployment and apply all of the secrets and variable as environment variable\n\nRequired: \n\t- Valid Access Token\n\t- Valid Image Version Created on Uploading image with docker or other method\n\t- Valid App name\n\t- Valid Namespace name\n\n", "operationId": "CreateDeploymentV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateDeploymentV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/apimodel.CreateDeploymentV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates Deployment", "tags": [ "Deployment V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/images": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:IMAGE [DELETE]\u0026lt;/code\u0026gt;\n\nDeletes list of provided image tags from the app image repository\n\t", "operationId": "DeleteAppImagesV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.DeleteAppImagesV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete app images", "tags": [ "Image V2" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:IMAGE [READ]\u0026lt;/code\u0026gt;\n\nGet a list of container images\n\nDefault \u0026#39;cached\u0026#39; parameter is \u0026#39;true\u0026#39;\n", "operationId": "GetAppImageListV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": "true", "description": "Get Cached Images", "in": "query", "name": "cached", "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetAppImageListV2Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get a list of container images", "tags": [ "Image V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/nosql/crendentials": { "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:DATABASECREDENTIALS [CREATE]\u0026lt;/code\u0026gt;\n\t\nCreates a new database credential for the customer. This will soft-delete the old credential and create a new one.\n", "operationId": "CreateNoSQLDatabaseCredentialV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateNoSQLDatabaseCredentialRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLDatabaseCredentialResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates a new database credential for the customer", "tags": [ "Managed Resources" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/nosql/databases": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:DATABASES [DELETE]\u0026lt;/code\u0026gt;\n\nDeletes a NoSQL database and its credentials associated with given extend app and game namespace. The database will be removed from the provisioned NoSQL cluster.\n", "operationId": "DeleteNoSQLDatabaseV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLDatabaseDeleteResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Deletes NoSQL Database for Extend App", "tags": [ "Managed Resources" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:DATABASES [READ]\u0026lt;/code\u0026gt;\n\nGet a NoSQL database information returns the NoSQL database related information by given game namespace\nand app name.\n\n\u0026lt;code\u0026gt;resourceStatus\u0026lt;/code\u0026gt; field - indicates the NoSQL cluster status:\n- \u0026lt;code\u0026gt;stopping\u0026lt;/code\u0026gt; : The cluster is in the process of stopping and will soon become inaccessible. \n- \u0026lt;code\u0026gt;stopped\u0026lt;/code\u0026gt; : The cluster is stopped and not accessible. \n- \u0026lt;code\u0026gt;available\u0026lt;/code\u0026gt; : The cluster is accessible. \n- \u0026lt;code\u0026gt;failed\u0026lt;/code\u0026gt; : The cluster failed to provision or is in an error state and not accessible. \n- \u0026lt;code\u0026gt;starting\u0026lt;/code\u0026gt; : The cluster is transitioning from stopped to running, or is rebooting. \n- \u0026lt;code\u0026gt;maintenance\u0026lt;/code\u0026gt; : The cluster is undergoing maintenance operations and is not accessible. \n- \u0026lt;code\u0026gt;unknown\u0026lt;/code\u0026gt; : The cluster status is not recognized \n- \u0026lt;code\u0026gt;updating\u0026lt;/code\u0026gt; : The cluster is being modified and is not yet accessible (e.g., updating min/max DCU). \n- \u0026lt;code\u0026gt;creating\u0026lt;/code\u0026gt; : The cluster or instance is being created and is not yet accessible. \n- \u0026lt;code\u0026gt;deleting\u0026lt;/code\u0026gt; : The cluster is in the process of being deleted and is not accessible. \n\n\n", "operationId": "GetNoSQLDatabaseV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLDatabaseResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get NoSQL Database for Extend App", "tags": [ "Managed Resources" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:DATABASES [CREATE]\u0026lt;/code\u0026gt;\n\nCreates a NoSQL database along with its credentials associated with given extend app. The database will be created in the provisioned NoSQL cluster.\n", "operationId": "CreateNoSQLDatabaseV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateNoSQLAppDatabaseRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLDatabaseResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates NoSQL Database for Extend App", "tags": [ "Managed Resources" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/resources": { "patch": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]\u0026lt;/code\u0026gt;\n\nUpdate app resources provided on request body", "operationId": "UpdateAppResourcesV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.UpdateAppResourceRequest" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update app info", "tags": [ "App V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/resources/form": { "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]\u0026lt;/code\u0026gt;\n\nUpdate app resources provided on request body", "operationId": "UpdateAppResourcesResourceLimitFormV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.IncreaseLimitFormRequest" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Request Resource Limit to be increased", "tags": [ "App V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/secrets": { "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [READ]\u0026lt;/code\u0026gt;\n\t\nGet list of environment secrets per app\nAvailable Deployment Status: \n\u0026lt;code\u0026gt;deployed\u0026lt;/code\u0026gt; = app config is already deployed\n\u0026lt;code\u0026gt;undeployed\u0026lt;/code\u0026gt; = app config is not deployed yet and need restart and deploy of the app to be deployed\n\t", "operationId": "GetListOfSecretsV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetListOfConfigurationsV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of environment secrets", "tags": [ "Configuration V2" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [CREATE]\u0026lt;/code\u0026gt;\n\nSave an environment secret.\nSecret will always be masked.\n Request body:\n - configName\t\t: environment secret name - Required.\n - source\t\t\t: source of the configuration value (plaintext or ssm) - Required.\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n\n ", "operationId": "SaveSecretV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.SaveSecretConfigurationV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SaveConfigurationV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Save an environment secret", "tags": [ "Configuration V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/secrets/{configId}": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [DELETE]\u0026lt;/code\u0026gt;\n\t\nDelete an environment secret by its config id\n\t", "operationId": "DeleteSecretV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete an environment secret", "tags": [ "Configuration V2" ], "x-errorCodes": {} }, "put": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [UPDATE]\u0026lt;/code\u0026gt;\n\nUpdate an environment secret. \nSecret will always be masked.\nRequest body:\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n\n", "operationId": "UpdateSecretV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.UpdateSecretConfigurationV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.UpdateConfigurationV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update an environment secret", "tags": [ "Configuration V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/start": { "put": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]\u0026lt;/code\u0026gt;\n\t\t\nStarts the Application\n\t", "operationId": "StartAppV2", "parameters": [ { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "202": { "description": "This means the request to start the application is accepted, and it will be processed in the background." }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Starts the Application", "tags": [ "App V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/stop": { "put": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]\u0026lt;/code\u0026gt;\n\t\nStops the Application\n\t", "operationId": "StopAppV2", "parameters": [ { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "202": { "description": "This means the request to stop the application is accepted, and it will be processed in the background." }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Stops the Application", "tags": [ "App V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/subscriptions": { "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [READ]\u0026lt;/code\u0026gt;\n\nRequest param:\n- notificationType : type of the subscribed app notification\n\t- values: \n\t - all\n\t\t- app-down\n\t\t- critical-vulnerability\n\nGet a list of the app notification subscriber\n", "operationId": "GetNotificationSubscriberListV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Notification Type", "in": "query", "name": "notificationType", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberListResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get a list of the app notification subscriber", "tags": [ "Notification Subscription" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [CREATE]\u0026lt;/code\u0026gt;\n\nSubscribe the user(s) an app notification.\n\nRequest body:\n- notificationType\t\t: type of the app notification to be subscribed - Required.\n\t- values: \n\t\t- \u0026#34;all\u0026#34;\n\t\t- \u0026#34;app-down\u0026#34;\n\t\t- \u0026#34;critical-vulnerability\u0026#34;\n- subscribers\t\t\t: user(s) to subscribe the app notification - Required.\n", "operationId": "SubscribeAppNotificationV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.SubscribeNotificationRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.SubscribeNotificationResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Subscribe the user(s) an app notification", "tags": [ "Notification Subscription" ], "x-errorCodes": {} }, "put": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [UPDATE]\u0026lt;/code\u0026gt;\n\nBulk update of users subscribed to an app\u0026#39;s notifications.\n\nRequest body:\n- notificationType\t\t: type of the app notification to be subscribed - Required.\n\t- values: \n\t\t- \u0026#34;all\u0026#34;\n\t\t- \u0026#34;app-down\u0026#34;\n\t\t- \u0026#34;critical-vulnerability\u0026#34;\n- subscribers\t\t\t: user(s) notification subscription to be updated - Required.\n", "operationId": "BulkSaveSubscriptionAppNotificationV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.BulkSubscribeRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberListResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Bulk update of users subscribed to an app's notifications", "tags": [ "Notification Subscription" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/subscriptions/me": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SELF:SUBSCRIPTION [DELETE]\u0026lt;/code\u0026gt;\n\t\t\t\nUnsubscribe to app notification\n", "operationId": "UnsubscribeV2Handler", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "successfully submitted request to unsubcribe from app notification" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Unsubscribe to app notification", "tags": [ "Notification Subscription" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SELF:SUBSCRIPTION [READ]\u0026lt;/code\u0026gt;\n\t\nGet Subscription status of a user\n", "operationId": "GetSubscriptionV2Handler", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberStatusResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Subscription status of a user", "tags": [ "Notification Subscription" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SELF:SUBSCRIPTION [CREATE]\u0026lt;/code\u0026gt;\n\t\t\t\t\nSubscribe to app notification\nRequest body:\n- notificationType\t\t: type of the app notification to be subscribed - Required.\n\t- values: \n\t\t- \u0026#34;all\u0026#34;\n\t \t- \u0026#34;app-down\u0026#34;\n\t\t- \u0026#34;critical-vulnerability\u0026#34;\n", "operationId": "SubscribeV2Handler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.SelfSubscribeNotificationRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "successfully submitted request to subcribe from app notification" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Subscribe to app notification", "tags": [ "Notification Subscription" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/subscriptions/users/{userId}": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [DELETE]\u0026lt;/code\u0026gt;\n\t\nRemove a user from the notification subscription by user ID.\n", "operationId": "DeleteSubscriptionAppNotificationByUserIDV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Remove other person subscription by user ID", "tags": [ "Notification Subscription" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/subscriptions/{subscriptionId}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [DELETE]\u0026lt;/code\u0026gt;\n\t\nRemove a user from the notification subscription.\n", "operationId": "DeleteSubscriptionAppNotificationV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Subscription ID", "in": "path", "name": "subscriptionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Remove other person subscription", "tags": [ "Notification Subscription" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/variables": { "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [READ]\u0026lt;/code\u0026gt;\n\t\nGet list of environment variables per app\nAvailable Deployment Status: \n\u0026lt;code\u0026gt;deployed\u0026lt;/code\u0026gt; = app config is already deployed\n\u0026lt;code\u0026gt;undeployed\u0026lt;/code\u0026gt; = app config is not deployed yet and need restart and deploy of the app to be deployed\n\t", "operationId": "GetListOfVariablesV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetListOfConfigurationsV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of environment variables", "tags": [ "Configuration V2" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [CREATE]\u0026lt;/code\u0026gt;\n\nSave an environment variable.\n Request body:\n - configName\t\t: environment variable name - Required.\n - source\t\t\t: source of the configuration value (plaintext or ssm) - Required.\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "SaveVariableV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.SaveConfigurationV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SaveConfigurationV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Save an environment variable", "tags": [ "Configuration V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/variables/{configId}": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [DELETE]\u0026lt;/code\u0026gt;\n\t\nDelete an environment variable by its config id\n\t", "operationId": "DeleteVariableV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete an environment variable", "tags": [ "Configuration V2" ], "x-errorCodes": {} }, "put": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [UPDATE]\u0026lt;/code\u0026gt;\n\t\nUpdate an environment variable.\nRequest body:\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\t\n", "operationId": "UpdateVariableV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.UpdateConfigurationV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.UpdateConfigurationV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update an environment variable", "tags": [ "Configuration V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/asyncmessaging/topics": { "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:TOPICS [READ]\u0026lt;/code\u0026gt;\n\nList all Async Messaging Topics inside a game namespace.\n", "operationId": "ListTopicsHandler", "parameters": [ { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Fuzzy search for topic name", "in": "query", "name": "fuzzyTopicName", "type": "string" }, { "description": "Filter to get only topics subscribed by given app name", "in": "query", "name": "isSubscribedByAppName", "type": "string" }, { "description": "Filter to get only topics unsubscribed by given app name", "in": "query", "name": "isUnsubscribedByAppName", "type": "string" }, { "description": "Limit for pagination", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset for pagination", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.ListTopicsResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "List Async Messaging Topics", "tags": [ "Async Messaging" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:TOPICS [CREATE]\u0026lt;/code\u0026gt;\n\nCreate New Async Messaging Topic, the topic name is unique inside a game namespace.\n", "operationId": "CreateTopicHandler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateTopicRequest" } }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.TopicResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Create Async Messaging Topic", "tags": [ "Async Messaging" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/asyncmessaging/topics/{topicName}": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:TOPICS [DELETE]\u0026lt;/code\u0026gt;\n\nDelete Async Messaging Topic inside a game namespace given its topic name.\n", "operationId": "DeleteTopicHandler", "parameters": [ { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Topic Name", "in": "path", "name": "topicName", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.TopicResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Async Messaging Topic", "tags": [ "Async Messaging" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/deployments": { "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [READ]\u0026lt;/code\u0026gt;\n\nFilters the List of Deployments\n\nThis endpoint intended to get list of Deployment done for the given publisher and game.\nRequest :\n\t- appIds : list of app ids\n\t- deploymentIds: list of deployment ids\n\t- statuses: \n\t\tdeployment-in-progress\n\t\tdeployment-failed\n\t\tdeployment-timeout\n\t\tdeployment-running\n\t\tdeployment-down\nRequired: Valid Access Token\n", "operationId": "GetListOfDeploymentV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.GetDeploymentListV2Request" } }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetDeploymentListV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Fetches the List of Deployments", "tags": [ "Deployment V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/deployments/{deploymentId}": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [DELETE]\u0026lt;/code\u0026gt;\n\nDelete Deployment information by given DeploymentID\n\nThis endpoint will delete release object for the service deployment in the cluster\n\nRequired: Valid Access Token\n", "operationId": "DeleteDeploymentV2", "parameters": [ { "description": "Deployment ID", "in": "path", "name": "deploymentId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Deployment by Deployment ID", "tags": [ "Deployment V2" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [READ]\u0026lt;/code\u0026gt;\n\t\t\t\nGet Deployment information by given DeploymentID\n\t\nThis endpoint intended to get Deployment information.\n\t\nRequired: Valid Access Token\n", "operationId": "GetDeploymentV2", "parameters": [ { "description": "Deployment ID", "in": "path", "name": "deploymentId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetDeploymentListV2DataItem" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Deployment by Deployment ID", "tags": [ "Deployment V2" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/nosql/clusters": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [DELETE]\u0026lt;/code\u0026gt;\n\nYou can only delete the cluster when its status is \u0026#34;available\u0026#34;.\n\nDeleting the cluster will:\n\t- Remove NoSQL integration.\n\t- Remove all the data from the NoSQL\n\t- Remove all the credentials, including the Extend App’s credentials.\n", "operationId": "DeleteNoSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.DeleteNoSQLResourceResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete NoSQL Cluster", "tags": [ "Managed Resources" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [READ]\u0026lt;/code\u0026gt;\n\nGet NoSQL cluster information returns the NoSQL cluster related information by given studio/publisher namespace.\n\n\u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field - indicates the NoSQL cluster status:\n- \u0026lt;code\u0026gt;updating\u0026lt;/code\u0026gt; : The cluster is being modified and is not yet accessible (e.g., updating min/max DCU). \n- \u0026lt;code\u0026gt;creating\u0026lt;/code\u0026gt; : The cluster or instance is being created and is not yet accessible. \n- \u0026lt;code\u0026gt;deleting\u0026lt;/code\u0026gt; : The cluster is in the process of being deleted and is not accessible. \n- \u0026lt;code\u0026gt;stopping\u0026lt;/code\u0026gt; : The cluster is in the process of stopping and will soon become inaccessible. \n- \u0026lt;code\u0026gt;stopped\u0026lt;/code\u0026gt; : The cluster is stopped and not accessible. \n- \u0026lt;code\u0026gt;available\u0026lt;/code\u0026gt; : The cluster is accessible. \n- \u0026lt;code\u0026gt;failed\u0026lt;/code\u0026gt; : The cluster failed to provision or is in an error state and not accessible. \n- \u0026lt;code\u0026gt;starting\u0026lt;/code\u0026gt; : The cluster is transitioning from stopped to running, or is rebooting. \n- \u0026lt;code\u0026gt;maintenance\u0026lt;/code\u0026gt; : The cluster is undergoing maintenance operations and is not accessible. \n- \u0026lt;code\u0026gt;unknown\u0026lt;/code\u0026gt; : The cluster status is not recognized \n\n", "operationId": "GetNoSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get NoSQL Cluster Information", "tags": [ "Managed Resources" ], "x-errorCodes": {} }, "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [CREATE]\u0026lt;/code\u0026gt;\n\nProvision NoSQL database cluster and instances that can be used by extend apps in game namespace within the studio.\nOnly one NoSQL resource can be created for one studio/publisher namespace.\n\nProvisioning process is done asynchronously, you can check from the \u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field of the resource response.\n", "operationId": "CreateNoSQLClusterV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/nosqlresource.NoSQLResourceConfiguration" } }, { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates NoSQL Cluster", "tags": [ "Managed Resources" ], "x-errorCodes": {} }, "put": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [UPDATE]\u0026lt;/code\u0026gt;\n\nUpdate NoSQL cluster configurations such as min/max DCU (Database Capacity Units) for the NoSQL cluster in the given studio/publisher namespace.\nThe cluster must be in an available state to allow configuration updates.\n\nConfiguration update process may take some time to complete, you can check the updated status from the \u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field of the resource response.\n", "operationId": "UpdateNoSQLClusterV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/nosqlresource.NoSQLResourceConfiguration" } }, { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update NoSQL Cluster Configurations", "tags": [ "Managed Resources" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/nosql/clusters/start": { "put": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [UPDATE]\u0026lt;/code\u0026gt;\n\nStart NoSQL cluster.\nYou can only start the cluster when its status is \u0026#34;stopped\u0026#34;.\n\nCluster starting process may take some time to complete.\n", "operationId": "StartNoSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Start NoSQL Cluster", "tags": [ "Managed Resources" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/nosql/clusters/stop": { "put": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [UPDATE]\u0026lt;/code\u0026gt;\n\nStop NoSQL cluster.\nYou can only start the cluster when its status is \u0026#34;available\u0026#34;.\n\nCluster stopping process may take some time to complete.\n", "operationId": "StopNoSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Stop NoSQL Cluster", "tags": [ "Managed Resources" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/nosql/tunnels": { "get": { "consumes": [ "application/json" ], "description": "Returns the NoSQL access tunnel information for a specified game namespace", "operationId": "GetNoSQLAccessTunnelV2", "parameters": [ { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.TunnelInfoResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get NoSQL Access Tunnel", "tags": [ "Managed Resources" ], "x-errorCodes": {} } }, "/csm/v2/admin/namespaces/{namespace}/resources/limits": { "get": { "consumes": [ "application/json" ], "description": "This endpoint return the Extend Apps Configurable Limits for front end to use for initial validation before app creation\ne.g. \nReplica Limit will be used to check max replica that can be created for the said environment by default\nCPU Limit will be used to validate max allowed CPU for the extend app that hasn\u0026#39;t been created \nMemory Limit will be used to validate max allowed Memory for the extend app that hasn\u0026#39;t been created \nMaxAppNotificationSubscription will be used to validate the maximum number of subscriber for an app status notification\n", "operationId": "GetResourcesLimits", "parameters": [ { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.CSMAppLimitsResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "402": { "description": "Payment Required", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Extend Apps Configurable Limits e.g. any kind of limits for front end validation use", "tags": [ "Resources Limits" ], "x-errorCodes": {} } }, "/csm/v3/admin/namespaces/{namespace}/apps/{app}/subscriptions": { "delete": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [DELETE]\u0026lt;/code\u0026gt;\n\t\nRemove a user from the notification subscription using either user ID or email address. \nOnly one of them should be provided.\n", "operationId": "DeleteSubscriptionAppNotificationV3", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "emailAddress", "in": "query", "name": "emailAddress", "type": "string" }, { "description": "userID", "in": "query", "name": "userId", "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Remove other person subscription by user ID or email address", "tags": [ "Notification Subscription V3" ], "x-errorCodes": {} }, "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [READ]\u0026lt;/code\u0026gt;\n\nRequest param:\n- notificationType : type of the subscribed app notification\n\t- values: \n\t - all\n\t\t- app-down\n\t\t- critical-vulnerability\n\nGet a list of the app notification subscriber\n", "operationId": "GetNotificationSubscriberListV3", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Notification Type", "in": "query", "name": "notificationType", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberListResponseV2" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get a list of the app notification subscriber", "tags": [ "Notification Subscription V3" ], "x-errorCodes": {} } } }, "definitions": { "apimodel.AppItem": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "appRepoArn": { "type": "string" }, "appRepoUrl": { "type": "string" }, "appStatus": { "type": "string" }, "autoscaling": { "$ref": "#/definitions/apimodel.AutoscalingResponse" }, "basePath": { "type": "string" }, "cpu": { "$ref": "#/definitions/apimodel.CPUResponse" }, "createdAt": { "type": "string" }, "deletedAt": { "type": "string" }, "deploymentCreatedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "deploymentImageTag": { "type": "string" }, "description": { "type": "string" }, "gameName": { "type": "string" }, "isResourceApplied": { "type": "boolean", "x-omitempty": false }, "memory": { "$ref": "#/definitions/apimodel.MemoryResponse" }, "message": { "type": "string" }, "redeploymentInfo": { "$ref": "#/definitions/model.AppRedeploymentInfo" }, "replica": { "$ref": "#/definitions/apimodel.ReplicaResponse" }, "scenario": { "type": "string" }, "servicePublicURL": { "type": "string" }, "serviceURL": { "type": "string" }, "updatedAt": { "type": "string" }, "vmSharingConfiguration": { "type": "string" } }, "required": [ "appId", "appName", "appStatus", "createdAt", "gameName", "isResourceApplied", "scenario", "updatedAt", "vmSharingConfiguration" ] }, "apimodel.AutoscalingRequest": { "properties": { "targetCPUUtilizationPercent": { "format": "int32", "type": "integer" } }, "required": [ "targetCPUUtilizationPercent" ] }, "apimodel.AutoscalingResponse": { "properties": { "targetCPUUtilizationPercent": { "format": "int32", "type": "integer" } }, "required": [ "targetCPUUtilizationPercent" ] }, "apimodel.BulkSubscribeItem": { "properties": { "emailAddress": { "type": "string" }, "notificationType": { "additionalProperties": { "type": "boolean", "x-omitempty": false }, "type": "object" }, "userId": { "type": "string" } }, "required": [ "notificationType" ] }, "apimodel.BulkSubscribeRequest": { "properties": { "subscribers": { "items": { "$ref": "#/definitions/apimodel.BulkSubscribeItem" }, "type": "array" } }, "required": [ "subscribers" ] }, "apimodel.CPURequest": { "properties": { "requestCPU": { "format": "int32", "type": "integer" } }, "required": [ "requestCPU" ] }, "apimodel.CPUResponse": { "properties": { "cpuLimit": { "format": "int32", "type": "integer" }, "requestCPU": { "format": "int32", "type": "integer" } }, "required": [ "requestCPU" ] }, "apimodel.CSMAppLimitsResponse": { "properties": { "autoscaling": { "$ref": "#/definitions/model.CSMAutoscalingDefaults" }, "extendAppCPULimit": { "format": "int32", "type": "integer" }, "extendAppEventHandlerCPULimit": { "format": "int32", "type": "integer" }, "extendAppMemoryLimit": { "format": "int32", "type": "integer" }, "extendAppReplicaLimit": { "format": "int32", "type": "integer" }, "extendAppeEventHandlerMemoryLimit": { "format": "int32", "type": "integer" }, "maxSubscriberCount": { "format": "int32", "type": "integer" } }, "required": [ "autoscaling", "extendAppCPULimit", "extendAppEventHandlerCPULimit", "extendAppMemoryLimit", "extendAppReplicaLimit", "extendAppeEventHandlerMemoryLimit", "maxSubscriberCount" ] }, "apimodel.CreateAppV2Request": { "properties": { "autoscaling": { "$ref": "#/definitions/apimodel.AutoscalingRequest" }, "cpu": { "$ref": "#/definitions/apimodel.CPURequest" }, "description": { "type": "string" }, "memory": { "$ref": "#/definitions/apimodel.MemoryRequest" }, "replica": { "$ref": "#/definitions/apimodel.ReplicaRequest" }, "scenario": { "type": "string" }, "vmSharingConfiguration": { "type": "string" } }, "required": [ "scenario" ] }, "apimodel.CreateDeploymentV2Request": { "properties": { "imageTag": { "type": "string" } }, "required": [ "imageTag" ] }, "apimodel.CreateDeploymentV2Response": { "properties": { "deploymentId": { "type": "string" } }, "required": [ "deploymentId" ] }, "apimodel.CreateNoSQLAppDatabaseRequest": { "properties": { "dbName": { "type": "string" }, "password": { "type": "string" }, "username": { "type": "string" } }, "required": [ "dbName", "password", "username" ] }, "apimodel.CreateNoSQLDatabaseCredentialRequest": { "properties": { "password": { "type": "string" }, "username": { "type": "string" } }, "required": [ "password", "username" ] }, "apimodel.CreateSubscriptionRequest": { "properties": { "topicNames": { "items": { "type": "string" }, "type": "array" } }, "required": [ "topicNames" ] }, "apimodel.CreateSubscriptionResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.TopicSubscription" }, "type": "array" } } }, "apimodel.CreateTopicRequest": { "properties": { "description": { "type": "string" }, "topicName": { "type": "string" } }, "required": [ "topicName" ] }, "apimodel.DeleteNoSQLResourceResponse": { "properties": { "platformName": { "type": "string" }, "resourceId": { "type": "string" }, "resourceName": { "type": "string" }, "resourceType": { "type": "string" }, "studioName": { "type": "string" } }, "required": [ "platformName", "resourceId", "resourceName", "resourceType", "studioName" ] }, "apimodel.GetAppImageListV2DataItem": { "properties": { "IsActive": { "type": "boolean", "x-omitempty": false }, "imageDigest": { "type": "string" }, "imageScanResult": { "$ref": "#/definitions/apimodel.GetAppImageListV2DataItemImageScanResult" }, "imageScanStatus": { "$ref": "#/definitions/apimodel.GetAppImageListV2DataItemImageScanStatus" }, "imageTag": { "type": "string" }, "size": { "format": "int64", "type": "integer" }, "updatedAt": { "type": "string" } }, "required": [ "IsActive", "imageDigest", "imageTag", "size" ] }, "apimodel.GetAppImageListV2DataItemImageScanResult": { "properties": { "findingSeverityCounts": { "additionalProperties": { "format": "int64", "type": "integer" }, "type": "object" }, "findings": { "items": { "$ref": "#/definitions/model.ImageScanFinding" }, "type": "array" } }, "required": [ "findingSeverityCounts", "findings" ] }, "apimodel.GetAppImageListV2DataItemImageScanStatus": { "properties": { "description": { "type": "string" }, "status": { "type": "string" } }, "required": [ "status" ] }, "apimodel.GetAppImageListV2Response": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.GetAppImageListV2DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" }, "vulnerabilityStatus": { "type": "string" } }, "required": [ "data", "vulnerabilityStatus" ] }, "apimodel.GetAppListV2Request": { "properties": { "appNames": { "items": { "type": "string" }, "type": "array" }, "appStatuses": { "items": { "type": "string" }, "type": "array" }, "fuzzyAppName": { "type": "string" }, "scenario": { "type": "string" } } }, "apimodel.GetAppListV2Response": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.AppItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "apimodel.GetDeploymentListV2DataItem": { "properties": { "deletedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "imageTag": { "type": "string" }, "message": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentId", "imageTag", "status" ] }, "apimodel.GetDeploymentListV2Request": { "properties": { "appIds": { "items": { "type": "string" }, "type": "array" }, "deploymentIds": { "items": { "type": "string" }, "type": "array" }, "statuses": { "items": { "type": "string" }, "type": "array" } } }, "apimodel.GetDeploymentListV2Response": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.GetDeploymentListV2DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "apimodel.GetListOfConfigurationsV2DataItem": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configId": { "type": "string" }, "configName": { "type": "string" }, "configType": { "type": "string" }, "deploymentStatus": { "type": "string" }, "description": { "type": "string" }, "editable": { "type": "boolean", "x-omitempty": false }, "isHidden": { "type": "boolean", "x-omitempty": false }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configId", "configName", "configType", "deploymentStatus", "editable", "isHidden", "value" ] }, "apimodel.GetListOfConfigurationsV2Response": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.GetListOfConfigurationsV2DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "apimodel.GetNotificationSubscriberItem": { "properties": { "displayName": { "type": "string" }, "emailAddress": { "type": "string" }, "notificationType": { "additionalProperties": { "type": "boolean", "x-omitempty": false }, "type": "object" }, "subscriptionId": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "notificationType", "subscriptionId" ] }, "apimodel.GetNotificationSubscriberItemV2": { "properties": { "displayName": { "type": "string" }, "emailAddress": { "type": "string" }, "notificationTypes": { "items": { "$ref": "#/definitions/apimodel.NotificationType" }, "type": "array" }, "userId": { "type": "string" } }, "required": [ "notificationTypes" ] }, "apimodel.GetNotificationSubscriberListResponse": { "properties": { "maxSubscriptions": { "format": "int32", "type": "integer" }, "subscriptions": { "items": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberItem" }, "type": "array" } }, "required": [ "maxSubscriptions", "subscriptions" ] }, "apimodel.GetNotificationSubscriberListResponseV2": { "properties": { "maxSubscriptions": { "format": "int32", "type": "integer" }, "subscriptions": { "items": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberItemV2" }, "type": "array" } }, "required": [ "maxSubscriptions", "subscriptions" ] }, "apimodel.GetNotificationSubscriberStatusResponse": { "properties": { "displayName": { "type": "string" }, "emailAddress": { "type": "string" }, "maxSubscription": { "format": "int32", "type": "integer" }, "notificationType": { "type": "string" }, "subscribed": { "type": "boolean", "x-omitempty": false }, "subscriptionsCount": { "format": "int32", "type": "integer" }, "userId": { "type": "string" } }, "required": [ "maxSubscription", "notificationType", "subscribed", "subscriptionsCount" ] }, "apimodel.IncreaseLimitFormRequest": { "properties": { "clientEmail": { "type": "string" }, "preferredLimitReplica": { "format": "int32", "type": "integer" }, "requestReason": { "type": "string" } }, "required": [ "clientEmail", "requestReason" ] }, "apimodel.ListTopicsResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.TopicDetailResponse" }, "type": "array" }, "pagination": { "$ref": "#/definitions/apimodel.PaginationResponse" } }, "required": [ "data" ] }, "apimodel.MemoryRequest": { "properties": { "requestMemory": { "format": "int32", "type": "integer" } } }, "apimodel.MemoryResponse": { "properties": { "memoryLimit": { "format": "int32", "type": "integer" }, "requestMemory": { "format": "int32", "type": "integer" } } }, "apimodel.NoSQLDatabaseCredentialResponse": { "properties": { "createdAt": { "type": "string" }, "owner": { "type": "string" }, "username": { "type": "string" } }, "required": [ "createdAt", "owner", "username" ] }, "apimodel.NoSQLDatabaseDeleteResponse": { "properties": { "dbId": { "type": "string" }, "dbName": { "type": "string" } }, "required": [ "dbId", "dbName" ] }, "apimodel.NoSQLDatabaseResponse": { "properties": { "appId": { "type": "string" }, "credentials": { "$ref": "#/definitions/apimodel.NoSQLDatabaseCredentialResponse" }, "dbId": { "type": "string" }, "dbName": { "type": "string" }, "gameNamespace": { "type": "string" }, "hostnames": { "type": "string" }, "platformName": { "type": "string" }, "resourceId": { "type": "string" }, "resourceStatus": { "type": "string" } }, "required": [ "appId", "credentials", "dbId", "dbName", "gameNamespace", "hostnames", "platformName", "resourceId", "resourceStatus" ] }, "apimodel.NoSQLResourceResponse": { "properties": { "configuration": { "$ref": "#/definitions/nosqlresource.NoSQLResourceConfiguration" }, "hostnames": { "type": "string" }, "lastRotatedAt": { "type": "string" }, "platformName": { "type": "string" }, "region": { "type": "string" }, "resourceId": { "type": "string" }, "resourceName": { "type": "string" }, "resourceType": { "type": "string" }, "status": { "type": "string" }, "studioName": { "type": "string" } }, "required": [ "platformName", "resourceId", "resourceName", "resourceType", "status", "studioName" ] }, "apimodel.NotificationType": { "properties": { "subcriptionID": { "type": "string" }, "type": { "type": "string" } }, "required": [ "subcriptionID", "type" ] }, "apimodel.PaginationResponse": { "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "next": { "type": "string" }, "previous": { "type": "string" }, "totalData": { "format": "int64", "type": "integer" } }, "required": [ "totalData" ] }, "apimodel.ReplicaRequest": { "properties": { "maxReplica": { "format": "int32", "type": "integer" }, "minReplica": { "format": "int32", "type": "integer" } } }, "apimodel.ReplicaResponse": { "properties": { "currentReplica": { "format": "int32", "type": "integer" }, "maxReplica": { "format": "int32", "type": "integer" }, "minReplica": { "format": "int32", "type": "integer" }, "replicaLimit": { "format": "int32", "type": "integer" } } }, "apimodel.SaveConfigurationV2Request": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configName", "source", "value" ] }, "apimodel.SaveConfigurationV2Response": { "properties": { "configId": { "type": "string" }, "configName": { "type": "string" } }, "required": [ "configId", "configName" ] }, "apimodel.SaveSecretConfigurationV2Request": { "properties": { "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configName", "source", "value" ] }, "apimodel.SelfSubscribeNotificationRequest": { "properties": { "notificationType": { "type": "string" } }, "required": [ "notificationType" ] }, "apimodel.SubscribeNotificationRequest": { "properties": { "notificationType": { "type": "string" }, "subscribers": { "items": { "$ref": "#/definitions/apimodel.SubscriberItemRequest" }, "type": "array" } }, "required": [ "notificationType", "subscribers" ] }, "apimodel.SubscribeNotificationResponse": { "properties": { "notificationType": { "type": "string" }, "subscriptions": { "items": { "$ref": "#/definitions/apimodel.SubscriberItemResponse" }, "type": "array" } }, "required": [ "notificationType", "subscriptions" ] }, "apimodel.SubscriberItemRequest": { "properties": { "emailAddress": { "type": "string" }, "userId": { "type": "string" } } }, "apimodel.SubscriberItemResponse": { "properties": { "displayName": { "type": "string" }, "emailAddress": { "type": "string" }, "id": { "type": "string" }, "notificationType": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "id" ] }, "apimodel.TopicDetailResponse": { "properties": { "description": { "type": "string" }, "gameName": { "type": "string" }, "id": { "type": "string" }, "region": { "type": "string" }, "studioName": { "type": "string" }, "subscribers": { "items": { "$ref": "#/definitions/apimodel.TopicSubscription" }, "type": "array" }, "topicArn": { "type": "string" }, "topicName": { "type": "string" } }, "required": [ "gameName", "id", "region", "studioName", "topicArn", "topicName" ] }, "apimodel.TopicResponse": { "properties": { "description": { "type": "string" }, "gameName": { "type": "string" }, "id": { "type": "string" }, "region": { "type": "string" }, "studioName": { "type": "string" }, "topicArn": { "type": "string" }, "topicName": { "type": "string" } }, "required": [ "gameName", "id", "region", "studioName", "topicArn", "topicName" ] }, "apimodel.TopicSubscription": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "queueId": { "type": "string" }, "subscriptionArn": { "type": "string" }, "subscriptionId": { "type": "string" }, "subscriptionTime": { "type": "string" } }, "required": [ "appId", "appName", "queueId", "subscriptionArn", "subscriptionId", "subscriptionTime" ] }, "apimodel.TunnelInfoResponse": { "properties": { "tunnel": { "$ref": "#/definitions/resourceaccesstunnel.TunnelInfo" } }, "required": [ "tunnel" ] }, "apimodel.UpdateAppResourceRequest": { "properties": { "autoscaling": { "$ref": "#/definitions/apimodel.AutoscalingRequest" }, "cpu": { "$ref": "#/definitions/apimodel.CPURequest" }, "memory": { "$ref": "#/definitions/apimodel.MemoryRequest" }, "replica": { "$ref": "#/definitions/apimodel.ReplicaRequest" }, "vmSharingConfiguration": { "type": "string" } }, "required": [ "autoscaling" ] }, "apimodel.UpdateAppV2Request": { "properties": { "description": { "type": "string" } } }, "apimodel.UpdateConfigurationV2Request": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "description": { "type": "string" }, "value": { "type": "string" } }, "required": [ "value" ] }, "apimodel.UpdateConfigurationV2Response": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configId": { "type": "string" }, "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configId", "configName", "value" ] }, "apimodel.UpdateSecretConfigurationV2Request": { "properties": { "description": { "type": "string" }, "value": { "type": "string" } }, "required": [ "value" ] }, "generated.CreateAppV1Request": { "properties": { "description": { "type": "string" }, "scenario": { "type": "string" } } }, "generated.CreateAppV1Response": { "properties": { "statusUrl": { "type": "string" } } }, "generated.CreateDeploymentV1Request": { "properties": { "description": { "type": "string" }, "imageTag": { "type": "string" } }, "required": [ "imageTag" ] }, "generated.CreateDeploymentV1Response": { "properties": { "deploymentId": { "type": "string" } } }, "generated.DeleteAppImagesV1Request": { "properties": { "imageTags": { "items": { "type": "string" }, "type": "array" } }, "required": [ "imageTags" ] }, "generated.GetAppImageListV1DataItem": { "properties": { "imageDigest": { "type": "string" }, "imageScanStatus": { "$ref": "#/definitions/generated.GetAppImageListV1DataItemImageScanStatus" }, "imageTag": { "type": "string" }, "size": { "format": "int64", "type": "integer" }, "updatedAt": { "type": "string" } }, "required": [ "imageDigest", "imageTag" ] }, "generated.GetAppImageListV1DataItemImageScanStatus": { "properties": { "description": { "type": "string" }, "status": { "type": "string" } } }, "generated.GetAppImageListV1Response": { "properties": { "data": { "items": { "$ref": "#/definitions/generated.GetAppImageListV1DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "generated.GetAppListV1DataItem": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "appRepoArn": { "type": "string" }, "appRepoUrl": { "type": "string" }, "appStatus": { "type": "string" }, "app_release_status": { "type": "string" }, "basePath": { "type": "string" }, "deletedAt": { "type": "string" }, "deploymentCreatedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "deploymentImageTag": { "type": "string" }, "deployment_status": { "type": "string" }, "description": { "type": "string" }, "message": { "type": "string" }, "scenario": { "type": "string" }, "servicePublicURL": { "type": "string" }, "serviceURL": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentCreatedAt", "deploymentId", "deploymentImageTag" ] }, "generated.GetAppListV1Request": { "properties": { "appNames": { "items": { "type": "string" }, "type": "array" }, "fuzzyAppName": { "type": "string" }, "scenario": { "type": "string" }, "statuses": { "items": { "type": "string" }, "type": "array" } }, "required": [ "appNames", "statuses" ] }, "generated.GetAppListV1Response": { "properties": { "data": { "items": { "$ref": "#/definitions/generated.GetAppListV1DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "generated.GetAppReleaseV1Response": { "properties": { "deploymentId": { "type": "string" }, "imageTag": { "type": "string" }, "releaseDate": { "type": "string" } } }, "generated.GetAppV1Response": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "appRepoArn": { "type": "string" }, "appRepoUrl": { "type": "string" }, "appStatus": { "type": "string" }, "app_release_status": { "type": "string" }, "basePath": { "type": "string" }, "createdAt": { "type": "string" }, "deletedAt": { "type": "string" }, "deploymentCreatedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "deploymentImageTag": { "type": "string" }, "deployment_status": { "type": "string" }, "description": { "type": "string" }, "message": { "type": "string" }, "scenario": { "type": "string" }, "servicePublicURL": { "type": "string" }, "serviceURL": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentCreatedAt", "deploymentId", "deploymentImageTag" ] }, "generated.GetDeploymentListV1DataItem": { "properties": { "deletedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "imageTag": { "type": "string" }, "message": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentId" ] }, "generated.GetDeploymentListV1Request": { "properties": { "appIds": { "items": { "type": "string" }, "type": "array" }, "deploymentIds": { "items": { "type": "string" }, "type": "array" }, "statuses": { "items": { "type": "string" }, "type": "array" } }, "required": [ "appIds", "deploymentIds", "statuses" ] }, "generated.GetDeploymentListV1Response": { "properties": { "data": { "items": { "$ref": "#/definitions/generated.GetDeploymentListV1DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "generated.GetDeploymentV1Response": { "properties": { "deletedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "imageTag": { "type": "string" }, "message": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentId" ] }, "generated.GetListOfConfigurationsV1DataItem": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configId": { "type": "string" }, "configName": { "type": "string" }, "configType": { "type": "string" }, "deploymentStatus": { "type": "string" }, "description": { "type": "string" }, "editable": { "type": "boolean", "x-omitempty": false }, "isHidden": { "type": "boolean", "x-omitempty": false }, "source": { "type": "string" }, "value": { "type": "string" } } }, "generated.GetListOfConfigurationsV1Response": { "properties": { "data": { "items": { "$ref": "#/definitions/generated.GetListOfConfigurationsV1DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "generated.Pagination": { "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "next": { "type": "string" }, "previous": { "type": "string" } } }, "generated.SaveConfigurationV1Request": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configName", "source", "value" ] }, "generated.SaveConfigurationV1Response": { "properties": { "configId": { "type": "string" }, "configName": { "type": "string" } }, "required": [ "configId", "configName" ] }, "generated.StartAppV1Request": { "properties": { "reason": { "type": "string" } } }, "generated.StartAppV1Response": { "properties": { "statusUrl": { "type": "string" } } }, "generated.StopAppV1Request": { "properties": { "reason": { "type": "string" } } }, "generated.StopAppV1Response": { "properties": { "statusUrl": { "type": "string" } } }, "generated.UpdateAppV1Request": { "properties": { "description": { "type": "string" } } }, "generated.UpdateAppV1Response": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "appRepoArn": { "type": "string" }, "appRepoUrl": { "type": "string" }, "deletedAt": { "type": "string" }, "description": { "type": "string" }, "message": { "type": "string" }, "scenario": { "type": "string" }, "serviceURL": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } } }, "generated.UpdateConfigurationV1Request": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "description": { "type": "string" }, "value": { "type": "string" } } }, "generated.UpdateConfigurationV1Response": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configId": { "type": "string" }, "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } } }, "log.AppMessageDeclaration": { "properties": { "Attributes": { "items": { "type": "string" }, "type": "array" }, "Code": { "type": "string" }, "CodeName": { "type": "string" }, "Section": { "type": "string" }, "Service": { "type": "string" }, "Text": { "type": "string" } }, "required": [ "Attributes", "Code", "CodeName", "Section", "Service", "Text" ] }, "model.AppRedeploymentDetail": { "properties": { "message": { "type": "string" }, "reasonId": { "type": "string" } }, "required": [ "reasonId" ] }, "model.AppRedeploymentInfo": { "properties": { "details": { "items": { "$ref": "#/definitions/model.AppRedeploymentDetail" }, "type": "array" }, "shouldRedeploy": { "type": "boolean", "x-omitempty": false } }, "required": [ "shouldRedeploy" ] }, "model.CSMAutoscalingDefaults": { "properties": { "cpuUtilizationDefaultPercent": { "format": "int32", "type": "integer" }, "cpuUtilizationMaxPercent": { "format": "int32", "type": "integer" }, "cpuUtilizationMinPercent": { "format": "int32", "type": "integer" } }, "required": [ "cpuUtilizationDefaultPercent", "cpuUtilizationMaxPercent", "cpuUtilizationMinPercent" ] }, "model.ImageScanFinding": { "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "severity": { "type": "string" }, "uri": { "type": "string" } }, "required": [ "name", "severity", "uri" ] }, "nosqlresource.NoSQLResourceConfiguration": { "properties": { "maxDCU": { "format": "double", "type": "number" }, "minDCU": { "format": "double", "type": "number" }, "profileName": { "type": "string" } }, "required": [ "maxDCU", "minDCU" ] }, "resourceaccesstunnel.TunnelInfo": { "properties": { "endpoint": { "type": "string" }, "name": { "type": "string" }, "token": { "type": "string" } }, "required": [ "endpoint", "name", "token" ] }, "response.ErrorResponse": { "properties": { "error": { "type": "string" }, "errorCode": { "format": "int32", "type": "integer" }, "errorMessage": { "type": "string" }, "errors": { "type": "string" }, "messageVariables": { "additionalProperties": { "type": "string" }, "type": "object" }, "name": { "type": "string" }, "reason": { "type": "string" } }, "required": [ "error", "errorCode", "errorMessage", "errors", "messageVariables", "name", "reason" ] } }, "x-docs": { "alias": "csm", "host": "https://stage.accelbyte.io", "path": "/csm/apidocs/api.json" }, "x-messages": [ { "Attributes": [ "appName", "gameNamespace" ], "Code": "13100", "CodeName": "AppAlreadyExists", "Section": "app", "Service": "Custom Service Manager", "Text": "app already exists. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13102", "CodeName": "AppNotFound", "Section": "app", "Service": "Custom Service Manager", "Text": "app is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13103", "CodeName": "LatestAppReleaseNotFound", "Section": "app", "Service": "Custom Service Manager", "Text": "latest app release is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13104", "CodeName": "StudioNotFound", "Section": "app", "Service": "Custom Service Manager", "Text": "studio namespace is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13105", "CodeName": "MaximumSubscriberReached", "Section": "app", "Service": "Custom Service Manager", "Text": "maximum notification subscriber is already reached. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "deploymentID", "gameNamespace" ], "Code": "13300", "CodeName": "DeploymentNotFound", "Section": "deployment", "Service": "Custom Service Manager", "Text": "deployment is not found. gameNamespace: {{gameNamespace}}, deploymentID: {{deploymentID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13500", "CodeName": "EnvVarNotEditable", "Section": "app environment variable", "Service": "Custom Service Manager", "Text": "environment variable is not editable. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13501", "CodeName": "EnvVarNotFound", "Section": "app environment variable", "Service": "Custom Service Manager", "Text": "environment variable is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13502", "CodeName": "EnvVarHasDifferentType", "Section": "app environment variable", "Service": "Custom Service Manager", "Text": "environment variable has different config type. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13700", "CodeName": "EnvSecretNotEditable", "Section": "app environment secret", "Service": "Custom Service Manager", "Text": "environment secret is not editable. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13701", "CodeName": "EnvSecretNotFound", "Section": "app environment secret", "Service": "Custom Service Manager", "Text": "environment secret is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13702", "CodeName": "EnvSecretHasDifferentType", "Section": "app environment secret", "Service": "Custom Service Manager", "Text": "environment secret has different config type. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "dbName" ], "Code": "13900", "CodeName": "NoSQLDatabaseAlreadyExists", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "NoSQL app database already exists. dbName: {{dbName}}" }, { "Attributes": [ "dbName", "username" ], "Code": "13901", "CodeName": "NoSQLCredentialUsernameAlreadyExists", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "NoSQL credential username already exists. dbName: {{dbName}}, username: {{username}}" }, { "Attributes": [ "studioNamespace" ], "Code": "13902", "CodeName": "NoSQLDeleteClusterNotAvailable", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "unable to delete NoSQL cluster. Cluster not in an available state. studioNamespace: {{studioNamespace}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13903", "CodeName": "NoSQLClusterNotFound", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "NoSQL cluster not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13904", "CodeName": "NoSQLDatabaseNotFound", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "NoSQL database not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "action", "additionalFields", "appName", "gameNamespace", "reason" ], "Code": "20000", "CodeName": "InternalServerError", "Section": "general", "Service": "general", "Text": "unable to {{action}}: {{reason}}. gameNamespace: {{gameNamespace}}, appName: {{appName}}{{additionalFields}}" }, { "Attributes": [], "Code": "20001", "CodeName": "UnauthorizedAccess", "Section": "general", "Service": "general", "Text": "unauthorized access" }, { "Attributes": [ "appName", "gameNamespace", "message" ], "Code": "20002", "CodeName": "ValidationError", "Section": "general", "Service": "general", "Text": "{{message}}. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [], "Code": "20003", "CodeName": "ForbiddenAccess", "Section": "general", "Service": "general", "Text": "" }, { "Attributes": [], "Code": "20007", "CodeName": "TooManyRequests", "Section": "general", "Service": "general", "Text": "" }, { "Attributes": [], "Code": "20013", "CodeName": "InsufficientPermissions", "Section": "general", "Service": "general", "Text": "" }, { "Attributes": [ "action", "appName", "gameNamespace", "reason" ], "Code": "20019", "CodeName": "UnableToParseRequestBody", "Section": "general", "Service": "general", "Text": "unable to {{action}}: {{reason}}. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "message" ], "Code": "20021", "CodeName": "InvalidPaginationParameters", "Section": "general", "Service": "general", "Text": "{{message}}" }, { "Attributes": [], "Code": "20022", "CodeName": "InvalidPaymentStanding", "Section": "general", "Service": "general", "Text": "Extend is throttled due to the free trial ending or free trial credits are exhausted" }, { "Attributes": [ "feature" ], "Code": "20023", "CodeName": "NotImplemented", "Section": "general", "Service": "general", "Text": "the {{feature}} feature has not been implemented." }, { "Attributes": [ "action", "reason" ], "Code": "20024", "CodeName": "GeneralError", "Section": "general", "Service": "general", "Text": "unable to {{action}}: {{reason}}." } ], "x-version": { "buildDate": "Mon Nov 24 09:07:09 UTC 2025", "gitHash": "4f9db587", "name": "custom-service-manager", "version": "1.30.0", "version-justice": "3.39.0", "version-roles-seeding": "1.2.64" } }