{ "host": "demo.accelbyte.io", "info": { "contact": { "email": "engineering@accelbyte.io", "name": "Engineering Team at AccelByte", "url": "https://accelbyte.io" }, "description": "Justice Basic Service", "title": "justice-basic-service", "version": "4.2.1" }, "schemes": [ "https" ], "tags": [ { "name": "Anonymization" }, { "name": "Config" }, { "name": "FileUpload" }, { "name": "Misc" }, { "name": "Namespace" }, { "name": "UserProfile" } ], "externalDocs": { "description": "API Docs", "url": "https://stage.accelbyte.io/basic" }, "securityDefinitions": { "authorization": { "in": "header", "name": "Authorization", "type": "apiKey" } }, "swagger": "2.0", "paths": { "/basic/v1/admin/namespaces": { "get": { "description": "Get all namespaces.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11303\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: list of namespaces\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getNamespaces", "parameters": [ { "default": false, "description": "only retrieves active namespaces", "in": "query", "name": "activeOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "items": { "$ref": "#/definitions/NamespaceInfo" }, "type": "array" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get all namespaces", "tags": [ "Namespace" ], "x-errorCodes": { "20001": "unauthorized", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create a namespace.\u0026lt;br\u0026gt;By default the namespace is enabled.\u0026lt;br\u0026gt;In multi tenant mode, parentNamespace will be automatically filled with requester namespace if the requester is using studio or publisher token, and it will be filled with studio namespace if the requester uses game token. An oauth client will also be created and the id will be returned. \u0026lt;br\u0026gt;displayName rule: \u0026lt;br/\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Alphanumeric lowercase and uppercase are allowed\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Allowed Special Character: \u0026#39;,. -\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Must start and end with alphanumeric\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Spaces and special character are allowed but cannot appear twice in a row\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;br/\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11301\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: created namespace\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "createNamespace", "parameters": [ { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/NamespaceCreate" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Successful operation", "schema": { "$ref": "#/definitions/NamespaceInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11338\u003c/td\u003e\u003ctd\u003eUnable to {action}: Namespace contains invalid character(s)\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11339\u003c/td\u003e\u003ctd\u003eUnable to {action}: Display name contains invalid character(s)\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11340\u003c/td\u003e\u003ctd\u003eUnable to {action}: The maximum number of games namespace for studio:{studio} has been exceeded\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11336\u003c/td\u003e\u003ctd\u003eUnable to {action}: Namespace already exists\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a namespace", "tags": [ "Namespace" ], "x-errorCodes": { "11336": "Unable to {action}: Namespace already exists", "11338": "Unable to {action}: Namespace contains invalid character(s)", "11339": "Unable to {action}: Display name contains invalid character(s)", "11340": "Unable to {action}: The maximum number of games namespace for studio:{studio} has been exceeded", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE [CREATE]" } } }, "/basic/v1/admin/namespaces/{namespace}": { "delete": { "description": "Delete a namespace.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11307\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: deleted namespace\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "deleteNamespace", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/NamespaceInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11337\u003c/td\u003e\u003ctd\u003eUnable to {action}: Namespace not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20006\u003c/td\u003e\u003ctd\u003eoptimistic lock\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete a namespace", "tags": [ "Namespace" ], "x-errorCodes": { "11337": "Unable to {action}: Namespace not found", "20001": "unauthorized", "20002": "validation error", "20006": "optimistic lock", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:NAMESPACE [DELETE]" } }, "get": { "description": "Get a namespace.\u0026lt;br\u0026gt;In multi tenant mode, parentNamespace will be returned.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11304\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: namespace\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getNamespace", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": false, "description": "only retrieves active namespaces", "in": "query", "name": "activeOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/NamespaceInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11337\u003c/td\u003e\u003ctd\u003eUnable to {action}: Namespace not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get a namespace", "tags": [ "Namespace" ], "x-errorCodes": { "11337": "Unable to {action}: Namespace not found", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:NAMESPACE [READ]" } } }, "/basic/v1/admin/namespaces/{namespace}/basic": { "patch": { "consumes": [ "application/json" ], "description": "Update namespace basic info.\u0026lt;br\u0026gt;displayName rule: \u0026lt;br/\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Alphanumeric lowercase and uppercase are allowed\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Allowed Special Character: \u0026#39;,. -\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Must start and end with alphanumeric\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Spaces and special character are allowed but cannot appear twice in a row\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;br/\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11302\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: updated namespace\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateNamespace", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/NamespaceUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/NamespaceInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11337\u003c/td\u003e\u003ctd\u003eUnable to {action}: Namespace not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20006\u003c/td\u003e\u003ctd\u003eoptimistic lock\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update namespace basic info", "tags": [ "Namespace" ], "x-errorCodes": { "11337": "Unable to {action}: Namespace not found", "20001": "unauthorized", "20002": "validation error", "20006": "optimistic lock", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:NAMESPACE [UPDATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/child": { "get": { "description": "Get child namespaces.\u0026lt;br\u0026gt;If input namespace is publisher namespace, then it will return its all studio namespace.\u0026lt;br\u0026gt;If input namespace is studio namespace, then it will return its all game namespace.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: list of child namespaces\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getChildNamespaces", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": false, "description": "only retrieves active namespaces", "in": "query", "name": "activeOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "items": { "$ref": "#/definitions/NamespaceInfo" }, "type": "array" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get child namespaces", "tags": [ "Namespace" ], "x-errorCodes": { "20001": "unauthorized", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:NAMESPACE [READ]" } } }, "/basic/v1/admin/namespaces/{namespace}/configs": { "post": { "consumes": [ "application/json" ], "description": "Create a config.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: created config\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "createConfig", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/ConfigCreate" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Successful operation", "schema": { "$ref": "#/definitions/ConfigInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11771\u003c/td\u003e\u003ctd\u003eUnable to {action}: Config already exists\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a config", "tags": [ "Config" ], "x-errorCodes": { "11771": "Unable to {action}: Config already exists", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:BASIC:CONFIG [CREATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/configs/{configKey}": { "delete": { "consumes": [ "application/json" ], "description": "Delete a config.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: created config\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "deleteConfig", "parameters": [ { "in": "path", "name": "configKey", "required": true, "type": "string" }, { "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Successful operation" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11741\u003c/td\u003e\u003ctd\u003eUnable to {action}: Config not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete a config", "tags": [ "Config" ], "x-errorCodes": { "11741": "Unable to {action}: Config not found", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:BASIC:CONFIG [DELETE]" } }, "get": { "description": "Get a config.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: config\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getConfig", "parameters": [ { "in": "path", "name": "configKey", "required": true, "type": "string" }, { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/ConfigInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11741\u003c/td\u003e\u003ctd\u003eUnable to {action}: Config not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get a config", "tags": [ "Config" ], "x-errorCodes": { "11741": "Unable to {action}: Config not found", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:BASIC:CONFIG [READ]" } }, "patch": { "consumes": [ "application/json" ], "description": "Update a config.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: created config\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateConfig", "parameters": [ { "in": "path", "name": "configKey", "required": true, "type": "string" }, { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/ConfigUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/ConfigInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11741\u003c/td\u003e\u003ctd\u003eUnable to {action}: Config not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a config", "tags": [ "Config" ], "x-errorCodes": { "11741": "Unable to {action}: Config not found", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:BASIC:CONFIG [UPDATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/context": { "get": { "description": "Get context of namespace.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: context of namespace\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getNamespaceContext", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "query", "name": "refreshOnCacheMiss", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/NamespaceContext" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get context of namespace", "tags": [ "Namespace" ], "x-errorCodes": { "20001": "unauthorized", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:NAMESPACE [READ]" } } }, "/basic/v1/admin/namespaces/{namespace}/folders/{folder}/files": { "post": { "description": "Generate an upload URL. It\u0026#39;s valid for 10 minutes.\u0026lt;br/\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11101\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: URL data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "generatedUploadUrl", "parameters": [ { "description": "the name of folder where the file will be uploaded, must be between 1-256 characters, all characters allowed no whitespace", "in": "path", "name": "folder", "required": true, "type": "string" }, { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "one of the these types: jpeg, jpg, png, bmp, gif, mp3, bin, webp, mp4, webm", "in": "query", "name": "fileType", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/FileUploadUrlInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11131\u003c/td\u003e\u003ctd\u003eUnable to {action}: File type is not supported\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "500": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20000\u003c/td\u003e\u003ctd\u003einternal server error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Generate Upload URL", "tags": [ "FileUpload" ], "x-errorCodes": { "11131": "Unable to {action}: File type is not supported", "20000": "internal server error", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:FILEUPLOAD [CREATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/game": { "get": { "description": "Get game namespaces.\u0026lt;br\u0026gt;In multi tenant mode, a given super admin namespace will return all game namespaces of studio namespaces\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11308\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: list of namespaces\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getGameNamespaces", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": false, "description": "only retrieves active namespaces", "in": "query", "name": "activeOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "items": { "$ref": "#/definitions/NamespaceInfo" }, "type": "array" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get game namespaces", "tags": [ "Namespace" ], "x-errorCodes": { "20001": "unauthorized", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:NAMESPACE [READ]" } } }, "/basic/v1/admin/namespaces/{namespace}/misc/countries": { "get": { "deprecated": true, "description": "List countries.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11204\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: country code list\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getCountries", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": "en", "description": "language value from language tag, allowed format: en, en-US", "in": "query", "name": "lang", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/CountryObject" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "List countries", "tags": [ "Misc" ], "x-errorCodes": { "20001": "unauthorized", "20002": "validation error" }, "x-security": { "userPermissions": "-" } } }, "/basic/v1/admin/namespaces/{namespace}/misc/countrygroups": { "get": { "description": "List country groups. Will return all available country groups if the query param is not specified\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11203\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: list of country groups\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getCountryGroups", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "groupCode, only accept alphabet and whitespace", "in": "query", "name": "groupCode", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveCountryGroupResponse" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11233\u003c/td\u003e\u003ctd\u003eUnable to {action}: Country group with code [{countryGroupCode}] is not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "List country groups", "tags": [ "Misc" ], "x-errorCodes": { "11233": "Unable to {action}: Country group with code [{countryGroupCode}] is not found", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:MISC [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Add a country groups\u0026lt;br\u0026gt;Country code must follow ISO3166-1 alpha-2.\u0026lt;br/\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11201\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: newly created country group\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "addCountryGroup", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/AddCountryGroupRequest" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/AddCountryGroupResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11234\u003c/td\u003e\u003ctd\u003eUnable to {action}: A country can't be assigned to more than one country group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11235\u003c/td\u003e\u003ctd\u003eUnable to {action}: Country group with specified code is already exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Add a country group", "tags": [ "Misc" ], "x-errorCodes": { "11234": "Unable to {action}: A country can't be assigned to more than one country group", "11235": "Unable to {action}: Country group with specified code is already exist", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:MISC [CREATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/misc/countrygroups/{countryGroupCode}": { "delete": { "description": "Delete a country groups by its country group code. This endpoint usually used for testing purpose to cleanup test data.\u0026lt;br\u0026gt;", "operationId": "deleteCountryGroup", "parameters": [ { "description": "groupCode, only accept alphabet and whitespace", "in": "path", "name": "countryGroupCode", "required": true, "type": "string" }, { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11233\u003c/td\u003e\u003ctd\u003eUnable to {action}: Country group with code [{countryGroupCode}] is not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete a country group", "tags": [ "Misc" ], "x-errorCodes": { "11233": "Unable to {action}: Country group with code [{countryGroupCode}] is not found", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:MISC [DELETE]" } }, "put": { "consumes": [ "application/json" ], "description": "Update a country groups. The countryGroupCode must be exist beforehand.\u0026lt;br\u0026gt;Valid update behaviour :\u0026lt;br/\u0026gt;- To update \u0026lt;i\u0026gt;countryGroupName\u0026lt;/i\u0026gt; only, do not include \u0026lt;i\u0026gt;countries\u0026lt;/i\u0026gt; key or just specify it with empty array.\u0026lt;br/\u0026gt;- To update \u0026lt;i\u0026gt;countries\u0026lt;/i\u0026gt; only, do not include \u0026lt;i\u0026gt;countryGroupName\u0026lt;/i\u0026gt; key or just specify it with blank value.\u0026lt;br/\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11202\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: updated country group\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateCountryGroup", "parameters": [ { "description": "groupCode, only accept alphabet and whitespace", "in": "path", "name": "countryGroupCode", "required": true, "type": "string" }, { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UpdateCountryGroupRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/CountryGroupObject" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11234\u003c/td\u003e\u003ctd\u003eUnable to {action}: A country can't be assigned to more than one country group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11233\u003c/td\u003e\u003ctd\u003eUnable to {action}: Country group with code [{countryGroupCode}] is not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a country group", "tags": [ "Misc" ], "x-errorCodes": { "11233": "Unable to {action}: Country group with code [{countryGroupCode}] is not found", "11234": "Unable to {action}: A country can't be assigned to more than one country group", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:MISC [UPDATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/misc/languages": { "get": { "description": "List languages.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11206\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: language list\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getLanguages", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "additionalProperties": { "type": "string" }, "type": "object" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "List languages.", "tags": [ "Misc" ], "x-errorCodes": { "20001": "unauthorized", "20002": "validation error" }, "x-security": { "userPermissions": "-" } } }, "/basic/v1/admin/namespaces/{namespace}/misc/timezones": { "get": { "description": "List time zones.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11205\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: time zones\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getTimeZones", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "type": "string" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "List time zones", "tags": [ "Misc" ], "x-errorCodes": { "20001": "unauthorized", "20002": "validation error" }, "x-security": { "userPermissions": "-" } } }, "/basic/v1/admin/namespaces/{namespace}/profiles/byPublicId": { "get": { "description": "Get user profile by public id.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user profile info\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getUserProfileInfoByPublicId", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user public id", "in": "query", "name": "publicId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfileInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11469\u003c/td\u003e\u003ctd\u003eUser profile with publicId [{publicId}] not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get user profile info by public id", "tags": [ "UserProfile" ], "x-errorCodes": { "11469": "User profile with publicId [{publicId}] not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:PROFILE [READ]" } } }, "/basic/v1/admin/namespaces/{namespace}/profiles/public": { "post": { "consumes": [ "application/json" ], "description": "Admin get user public profile by ids.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Required permission\u0026lt;/i\u0026gt;: resource=\u0026lt;b\u0026gt;\u0026#34;ADMIN:NAMESPACE:{namespace}:PROFILE\u0026#34;\u0026lt;/b\u0026gt;, action=2 \u0026lt;b\u0026gt;(GET)\u0026lt;/b\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11405\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user public profiles\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "adminGetUserProfilePublicInfoByIds", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserProfileBulkRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "items": { "$ref": "#/definitions/UserProfilePublicInfo" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Admin get user profile public info by ids", "tags": [ "UserProfile" ], "x-errorCodes": { "20002": "validation error" } } }, "/basic/v1/admin/namespaces/{namespace}/publisher": { "get": { "consumes": [ "application/json" ], "description": "Get namespace info related publisher namespace.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11305\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Namespace info related publisher namespace\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getNamespacePublisher", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/NamespacePublisherInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11337\u003c/td\u003e\u003ctd\u003eUnable to {action}: Namespace not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get namespace info related publisher namespace", "tags": [ "Namespace" ], "x-errorCodes": { "11337": "Unable to {action}: Namespace not found", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:NAMESPACE [READ]" } } }, "/basic/v1/admin/namespaces/{namespace}/publisher/configs/{configKey}": { "get": { "description": "Get a publisher config.\u0026lt;br\u0026gt;It will return a publisher namespace config of the given namespace and key.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: config\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getPublisherConfig", "parameters": [ { "in": "path", "name": "configKey", "required": true, "type": "string" }, { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/ConfigInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11741\u003c/td\u003e\u003ctd\u003eUnable to {action}: Config not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get a publisher config", "tags": [ "Config" ], "x-errorCodes": { "11741": "Unable to {action}: Config not found", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:BASIC:CONFIG [READ]" } } }, "/basic/v1/admin/namespaces/{namespace}/status": { "patch": { "consumes": [ "application/json" ], "description": "Change a namespace status.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Action code\u0026lt;i\u0026gt;\u0026lt;/i\u0026gt;: 11306\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: updated namespace\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "changeNamespaceStatus", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/NamespaceStatusUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/NamespaceInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11337\u003c/td\u003e\u003ctd\u003eUnable to {action}: Namespace not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20006\u003c/td\u003e\u003ctd\u003eoptimistic lock\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Change namespace status", "tags": [ "Namespace" ], "x-errorCodes": { "11337": "Unable to {action}: Namespace not found", "20001": "unauthorized", "20002": "validation error", "20006": "optimistic lock", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:NAMESPACE [UPDATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/users/{userId}/anonymization/profiles": { "delete": { "consumes": [ "application/json" ], "description": "Anonymize user profile.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11501\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "anonymizeUserProfile", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Anonymized profile successfully" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized access\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "anonymize user profile", "tags": [ "Anonymization" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:ANONYMIZATION [DELETE]" } } }, "/basic/v1/admin/namespaces/{namespace}/users/{userId}/files": { "post": { "description": "Generate an upload URL for user content. It\u0026#39;s valid for 10 minutes.\u0026lt;br/\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11102\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: URL data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "generatedUserUploadContentUrl", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "one of the these types: jpeg, jpg, png, bmp, gif, mp3, bin, webp, mp4, webm", "in": "query", "name": "fileType", "required": true, "type": "string" }, { "default": "default", "description": "Upload category. Supported categories: default, reporting", "in": "query", "name": "category", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/FileUploadUrlInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11121\u003c/td\u003e\u003ctd\u003eUnable to {action}: category {category} is not valid\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11131\u003c/td\u003e\u003ctd\u003eUnable to {action}: File type is not supported\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11132\u003c/td\u003e\u003ctd\u003eUnable to {action}: file storage exceed limitation, user ID: {userId}, namespace: {namespace}\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "500": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20000\u003c/td\u003e\u003ctd\u003einternal server error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Generate Upload URL For User Content", "tags": [ "FileUpload" ], "x-errorCodes": { "11121": "Unable to {action}: category {category} is not valid", "11131": "Unable to {action}: File type is not supported", "11132": "Unable to {action}: file storage exceed limitation, user ID: {userId}, namespace: {namespace}", "20000": "internal server error", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:FILEUPLOAD [CREATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/users/{userId}/profiles": { "delete": { "consumes": [ "application/json" ], "description": "Delete user profile.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11407\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Delete user profile\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "deleteUserProfile", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UserProfilePrivateInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete user profile", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:PROFILE [DELETE]" } }, "get": { "description": "Get user profile.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user profile\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11403\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getUserProfileInfo", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UserProfilePrivateInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get user profile", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:PROFILE [READ]" } }, "put": { "consumes": [ "application/json" ], "description": "Update user profile.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11402\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Updated user profile\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateUserProfile", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserProfileAdmin" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UserProfilePrivateInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update user profile", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:PROFILE [UPDATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/users/{userId}/profiles/customAttributes": { "get": { "description": "Get user custom attributes.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: custom attributes\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11403\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getCustomAttributesInfo", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "additionalProperties": { "type": "object" }, "type": "object" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get user custom attributes", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:PROFILE [READ]" } }, "put": { "consumes": [ "application/json" ], "description": "Update partially custom attributes tied to the user id.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11402\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Request body\u0026lt;/i\u0026gt;: allowed format: JSON object\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Updated custom attributes\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateCustomAttributesPartially", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "additionalProperties": { "type": "object" }, "type": "object" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "additionalProperties": { "type": "object" }, "type": "object" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update partially custom attributes tied to the user id", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:PROFILE [UPDATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/users/{userId}/profiles/privateCustomAttributes": { "get": { "description": "Get user private custom attributes.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: custom attributes\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11403\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getPrivateCustomAttributesInfo", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "additionalProperties": { "type": "object" }, "type": "object" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get user private custom attributes", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20013": "insufficient permission" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:PROFILE [READ]" } }, "put": { "consumes": [ "application/json" ], "description": "Update partially private custom attributes tied to the user id.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11402\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Request body\u0026lt;/i\u0026gt;: allowed format: JSON object\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Updated custom attributes\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updatePrivateCustomAttributesPartially", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "additionalProperties": { "type": "object" }, "type": "object" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "additionalProperties": { "type": "object" }, "type": "object" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update partially private custom attributes tied to the user id", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:PROFILE [UPDATE]" } } }, "/basic/v1/admin/namespaces/{namespace}/users/{userId}/profiles/status": { "patch": { "consumes": [ "application/json" ], "description": "Update user profile status.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11406\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user profile\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateUserProfileStatus", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserProfileStatusUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UserProfilePrivateInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update user profile status", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:PROFILE [UPDATE]" } } }, "/basic/v1/public/misc/time": { "get": { "description": "Get server time", "operationId": "publicGetTime", "parameters": [], "produces": [ "application/json" ], "responses": { "200": { "description": "Success retrieve server time", "schema": { "$ref": "#/definitions/RetrieveTimeResponse" } } }, "summary": "Get server time", "tags": [ "Misc" ], "x-errorCodes": {} } }, "/basic/v1/public/namespaces": { "get": { "description": "Get all namespaces.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11303\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: list of namespaces\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetNamespaces", "parameters": [ { "default": false, "description": "only retrieves active namespaces", "in": "query", "name": "activeOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "items": { "$ref": "#/definitions/NamespaceInfo" }, "type": "array" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get all namespaces", "tags": [ "Namespace" ], "x-errorCodes": { "20001": "unauthorized" }, "x-security": { "userPermissions": "-" } } }, "/basic/v1/public/namespaces/{namespace}": { "get": { "description": "Get a namespace info.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: namespace info\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getNamespace_1", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/NamespaceSimpleInfo" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11337\u003c/td\u003e\u003ctd\u003eUnable to {action}: Namespace not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "summary": "Get a namespace info", "tags": [ "Namespace" ], "x-errorCodes": { "11337": "Unable to {action}: Namespace not found" } } }, "/basic/v1/public/namespaces/{namespace}/folders/{folder}/files": { "post": { "description": "Generate an upload URL. It\u0026#39;s valid for 10 minutes.\u0026lt;br/\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11101\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: URL data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGeneratedUploadUrl", "parameters": [ { "description": "the name of folder where the file will be uploaded, must be between 1-256 characters, all characters allowed no whitespace", "in": "path", "name": "folder", "required": true, "type": "string" }, { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "one of the these types: jpeg, jpg, png, bmp, gif, mp3, bin, webp", "in": "query", "name": "fileType", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/FileUploadUrlInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11131\u003c/td\u003e\u003ctd\u003eUnable to {action}: File type is not supported\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "500": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20000\u003c/td\u003e\u003ctd\u003einternal server error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Generate Upload URL", "tags": [ "FileUpload" ], "x-errorCodes": { "11131": "Unable to {action}: File type is not supported", "20000": "internal server error", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:FILEUPLOAD [CREATE]" } } }, "/basic/v1/public/namespaces/{namespace}/misc/countries": { "get": { "deprecated": true, "description": "List countries.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: country code list\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetCountries", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": "en", "description": "language value from language tag, allowed format: en, en-US", "in": "query", "name": "lang", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/CountryObject" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "summary": "List countries", "tags": [ "Misc" ], "x-errorCodes": { "20002": "validation error" } } }, "/basic/v1/public/namespaces/{namespace}/misc/languages": { "get": { "description": "List languages.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: language list\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetLanguages", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "additionalProperties": { "type": "object" }, "type": "object" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "summary": "List languages.", "tags": [ "Misc" ], "x-errorCodes": { "20002": "validation error" } } }, "/basic/v1/public/namespaces/{namespace}/misc/timezones": { "get": { "description": "List time zones.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: time zones\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetTimeZones", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "type": "string" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "summary": "List time zones", "tags": [ "Misc" ], "x-errorCodes": { "20002": "validation error" } } }, "/basic/v1/public/namespaces/{namespace}/profiles/public": { "get": { "description": "Get user public profile by ids.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11405\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user public profiles\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetUserProfilePublicInfoByIds", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User IDs, should follow UUID version 4 without hyphen, separate the IDs using comma", "in": "query", "name": "userIds", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "items": { "$ref": "#/definitions/UserProfilePublicInfo" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "summary": "Get user profile public info by ids", "tags": [ "UserProfile" ], "x-errorCodes": { "20002": "validation error" } }, "post": { "consumes": [ "application/json" ], "description": "Bulk get user public profile by ids.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user public profiles\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicBulkGetUserProfilePublicInfo", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserProfileBulkRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "items": { "$ref": "#/definitions/UserProfilePublicInfo" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "summary": "Bulk get user profile public info by ids", "tags": [ "UserProfile" ], "x-errorCodes": { "20002": "validation error" } } }, "/basic/v1/public/namespaces/{namespace}/profiles/public/byPublicId": { "get": { "description": "Get user public profile by public id.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user public profile\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetUserProfileInfoByPublicId", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user public id", "in": "query", "name": "publicId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfilePublicInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11469\u003c/td\u003e\u003ctd\u003eUser profile with publicId [{publicId}] not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "summary": "Get user profile public info by public id", "tags": [ "UserProfile" ], "x-errorCodes": { "11469": "User profile with publicId [{publicId}] not found in namespace [{namespace}]", "20002": "validation error" } } }, "/basic/v1/public/namespaces/{namespace}/publisher": { "get": { "consumes": [ "application/json" ], "description": "Get namespace info related publisher namespace.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11305\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Namespace info related publisher namespace\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetNamespacePublisher", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/NamespacePublisherInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11337\u003c/td\u003e\u003ctd\u003eUnable to {action}: Namespace not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get namespace info related publisher namespace", "tags": [ "Namespace" ], "x-errorCodes": { "11337": "Unable to {action}: Namespace not found", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:NAMESPACE [READ]" } } }, "/basic/v1/public/namespaces/{namespace}/users/me/profiles": { "get": { "description": "Get my profile\u0026lt;br\u0026gt;\u0026lt;b\u0026gt;Client with user token can get user profile in target namespace\u0026lt;/b\u0026gt;\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11403\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user profile\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Path\u0026#39;s namespace\u0026lt;/i\u0026gt; : \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;can be filled with \u0026lt;b\u0026gt;publisher namespace\u0026lt;/b\u0026gt; in order to get \u0026lt;b\u0026gt;publisher user profile\u0026lt;/b\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;can be filled with \u0026lt;b\u0026gt;game namespace\u0026lt;/b\u0026gt; in order to get \u0026lt;b\u0026gt;game user profile\u0026lt;/b\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Language\u0026lt;/i\u0026gt; : allowed format: en, en-US\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Timezone\u0026lt;/i\u0026gt; : IANA time zone, e.g. Asia/Shanghai\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getMyProfileInfo", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfilePrivateInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20008\u003c/td\u003e\u003ctd\u003euser not found\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20017\u003c/td\u003e\u003ctd\u003euser not linked\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get my profile", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20008": "user not found", "20013": "insufficient permission", "20017": "user not linked" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:PROFILE [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create my profile.\u0026lt;br\u0026gt;\u0026lt;b\u0026gt;Client with user token can create user profile in target namespace\u0026lt;/b\u0026gt;\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11401\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Created user profile\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Path\u0026#39;s namespace\u0026lt;/i\u0026gt; : \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;can be filled with \u0026lt;b\u0026gt;publisher namespace\u0026lt;/b\u0026gt; in order to create \u0026lt;b\u0026gt;publisher user profile\u0026lt;/b\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;can be filled with \u0026lt;b\u0026gt;game namespace\u0026lt;/b\u0026gt; in order to create \u0026lt;b\u0026gt;game user profile\u0026lt;/b\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Language\u0026lt;/i\u0026gt; : allowed format: en, en-US\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Country\u0026lt;/i\u0026gt; : ISO3166-1 alpha-2 two letter, e.g. US \u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Timezone\u0026lt;/i\u0026gt; : IANA time zone, e.g. Asia/Shanghai\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "createMyProfile", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserProfilePrivateCreate" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfilePrivateInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20008\u003c/td\u003e\u003ctd\u003euser not found\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20017\u003c/td\u003e\u003ctd\u003euser not linked\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11441\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile already exists\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create my profile", "tags": [ "UserProfile" ], "x-errorCodes": { "11441": "Unable to {action}: User profile already exists", "20001": "unauthorized", "20002": "validation error", "20008": "user not found", "20013": "insufficient permission", "20017": "user not linked", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:PROFILE [CREATE]" } }, "put": { "consumes": [ "application/json" ], "description": "Update my profile.\u0026lt;br\u0026gt;Updates user profile in the target namespace (namespace in the path). If token\u0026#39;s namespace doesn\u0026#39;t match the target namespace, the service automatically maps the token\u0026#39;s user ID into the user ID in the target namespace. The endpoint returns the updated user profile on a successful call.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11402\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user profile\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Path\u0026#39;s namespace\u0026lt;/i\u0026gt; : \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;can be filled with \u0026lt;b\u0026gt;publisher namespace\u0026lt;/b\u0026gt; in order to update \u0026lt;b\u0026gt;publisher user profile\u0026lt;/b\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;can be filled with \u0026lt;b\u0026gt;game namespace\u0026lt;/b\u0026gt; in order to update \u0026lt;b\u0026gt;game user profile\u0026lt;/b\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Language\u0026lt;/i\u0026gt; : allowed format: en, en-US\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Timezone\u0026lt;/i\u0026gt; : IANA time zone, e.g. Asia/Shanghai\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateMyProfile", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserProfileUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfilePrivateInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20008\u003c/td\u003e\u003ctd\u003euser not found\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20017\u003c/td\u003e\u003ctd\u003euser not linked\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update my profile", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20008": "user not found", "20013": "insufficient permission", "20017": "user not linked", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:PROFILE [UPDATE]" } } }, "/basic/v1/public/namespaces/{namespace}/users/me/profiles/privateCustomAttributes": { "get": { "description": "Get my private custom attributes.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: custom attributes\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11403\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getMyPrivateCustomAttributesInfo", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "additionalProperties": { "type": "object" }, "type": "object" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get my private custom attributes", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20013": "insufficient permission" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:PROFILE [READ]" } }, "put": { "consumes": [ "application/json" ], "description": "Update partially private custom attributes tied to me.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11402\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Request body\u0026lt;/i\u0026gt;: allowed format: JSON object\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Updated custom attributes\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateMyPrivateCustomAttributesPartially", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "additionalProperties": { "type": "object" }, "type": "object" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "additionalProperties": { "type": "object" }, "type": "object" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update partially private custom attributes tied to me", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:PROFILE [UPDATE]" } } }, "/basic/v1/public/namespaces/{namespace}/users/me/profiles/zipCode": { "get": { "consumes": [ "application/json" ], "description": "Get my zip code.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11407\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user zip code\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getMyZipCode", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserZipCode" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get my zip code", "tags": [ "UserProfile" ], "x-errorCodes": { "20001": "unauthorized", "20013": "insufficient permission" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:PROFILE [READ]" } }, "patch": { "consumes": [ "application/json" ], "description": "Update my zip code.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11408\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user zip code\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateMyZipCode", "parameters": [ { "in": "body", "name": "userZipCodeUpdate", "required": true, "schema": { "$ref": "#/definitions/UserZipCodeUpdate" } }, { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserZipCode" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update my zip code", "tags": [ "UserProfile" ], "x-errorCodes": { "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:PROFILE [UPDATE]" } } }, "/basic/v1/public/namespaces/{namespace}/users/{userId}/files": { "post": { "description": "Generate an upload URL for user content. It\u0026#39;s valid for 10 minutes.\u0026lt;br/\u0026gt;There are two types of storage limits per user: maximum file count and maximum total file size.\u0026lt;br/\u0026gt;These limits vary depending on the upload category used.\u0026lt;br/\u0026gt;\u0026lt;br/\u0026gt;\u0026lt;b\u0026gt;1. Default category:\u0026lt;/b\u0026gt;\u0026lt;br/\u0026gt;- Maximum file count per user: 10 files\u0026lt;br/\u0026gt;- Maximum total file size per user: 100MB\u0026lt;br/\u0026gt;\u0026lt;b\u0026gt;2. Reporting category:\u0026lt;/b\u0026gt;\u0026lt;br/\u0026gt;- Maximum file count per user: 3 files every 1 hour\u0026lt;br/\u0026gt;- Maximum total file size per user: 30MB every 1 hour\u0026lt;br/\u0026gt;\u0026lt;br/\u0026gt;\u0026lt;br/\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11102\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: URL data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGeneratedUserUploadContentUrl", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "one of the these types: jpeg, jpg, png, bmp, gif, mp3, bin, webp", "in": "query", "name": "fileType", "required": true, "type": "string" }, { "default": "default", "description": "Upload category. Supported categories: default, reporting", "in": "query", "name": "category", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/FileUploadUrlInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11121\u003c/td\u003e\u003ctd\u003eUnable to {action}: category {category} is not valid\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11131\u003c/td\u003e\u003ctd\u003eUnable to {action}: File type is not supported\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11132\u003c/td\u003e\u003ctd\u003eUnable to {action}: file storage exceed limitation, user ID: {userId}, namespace: {namespace}\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "500": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20000\u003c/td\u003e\u003ctd\u003einternal server error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Generate Upload URL For User Content", "tags": [ "FileUpload" ], "x-errorCodes": { "11121": "Unable to {action}: category {category} is not valid", "11131": "Unable to {action}: File type is not supported", "11132": "Unable to {action}: file storage exceed limitation, user ID: {userId}, namespace: {namespace}", "20000": "internal server error", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:FILEUPLOAD [CREATE]" } } }, "/basic/v1/public/namespaces/{namespace}/users/{userId}/profiles": { "get": { "description": "Get user profile.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11403\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user profile\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetUserProfileInfo", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfileInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get user profile", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:PROFILE [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create user profile.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11401\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Language\u0026lt;/i\u0026gt; : allowed format: en, en-US\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Timezone\u0026lt;/i\u0026gt; : IANA time zone, e.g. Asia/Shanghai\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Created user profile\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicCreateUserProfile", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserProfileCreate" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfileInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11441\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile already exists\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create user profile", "tags": [ "UserProfile" ], "x-errorCodes": { "11441": "Unable to {action}: User profile already exists", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:PROFILE [CREATE]" } }, "put": { "consumes": [ "application/json" ], "description": "Update user profile.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11402\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Language\u0026lt;/i\u0026gt; : allowed format: en, en-US\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Timezone\u0026lt;/i\u0026gt; : IANA time zone, e.g. Asia/Shanghai\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Updated user profile\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicUpdateUserProfile", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserProfileUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfileInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update user profile", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:PROFILE [UPDATE]" } } }, "/basic/v1/public/namespaces/{namespace}/users/{userId}/profiles/customAttributes": { "get": { "description": "Get custom attributes info.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11404\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user custom attributes\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetCustomAttributesInfo", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "additionalProperties": { "type": "object" }, "type": "object" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "summary": "Get custom attributes info", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]" } }, "put": { "consumes": [ "application/json" ], "description": "Update partially custom attributes tied to user id.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11402\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Request body\u0026lt;/i\u0026gt; : allowed format: JSON object\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: Updated custom attributes\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicUpdateCustomAttributesPartially", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "additionalProperties": { "type": "object" }, "type": "object" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "additionalProperties": { "type": "object" }, "type": "object" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update partially custom attributes tied to user id", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:PROFILE [UPDATE]" } } }, "/basic/v1/public/namespaces/{namespace}/users/{userId}/profiles/public": { "get": { "description": "Get user profile public info.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11404\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user public profile\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetUserProfilePublicInfo", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfilePublicInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "summary": "Get user profile public info", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20002": "validation error" } } }, "/basic/v1/public/namespaces/{namespace}/users/{userId}/profiles/status": { "patch": { "consumes": [ "application/json" ], "description": "Update user profile status.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Action code\u0026lt;/i\u0026gt;: 11406\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user profile\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicUpdateUserProfileStatus", "parameters": [ { "description": "namespace, only accept alphabet and numeric", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "user's id, should follow UUID version 4 without hyphen", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserProfileStatusUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation", "schema": { "$ref": "#/definitions/UserProfileInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20019\u003c/td\u003e\u003ctd\u003eunable to parse request body\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eunauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e11440\u003c/td\u003e\u003ctd\u003eUnable to {action}: User profile not found in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update user profile status", "tags": [ "UserProfile" ], "x-errorCodes": { "11440": "Unable to {action}: User profile not found in namespace [{namespace}]", "20001": "unauthorized", "20002": "validation error", "20013": "insufficient permission", "20019": "unable to parse request body" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:PROFILE [UPDATE]" } } } }, "definitions": { "AddCountryGroupRequest": { "properties": { "countries": { "items": { "$ref": "#/definitions/CountryObject" }, "type": "array" }, "countryGroupCode": { "type": "string" }, "countryGroupName": { "type": "string" } }, "type": "object" }, "AddCountryGroupResponse": { "properties": { "countries": { "items": { "$ref": "#/definitions/CountryObject" }, "type": "array" }, "countryGroupCode": { "type": "string" }, "countryGroupName": { "type": "string" } }, "type": "object" }, "ConfigCreate": { "properties": { "key": { "description": "key, only accept alphabet and numeric", "type": "string" }, "value": { "description": "value", "type": "string" } }, "required": [ "key", "value" ], "type": "object" }, "ConfigInfo": { "properties": { "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "key": { "type": "string" }, "namespace": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true }, "value": { "type": "string" } }, "type": "object" }, "ConfigUpdate": { "properties": { "value": { "description": "value", "type": "string" } }, "required": [ "value" ], "type": "object" }, "CountryGroupObject": { "properties": { "countries": { "items": { "$ref": "#/definitions/CountryObject" }, "type": "array" }, "countryGroupCode": { "type": "string" }, "countryGroupName": { "type": "string" } }, "type": "object" }, "CountryObject": { "properties": { "code": { "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "ErrorEntity": { "properties": { "devStackTrace": { "description": "internal server error stack trace in configured environment", "type": "string" }, "errorCode": { "description": "numeric error code", "format": "int32", "type": "integer" }, "errorMessage": { "description": "error message", "type": "string" }, "messageVariables": { "additionalProperties": { "type": "string" }, "description": "message variables", "type": "object" }, "requiredPermission": { "$ref": "#/definitions/Permission" } }, "required": [ "errorCode", "errorMessage" ], "type": "object" }, "FieldValidationError": { "properties": { "errorCode": { "type": "string" }, "errorField": { "type": "string" }, "errorMessage": { "type": "string" }, "errorValue": { "type": "string" }, "messageVariables": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "FileUploadUrlInfo": { "properties": { "accessUrl": { "description": "URL for accessing file", "type": "string" }, "contentType": { "description": "File content-type", "type": "string" }, "method": { "description": "HTTP method for uploading file", "type": "string" }, "url": { "description": "URL for uploading file (S3 presigned URL)", "type": "string" } }, "type": "object" }, "NamespaceContext": { "description": "This model is used to indicate the context of a namespace", "properties": { "namespace": { "description": "target namespace which need to get its context", "type": "string" }, "publisherNamespace": { "description": "publisher namespace", "type": "string" }, "studioNamespace": { "description": "studio namespace, it will be empty when input namespace is publisher namespace", "type": "string" }, "type": { "description": "input namespace type", "enum": [ "Game", "Publisher", "Studio" ], "type": "string" } }, "type": "object" }, "NamespaceCreate": { "properties": { "displayName": { "description": "display name", "type": "string" }, "namespace": { "description": "namespace, only accept alphabet and numeric. Will be converted to lowercase", "type": "string" } }, "required": [ "displayName", "namespace" ], "type": "object" }, "NamespaceInfo": { "properties": { "clientId": { "description": "clientId is only present on multi tenant mode with namespace is not publisher namespace", "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "displayName": { "description": "namespace display name", "type": "string" }, "namespace": { "description": "namespace", "type": "string" }, "parentNamespace": { "description": "parentNamespace is only present in multi tenant mode", "type": "string" }, "status": { "enum": [ "ACTIVE", "DELETED", "INACTIVE" ], "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "displayName", "namespace" ], "type": "object" }, "NamespacePublisherInfo": { "properties": { "publisher": { "description": "inform whether the specified namespace is publisher namespace or not", "type": "boolean", "x-omitempty": false }, "publisherNamespace": { "description": "name of publisher namespace", "type": "string" } }, "type": "object" }, "NamespaceSimpleInfo": { "properties": { "displayName": { "description": "namespace display name", "type": "string" } }, "required": [ "displayName" ], "type": "object" }, "NamespaceStatusUpdate": { "description": "A DTO object for updating namespace status API call.", "properties": { "status": { "description": "namespace status", "enum": [ "ACTIVE", "INACTIVE" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "NamespaceUpdate": { "properties": { "displayName": { "description": "display name", "type": "string" } }, "required": [ "displayName" ], "type": "object" }, "Permission": { "properties": { "action": { "format": "int32", "type": "integer" }, "resource": { "type": "string" } }, "type": "object" }, "RetrieveCountryGroupResponse": { "properties": { "countries": { "items": { "$ref": "#/definitions/CountryObject" }, "type": "array" }, "countryGroupCode": { "type": "string" }, "countryGroupName": { "type": "string" } }, "type": "object" }, "RetrieveTimeResponse": { "properties": { "currentTime": { "type": "string" } }, "type": "object" }, "UpdateCountryGroupRequest": { "properties": { "countries": { "items": { "$ref": "#/definitions/CountryObject" }, "type": "array" }, "countryGroupName": { "type": "string" } }, "type": "object" }, "UserProfileAdmin": { "description": "A DTO object for updating user profile API call.", "properties": { "avatarLargeUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "avatarSmallUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "avatarUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "customAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "dateOfBirth": { "description": "date of birth, allowed format: yyyy-MM-dd, valid date range from 1905-01-01 until present", "format": "date", "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$", "type": "string", "x-nullable": true }, "firstName": { "description": "deprecated", "type": "string" }, "language": { "description": "language value from language tag, allowed format: en, en-US.\u003cp\u003eSupported language tag : [RFC5646](https://gist.github.com/msikma/8912e62ed866778ff8cd) and [IETF](https://datahub.io/core/language-codes#resource-ietf-language-tags)\u003c/p\u003e", "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$", "type": "string" }, "lastName": { "description": "deprecated", "type": "string" }, "privateCustomAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "status": { "enum": [ "ACTIVE", "INACTIVE" ], "type": "string" }, "timeZone": { "description": "time zone, allowed IANA time zone, e.g.Asia/Shanghai", "type": "string" }, "zipCode": { "description": "zip code", "type": "string" } }, "type": "object" }, "UserProfileBulkRequest": { "properties": { "userIds": { "description": "User IDs, list of User ID with limit max to 100 User ID", "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "UserProfileCreate": { "description": "A DTO object for creating user profile API call.", "properties": { "avatarLargeUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "avatarSmallUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "avatarUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "customAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "dateOfBirth": { "description": "date of birth, allowed format: yyyy-MM-dd, valid date range from 1905-01-01 until present", "format": "date", "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$", "type": "string", "x-nullable": true }, "firstName": { "description": "deprecated", "type": "string" }, "language": { "description": "language value from language tag, allowed format: en, en-US.\u003cp\u003eSupported language tag : [RFC5646](https://gist.github.com/msikma/8912e62ed866778ff8cd) and [IETF](https://datahub.io/core/language-codes#resource-ietf-language-tags)\u003c/p\u003e", "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$", "type": "string" }, "lastName": { "description": "deprecated", "type": "string" }, "timeZone": { "description": "time zone, allowed IANA time zone, e.g.Asia/Shanghai", "type": "string" } }, "type": "object" }, "UserProfileInfo": { "properties": { "avatarLargeUrl": { "type": "string" }, "avatarSmallUrl": { "type": "string" }, "avatarUrl": { "type": "string" }, "customAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "dateOfBirth": { "format": "date", "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$", "type": "string", "x-nullable": true }, "firstName": { "description": "deprecated", "type": "string" }, "language": { "type": "string" }, "lastName": { "description": "deprecated", "type": "string" }, "namespace": { "type": "string" }, "publicId": { "type": "string" }, "status": { "enum": [ "ACTIVE", "INACTIVE" ], "type": "string" }, "timeZone": { "type": "string" }, "userId": { "type": "string" }, "zipCode": { "type": "string" } }, "type": "object" }, "UserProfilePrivateCreate": { "description": "A DTO object for creating user profile API call.", "properties": { "avatarLargeUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "avatarSmallUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "avatarUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "customAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "dateOfBirth": { "description": "date of birth, allowed format: yyyy-MM-dd, valid date range from 1905-01-01 until present", "format": "date", "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$", "type": "string", "x-nullable": true }, "firstName": { "description": "deprecated", "type": "string" }, "language": { "description": "language value from language tag, allowed format: en, en-US.\u003cp\u003eSupported language tag : [RFC5646](https://gist.github.com/msikma/8912e62ed866778ff8cd) and [IETF](https://datahub.io/core/language-codes#resource-ietf-language-tags)\u003c/p\u003e", "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$", "type": "string" }, "lastName": { "description": "deprecated", "type": "string" }, "privateCustomAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "timeZone": { "description": "time zone, allowed IANA time zone, e.g.Asia/Shanghai", "type": "string" } }, "type": "object" }, "UserProfilePrivateInfo": { "properties": { "avatarLargeUrl": { "type": "string" }, "avatarSmallUrl": { "type": "string" }, "avatarUrl": { "type": "string" }, "customAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "dateOfBirth": { "format": "date", "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$", "type": "string", "x-nullable": true }, "firstName": { "description": "deprecated", "type": "string" }, "language": { "type": "string" }, "lastName": { "description": "deprecated", "type": "string" }, "namespace": { "type": "string" }, "privateCustomAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "publicId": { "type": "string" }, "status": { "enum": [ "ACTIVE", "INACTIVE" ], "type": "string" }, "timeZone": { "type": "string" }, "userId": { "type": "string" }, "zipCode": { "type": "string" } }, "type": "object" }, "UserProfilePublicInfo": { "properties": { "avatarLargeUrl": { "type": "string" }, "avatarSmallUrl": { "type": "string" }, "avatarUrl": { "type": "string" }, "customAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "namespace": { "type": "string" }, "publicId": { "type": "string" }, "timeZone": { "type": "string" }, "userId": { "type": "string" } }, "type": "object" }, "UserProfileStatusUpdate": { "description": "A DTO object for updating user profile status API call.", "properties": { "status": { "description": "status, ACTIVE or INACTIVE", "enum": [ "ACTIVE", "INACTIVE" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "UserProfileUpdate": { "description": "A DTO object for updating user profile API call.", "properties": { "avatarLargeUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "avatarSmallUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "avatarUrl": { "description": "should be comply with OWASP url format", "type": "string" }, "customAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "dateOfBirth": { "description": "date of birth, allowed format: yyyy-MM-dd, valid date range from 1905-01-01 until present", "format": "date", "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$", "type": "string", "x-nullable": true }, "firstName": { "description": "deprecated", "type": "string" }, "language": { "description": "language value from language tag, allowed format: en, en-US.\u003cp\u003eSupported language tag : [RFC5646](https://gist.github.com/msikma/8912e62ed866778ff8cd) and [IETF](https://datahub.io/core/language-codes#resource-ietf-language-tags)\u003c/p\u003e", "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$", "type": "string" }, "lastName": { "description": "deprecated", "type": "string" }, "privateCustomAttributes": { "additionalProperties": { "type": "object" }, "type": "object" }, "timeZone": { "description": "time zone, allowed IANA time zone, e.g.Asia/Shanghai", "type": "string" }, "zipCode": { "description": "zip code", "type": "string" } }, "type": "object" }, "UserZipCode": { "properties": { "zipCode": { "type": "string" } }, "type": "object" }, "UserZipCodeUpdate": { "properties": { "zipCode": { "description": "zip code, accept alphabet and numeric string default", "type": "string" } }, "required": [ "zipCode" ], "type": "object" }, "ValidationErrorEntity": { "properties": { "errorCode": { "description": "numeric error code", "format": "int32", "type": "integer" }, "errorMessage": { "description": "error message", "type": "string" }, "errors": { "items": { "$ref": "#/definitions/FieldValidationError" }, "type": "array" } }, "required": [ "errorCode", "errorMessage" ], "type": "object" } }, "x-docs": { "alias": "basic", "host": "https://stage.accelbyte.io", "path": "/basic/swagger.json" }, "x-version": { "buildBy": "Gradle 8.5", "buildDate": "2025-10-16T08:04:29+00:00", "buildID": "4.2.1", "buildJDK": "21.0.6 (Amazon.com Inc. 21.0.6+7-LTS)", "buildOS": "Linux amd64 5.10.244-240.965.amzn2.x86_64", "gitBranchName": "release-candidate", "gitHash": "b7b7fd9ab1", "gitTag": "4.2.1", "name": "justice-basic-service", "realm": "staging", "version": "4.2.1", "version-roles-seeding": "0.0.10" } }