{ "host": "demo.accelbyte.io", "info": { "contact": { "email": "engineering@accelbyte.io", "name": "Engineering Team at AccelByte", "url": "https://accelbyte.io" }, "description": "Justice Group Service", "title": "justice-group-service", "version": "2.22.1" }, "schemes": [ "https" ], "externalDocs": { "description": "API Docs", "url": "https://stage.accelbyte.io/group/apidocs" }, "securityDefinitions": { "authorization": { "in": "header", "name": "Authorization", "type": "apiKey" } }, "swagger": "2.0", "paths": { "/group/v1/admin/namespaces/{namespace}/configuration": { "get": { "description": "This endpoint is used to get existing configuration. This Configuration is used as the main rule of the service. Each namespace will have its own configuration\n\nAction Code: 73101\n\t\t", "operationId": "listGroupConfigurationAdminV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.ListConfigurationResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73131\u003c/td\u003e\u003ctd\u003eglobal configuration not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "List Group Configuration", "tags": [ "Configuration" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73131": "global configuration not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "This endpoint is used to create new configuration. Before creating the configuration, make sure that member role for admin and group member are already created before.\n\nFor each of the global rule, it will be the rule detail that consists of these fields:\n\n* **ruleAttribute**: attribute of the player that needs to be checked\n* **ruleCriteria**: criteria of the value. The value will be in enum of EQUAL, MINIMUM, MAXIMUM\n* **ruleValue**: value that needs to be checked\n\nAllowed Action can only be filled with any available action in the Group Service. For the configuration, the only value is **\u0026#34;createGroup\u0026#34;**\n\nAction Code: 73103\n\t\t", "operationId": "createGroupConfigurationAdminV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.CreateGroupConfigurationRequestV1" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.CreateGroupConfigurationResponseV1" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\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\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73130\u003c/td\u003e\u003ctd\u003eglobal configuration already exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "create new configuration", "tags": [ "Configuration" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73130": "global configuration already exist" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION [CREATE]" ] } ] } }, "/group/v1/admin/namespaces/{namespace}/configuration/initiate": { "post": { "description": "This endpoint is used to initiate configuration. \nThis endpoint will automatically create default configuration and member roles with default permission \nDefault Permission for admin role will cover these permission: \n- Permission to invite user to group\n- Permission to accept or reject join request\n- Permission to kick group member \n\nDefault max member value will be 50 and global rules will be empty \nAction Code: 73104", "operationId": "initiateGroupConfigurationAdminV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.CreateGroupConfigurationResponseV1" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73130\u003c/td\u003e\u003ctd\u003eglobal configuration already exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "initiate configuration", "tags": [ "Configuration" ], "x-errorCodes": { "20001": "unauthorized access", "20013": "insufficient permissions", "20022": "token is not user token", "73130": "global configuration already exist" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION [CREATE]" ] } ] } }, "/group/v1/admin/namespaces/{namespace}/configuration/{configurationCode}": { "delete": { "description": "This endpoint is used to delete group configuration. This Configuration is used as the main rule of the service. Each namespace will have its own configuration\n\nAction Code: 73101\n\t\t", "operationId": "deleteGroupConfigurationV1", "parameters": [ { "description": "Group Configuration Code", "in": "path", "name": "configurationCode", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73131\u003c/td\u003e\u003ctd\u003eglobal configuration not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete group configuration", "tags": [ "Configuration" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73131": "global configuration not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION [DELETE]" ] } ] }, "get": { "description": "This endpoint is used to get existing configuration. This Configuration is used as the main rule of the service. Each namespace will have its own configuration\n\nAction Code: 73101\n\t\t", "operationId": "getGroupConfigurationAdminV1", "parameters": [ { "description": "Group Configuration Code", "in": "path", "name": "configurationCode", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetGroupConfigurationResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73131\u003c/td\u003e\u003ctd\u003eglobal configuration not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get existing configuration", "tags": [ "Configuration" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73131": "global configuration not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION [READ]" ] } ] }, "patch": { "consumes": [ "application/json" ], "description": "This endpoint is used to update existing configuration. groupAdminRoleId and groupMemberRoleId won\u0026#39;t be able to be updated. User can try to change the member role permission instead for each of those member role\n\nAction Code: 73102\n\t\t", "operationId": "updateGroupConfigurationAdminV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupConfigurationRequestV1" } }, { "description": "Group Configuration Code", "in": "path", "name": "configurationCode", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.UpdateGroupConfigurationResponseV1" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\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\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73131\u003c/td\u003e\u003ctd\u003eglobal configuration not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update existing configuration", "tags": [ "Configuration" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73131": "global configuration not found" } } }, "/group/v1/admin/namespaces/{namespace}/configuration/{configurationCode}/rules/{allowedAction}": { "delete": { "description": "This endpoint is used to delete existing global rule configuration based on the allowed action. It will not give any error if the allowed action is not existed in the global rule\n\nAction Code: 73105\n\t\t", "operationId": "deleteGroupConfigurationGlobalRuleAdminV1", "parameters": [ { "description": "Allowed Action. The value should be any actions in the service", "in": "path", "name": "allowedAction", "required": true, "type": "string" }, { "description": "Group Configuration Code", "in": "path", "name": "configurationCode", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.UpdateGroupConfigurationResponseV1" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\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\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73131\u003c/td\u003e\u003ctd\u003eglobal configuration not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "delete existing configuration global rule based on allowed action", "tags": [ "Configuration" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73131": "global configuration not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION [UPDATE]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "This endpoint is used to update existing global rule configuration based on the allowed action. It will replace the permission with the request\n\nAction Code: 73106\n\t\t", "operationId": "updateGroupConfigurationGlobalRuleAdminV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupConfigurationGlobalRulesRequestV1" } }, { "description": "Allowed Action. The value should be any actions in the service", "in": "path", "name": "allowedAction", "required": true, "type": "string" }, { "description": "Group Configuration Code", "in": "path", "name": "configurationCode", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.UpdateGroupConfigurationResponseV1" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\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\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73131\u003c/td\u003e\u003ctd\u003eglobal configuration not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update existing configuration global rule", "tags": [ "Configuration" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73131": "global configuration not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION [UPDATE]" ] } ] } }, "/group/v1/admin/namespaces/{namespace}/groups": { "get": { "description": "Get list of groups. This endpoint will show any types of group\n\nAction Code: 73301\n\t\t", "operationId": "getGroupListAdminV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Query Group Configuration Code", "in": "query", "name": "configurationCode", "type": "string" }, { "description": "Query Group Name", "in": "query", "name": "groupName", "type": "string" }, { "description": "Query Group Region", "in": "query", "name": "groupRegion", "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetGroupsListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get list of groups", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP [READ]" ] } ] } }, "/group/v1/admin/namespaces/{namespace}/groups/{groupId}": { "delete": { "description": "Delete existing group. It will check whether the groupID is exist before doing the process to delete the group.\n\nAction Code: 73302\n\t\t", "operationId": "deleteGroupAdminV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete existing group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:{groupId} [DELETE]" ] } ] }, "get": { "description": "Get single group information. This endpoint will show the group information by the groupId\n\nAction Code: 73306\n\t\t", "operationId": "getSingleGroupAdminV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get single group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP [READ]" ] } ] } }, "/group/v1/admin/namespaces/{namespace}/groups/{groupId}/members": { "get": { "description": "This endpoint is used to get list of group members.\n\nAction Code: 73410\n\t\t", "operationId": "getGroupMembersListAdminV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" }, { "description": "Sort group members list by User ID with ascending as default order. Set it 'desc' for descending order", "in": "query", "name": "order", "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetGroupMemberListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73433\u003c/td\u003e\u003ctd\u003emember group not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of group members", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73433": "member group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:MEMBER [READ]" ] } ] } }, "/group/v1/admin/namespaces/{namespace}/roles": { "get": { "description": "This endpoint is used to get list of member roles\n\nAction Code: 73201\n\t\t", "operationId": "getMemberRolesListAdminV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetMemberRolesListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get all list of member roles", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:ROLE [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "This endpoint is used to create new member role\n\nAction Code: 73202\n\n \n\nmemberRolePermissions example value :\n\n\u0026#34;action\u0026#34;: 1\n\n\u0026#34;resourceName\u0026#34;: \u0026#34;GROUP:ROLE\u0026#34;\n\nThe changes will give user with that role have a permission to create a role for new group member\n\t\t", "operationId": "createMemberRoleAdminV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.CreateMemberRoleRequestV1" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.MemberRoleResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "create new member role", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:ROLE [CREATE]" ] } ] } }, "/group/v1/admin/namespaces/{namespace}/roles/{memberRoleId}": { "delete": { "description": "This endpoint is used to delete member role. Any member role can\u0026#39;t be deleted if the specific role is applied to the configuration (admin and member role)\n\nAction Code: 73207\n\t\t", "operationId": "deleteMemberRoleAdminV1", "parameters": [ { "description": "member Role ID", "in": "path", "name": "memberRoleId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73232\u003c/td\u003e\u003ctd\u003emember role not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "delete member role", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73232": "member role not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:ROLE [DELETE]" ] } ] }, "get": { "description": "This endpoint is used to get member role based on the role ID\n\nAction Code: 73203\n\t\t", "operationId": "getSingleMemberRoleAdminV1", "parameters": [ { "description": "member Role ID", "in": "path", "name": "memberRoleId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRoleResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73232\u003c/td\u003e\u003ctd\u003emember role not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get member role", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "73232": "member role not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:ROLE [READ]" ] } ] }, "patch": { "consumes": [ "application/json" ], "description": "This endpoint is used to update member role\n\nAction Code: 73204\n\t\t", "operationId": "updateMemberRoleAdminV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateMemberRoleRequestV1" } }, { "description": "member Role ID", "in": "path", "name": "memberRoleId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRoleResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73232\u003c/td\u003e\u003ctd\u003emember role not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update member role", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73232": "member role not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:ROLE [UPDATE]" ] } ] } }, "/group/v1/admin/namespaces/{namespace}/roles/{memberRoleId}/permissions": { "put": { "consumes": [ "application/json" ], "description": "This endpoint is used to update member role permission. It will replace the existing permission based on the request from this endpoint\n\nAction Code: 73205\n\n \n\nmemberRolePermissions example value :\n\n\u0026#34;action\u0026#34;: 2\n\n\u0026#34;resourceName\u0026#34;: \u0026#34;GROUP:ROLE\u0026#34;\n\nThe changes will update user role to be able to read a role of other member\n\t\t", "operationId": "updateMemberRolePermissionAdminV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateMemberRolePermissionsRequestV1" } }, { "description": "member Role ID", "in": "path", "name": "memberRoleId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRoleResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73232\u003c/td\u003e\u003ctd\u003emember role not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update member role permission", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73232": "member role not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP:ROLE [UPDATE]" ] } ] } }, "/group/v1/public/namespaces/{namespace}/groups": { "get": { "description": "Required valid user authentication\n\nGet list of groups. This endpoint will only show OPEN and PUBLIC group type. This endpoint can search based on the group name by filling the \u0026#34;groupName\u0026#34; query parameter\n\nAction Code: 73303\n\t\t", "operationId": "getGroupListPublicV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Query Group Name", "in": "query", "name": "groupName", "type": "string" }, { "description": "Query Group Region", "in": "query", "name": "groupRegion", "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetGroupsListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get list of groups", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "post": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nThis endpoint is used to create new group\n\nThere are some fields that needs to be fulfilled\n\n* **groupDescription**: the description of the group (optional)\n* **groupIcon**: group icon URL link (optional)\n* **groupName**: name of the group\n* **groupRegion**: region of the group\n* **groupRules**: rules for specific group. It consists of groupCustomRule that can be used to save custom rule, and groupPredefinedRules that has similar usage with configuration, but this rule only works in specific group\n* **allowedAction**: available action in group service. It consist of joinGroup and createGroup\n* **ruleAttribute**: attribute of the player that needs to be checked\n* **ruleCriteria**: criteria of the value. The value will be in enum of EQUAL, MINIMUM, MAXIMUM\n* **ruleValue**: value that needs to be checked\n* **customAttributes**: additional custom group attributes (optional)\n\nAction Code: 73304\n\t\t", "operationId": "createNewGroupPublicV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.PublicCreateNewGroupRequestV1" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73342\u003c/td\u003e\u003ctd\u003euser already joined group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "create new group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73342": "user already joined group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}": { "delete": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [DELETE]\u0026#34;\n\nDelete existing group. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73305\n\t\t", "operationId": "deleteGroupPublicV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete existing group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "get": { "description": "Required valid user authentication\n\nGet single group information. This endpoint will show the group information by the groupId\n\nAction Code: 73306\n\t\t", "operationId": "getSingleGroupPublicV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get single group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "patch": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\u0026#34;\n\nUpdate existing group. This endpoint supports partial update. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73307\n\t\t", "operationId": "updatePatchSingleGroupPublicV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update existing group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "put": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\u0026#34;\n\nUpdate existing group. This endpoint supports partial update. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73307\n\t\t", "operationId": "updateSingleGroupV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update existing group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}/attributes/custom": { "put": { "consumes": [ "application/json" ], "description": "Requires valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\n\nThis endpoint replaces current group custom attributes entirely. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73311\n\t\t", "operationId": "updateGroupCustomAttributesPublicV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupCustomAttributesRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update group custom attributes", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}/invite/accept": { "post": { "description": "Required valid user authentication\n\nThis endpoint is used to accept group invitation.\n\nAccept group invitation. If specific user is not invited in the specific group ID, it will show the the error to show if the user is not invited yet.\n\nThis endpoint will also check if the user who access this endpoint is already joined to specific group\n\nAccessing this endpoint will make all requests (invite / join request) will be deleted for the user who access this endpoint\n\nExisting members will receive notification of newly accepted member.\n\nAction Code: 73401\n\t\t", "operationId": "acceptGroupInvitationPublicV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRequestGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73443\u003c/td\u003e\u003ctd\u003emember request not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Accept Group Invitation", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73442": "user already joined in another group", "73443": "member request not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}/invite/reject": { "post": { "description": "Required valid user authentication\n\nThis endpoint is used to reject group invitation.\n\nReject group invitation. If specific user is not invited in the specific group ID, it will show the the error to show if the user is not invited yet.\n\nAction Code: 73402\n\t\t", "operationId": "rejectGroupInvitationPublicV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRequestGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73443\u003c/td\u003e\u003ctd\u003emember request not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Reject Group Invitation", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73442": "user already joined in another group", "73443": "member request not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}/join": { "post": { "description": "Required valid user authentication\n\nThis endpoint is used to join as group member\n\nJoin to the group. This endpoint will check the the the type of the group based on the groupID.\n\nAdditional Information:\n\n* User cannot join to the group with PRIVATE type\n* Joining PUBLIC group type will create join request and need approval from the privileged group member to accept the request to become the member\n* Joining OPEN group type will make this user become member of that group immediately\n\nThis endpoint will return status field to give information whether the user is JOINED or REQUESTED to join to the specific group\n\nAction Code: 73403\n\t\t", "operationId": "JoinGroupV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.JoinGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Join to group", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73442": "user already joined in another group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}/join/cancel": { "post": { "description": "Requires valid user authentication\n\nThis endpoint allows user to cancel request to join specific group.\n\nAction Code: 73411\n\t\t", "operationId": "CancelGroupJoinRequestV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRequestGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73443\u003c/td\u003e\u003ctd\u003emember request not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Cancel request to join group", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73443": "member request not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}/join/request": { "get": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:JOIN [READ]\u0026#34;\n\nThis endpoint is used to Get Group Join Request List\n\nGet Group Join Request List for specific group. Group members needs to have permission and also belong to the group to access this endpoint\n\nAction Code: 73501\n\t\t", "operationId": "getGroupJoinRequestPublicV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetMemberRequestsListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Group Join Request List", "tags": [ "Member Request" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73036": "insufficient member role permission" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}/members": { "get": { "description": "Required valid user authentication\n\nThis endpoint is used to get list of group members.\n\nAction Code: 73410\n\t\t", "operationId": "getGroupMembersListPublicV1", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" }, { "description": "Sort group members list by User ID with ascending as default order. Set it 'desc' for descending order", "in": "query", "name": "order", "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetGroupMemberListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73433\u003c/td\u003e\u003ctd\u003emember group not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of group members", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73433": "member group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}/rules/custom": { "put": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nUpdate group custom rule. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73308\n\t\t", "operationId": "updateGroupCustomRulePublicV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupCustomRuleRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update group custom rule", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/groups/{groupId}/rules/defined/{allowedAction}": { "delete": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\u0026#34;\n\nDelete group predefined rule based on the allowed action. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73309\n\t\t", "operationId": "deleteGroupPredefinedRulePublicV1", "parameters": [ { "description": "Allowed action, any available action in service", "in": "path", "name": "allowedAction", "required": true, "type": "string" }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete group predefined rule", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "put": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\u0026#34;\n\nUpdate predefined group rule. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nIf the rule action is not defined in the group, it will be added immediately to the predefined group rule\n\nAction Code: 73310\n\t\t", "operationId": "updateGroupPredefinedRulePublicV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupPredefinedRuleRequestV1" } }, { "description": "Allowed action, any available action in service", "in": "path", "name": "allowedAction", "required": true, "type": "string" }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\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\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update predefined group rule", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/leave": { "post": { "description": "Required valid user authentication\n\nThis endpoint is used to leave from group.\n\nleave from group. Admin is not allowed to leave the group. This endpoint will also give response if the user does not belong to any group.\n\nAction Code: 73404\n\t\t", "operationId": "leaveGroupPublicV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.LeaveGroupResponseV1" } }, "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\u003e73440\u003c/td\u003e\u003ctd\u003egroup admin cannot leave group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Leave group", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group", "73440": "group admin cannot leave group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/roles": { "get": { "description": "Required Member Role Permission: \u0026#34;GROUP:ROLE \\[READ\\]\u0026#34;\n\nThis endpoint is used to get list of member roles\n\nAction Code: 73201\n\t\t", "operationId": "getMemberRolesListPublicV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetMemberRolesListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get all list of member roles", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/roles/{memberRoleId}/members": { "delete": { "consumes": [ "application/json" ], "description": "Required Member Role Permission: \u0026#34;GROUP:ROLE [UPDATE]\u0026#34;\n\nThis endpoint is used to remove role from group member\n\nAction Code: 73204", "operationId": "deleteMemberRolePublicV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.RemoveRoleFromMemberRequestV1" } }, { "description": "member Role ID", "in": "path", "name": "memberRoleId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73232\u003c/td\u003e\u003ctd\u003emember role not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73444\u003c/td\u003e\u003ctd\u003emember must have role\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Remove role from group member", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73232": "member role not found", "73444": "member must have role" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "post": { "consumes": [ "application/json" ], "description": "Required Member Role Permission: \u0026#34;GROUP:ROLE [UPDATE]\n\nThis endpoint is used to assign role to group member\n\nAction Code: 73204", "operationId": "updateMemberRolePublicV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.AssignRoleToMemberRequestV1" } }, { "description": "member Role ID", "in": "path", "name": "memberRoleId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetUserGroupInformationResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73232\u003c/td\u003e\u003ctd\u003emember role not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Assign role to group member", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73232": "member role not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/users/me/invite/request": { "get": { "description": "Required valid user authentication\n\nThis endpoint is used to Get Group Invitation Request List\n\nGet Group Invitation Request List for the user calling this endpoint. It will check any group invitation for this user\n\nAction Code: 73502\n\t\t", "operationId": "getGroupInvitationRequestPublicV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetMemberRequestsListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Group Invitation Request List", "tags": [ "Member Request" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/users/{userId}": { "get": { "description": "Required valid user authentication\n\nThis endpoint is used to get user group information.\n\nGet user group information. If user does not belong to any group, it will return warning to give information about it\n\nGroup Member Status:\n\n* JOIN : status of user requested to join group\n* INVITE: status of user invited to a group\n* JOINED: status of user already joined to a group\n\nAction Code: 73405\n\t\t", "operationId": "getUserGroupInformationPublicV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetUserGroupInformationResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get User Group Information", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/users/{userId}/invite": { "post": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:INVITE [CREATE]\u0026#34;\n\nThis endpoint is used to invite specific user to the group.\n\ninvite specific user to the group. If specific user is already have the join request to the group, this endpoint will notify if this user already have join request that needs to be accepted / rejected\n\nInvited user will receive notification through lobby.\n\nAction Code: 73406\n\n \n\nmemberRolePermissions example value :\n\n\u0026#34;action\u0026#34;: 1\n\n\u0026#34;resourceName\u0026#34;: \u0026#34;GROUP:INVITE\u0026#34;\n\nThe invited user will have a permission to invite another user to the group\n\t\t", "operationId": "inviteGroupPublicV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.UserInvitationResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73437\u003c/td\u003e\u003ctd\u003euser already invited\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73438\u003c/td\u003e\u003ctd\u003euser already requested to join\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Invite user to group", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group", "73036": "insufficient member role permission", "73437": "user already invited", "73438": "user already requested to join", "73442": "user already joined in another group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/users/{userId}/join/accept": { "post": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:JOIN [CREATE]\u0026#34;\n\nThis endpoint is used to accept group join request.\n\nAccept group join request. If specific user is not asked to join the specific group ID, it will show the the error to show if the user is not asked to join yet.\n\nThis endpoint will also check if the specific user is already joined to specific group\n\nAction Code: 73407\n\t\t", "operationId": "acceptGroupJoinRequestPublicV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRequestGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73443\u003c/td\u003e\u003ctd\u003emember request not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Accept Group Join Request", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73036": "insufficient member role permission", "73442": "user already joined in another group", "73443": "member request not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/users/{userId}/join/reject": { "post": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:JOIN [CREATE]\u0026#34;\n\nThis endpoint is used to reject group join request.\n\nReject group join request. If specific user is not asked to join the specific group ID, it will show the the error to show if the user is not asked to join yet.\n\nThis endpoint will also check if the specific user is already joined to specific group\n\nAction Code: 73408\n\t\t", "operationId": "rejectGroupJoinRequestPublicV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRequestGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73443\u003c/td\u003e\u003ctd\u003emember request not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Reject Group Join Request", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73036": "insufficient member role permission", "73442": "user already joined in another group", "73443": "member request not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v1/public/namespaces/{namespace}/users/{userId}/kick": { "post": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:KICK [CREATE]\u0026#34;\n\nThis endpoint is used to kick group member.\n\nKick group member. This endpoint will check the member and group information, and also the role permission of the the user who accesses this endpoint\n\nAction Code: 73409\n\t\t", "operationId": "kickGroupMemberPublicV1", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.KickGroupMemberResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73433\u003c/td\u003e\u003ctd\u003emember group not found\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Kick Group Member", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group", "73036": "insufficient member role permission", "73433": "member group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/admin/namespaces/{namespace}/groups/bulk": { "post": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nGet list of groups by group Ids.\n\nAction Code: 73303\n\t\t", "operationId": "getListGroupByIDsAdminV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.GetGroupListRequestV2" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetGroupsResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get list of groups by group Ids", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GROUP [READ]" ] } ] } }, "/group/v2/admin/namespaces/{namespace}/users/{userId}/groups": { "get": { "description": "Required valid user authentication\n\nThis endpoint is used to get user joined group information.\n\nGet user group joined information. If user does not belong to any group, it will return warning to give information about it\n\nGroup Member Status:\n\n* JOINED: status of user already joined to a group\n\t\t", "operationId": "getUserJoinedGroupInformationPublicV2", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetGroupMemberListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get User Joined Group Information", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/admin/namespaces/{namespace}/users/{userId}/groups/{groupId}/status": { "get": { "description": "This endpoint is used to get user group status information.", "operationId": "AdminGetUserGroupStatusInformationV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetUserGroupInformationResponseV1" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73433\u003c/td\u003e\u003ctd\u003emember group not found\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "User Group Status Information", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20022": "token is not user token", "73034": "user not belong to any group", "73036": "insufficient member role permission", "73433": "member group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups": { "post": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nThis endpoint is used to create new group\n\nThere are some fields that needs to be fulfilled\n\n* **groupDescription**: the description of the group (optional)\n* **groupIcon**: group icon URL link (optional)\n* **groupName**: name of the group\n* **groupRegion**: region of the group\n* **groupRules**: rules for specific group. It consists of groupCustomRule that can be used to save custom rule, and groupPredefinedRules that has similar usage with configuration, but this rule only works in specific group\n* **allowedAction**: available action in group service. It consist of joinGroup and inviteGroup\n* **ruleAttribute**: attribute of the player that needs to be checked\n* **ruleCriteria**: criteria of the value. The value will be in enum of EQUAL, MINIMUM, MAXIMUM\n* **ruleValue**: value that needs to be checked\n* **customAttributes**: additional custom group attributes (optional)\n\nAction Code: 73304\n\t\t", "operationId": "createNewGroupPublicV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.PublicCreateNewGroupRequestV1" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73342\u003c/td\u003e\u003ctd\u003euser already joined group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "create new group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73342": "user already joined group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/bulk": { "post": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nGet list of groups by group Ids.\n\nAction Code: 73303\n\t\t", "operationId": "getListGroupByIDsV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.GetGroupListRequestV2" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetGroupsResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get list of groups by group Ids", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}": { "delete": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [DELETE]\u0026#34;\n\nDelete existing group. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73305\n\t\t", "operationId": "deleteGroupPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete existing group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "patch": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\u0026#34;\n\nUpdate existing group. This endpoint supports partial update. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73307\n\t\t", "operationId": "updatePatchSingleGroupPublicV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update existing group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "put": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\u0026#34;\n\nUpdate existing group. This endpoint supports partial update. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73307\n\t\t", "operationId": "updatePutSingleGroupPublicV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update existing group", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}/attributes/custom": { "put": { "consumes": [ "application/json" ], "description": "Requires valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\u0026#34;\n\nThis endpoint replaces current group custom attributes entirely. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73311\n\t\t", "operationId": "updateGroupCustomAttributesPublicV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupCustomAttributesRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update group custom attributes", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}/invite/accept": { "post": { "description": "Required valid user authentication\n\nThis endpoint is used to accept group invitation.\n\nAccept group invitation. If specific user is not invited in the specific group ID, it will show the the error to show if the user is not invited yet.\n\nThis endpoint will also check if the user who access this endpoint is already joined to specific group\n\nAccessing this endpoint will make all requests (invite / join request) will be deleted for the user who access this endpoint\n\nExisting members will receive notification of newly accepted member.\n\nAction Code: 73401\n\t\t", "operationId": "acceptGroupInvitationPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRequestGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73443\u003c/td\u003e\u003ctd\u003emember request not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Accept Group Invitation", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73442": "user already joined in another group", "73443": "member request not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}/invite/reject": { "post": { "description": "Required valid user authentication\n\nThis endpoint is used to reject group invitation.\n\nReject group invitation. If specific user is not invited in the specific group ID, it will show the the error to show if the user is not invited yet.\n\nAction Code: 73402\n\t\t", "operationId": "rejectGroupInvitationPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRequestGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73443\u003c/td\u003e\u003ctd\u003emember request not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Reject Group Invitation", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73442": "user already joined in another group", "73443": "member request not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}/invite/request": { "get": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:JOIN [READ]\u0026#34;\n\nThis endpoint is used to Get Group Invite Request List\n\nGet Group Invite Request List for specific group. Group members needs to have permission and also belong to the group to access this endpoint\n\nAction Code: 73501\n\t\t", "operationId": "getGroupInviteRequestPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetMemberRequestsListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Group Invite Request List", "tags": [ "Member Request" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73036": "insufficient member role permission" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}/join": { "post": { "description": "Required valid user authentication\n\nThis endpoint is used to join as group member\n\nJoin to the group. This endpoint will check the the the type of the group based on the groupID.\n\nAdditional Information:\n\n* User cannot join to the group with PRIVATE type\n* Joining PUBLIC group type will create join request and need approval from the privileged group member to accept the request to become the member\n* Joining OPEN group type will make this user become member of that group immediately\n\nThis endpoint will return status field to give information whether the user is JOINED or REQUESTED to join to the specific group\n\nAction Code: 73403\n\t\t", "operationId": "JoinGroupV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.JoinGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Join to group", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73442": "user already joined in another group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}/join/request": { "get": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:JOIN [READ]\u0026#34;\n\nThis endpoint is used to Get Group Join Request List\n\nGet Group Join Request List for specific group. Group members needs to have permission and also belong to the group to access this endpoint\n\nAction Code: 73501\n\t\t", "operationId": "getGroupJoinRequestPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetMemberRequestsListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Group Join Request List", "tags": [ "Member Request" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73036": "insufficient member role permission" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}/leave": { "post": { "description": "Required valid user authentication\n\nThis endpoint is used to leave from group.\n\nleave from group. Admin is not allowed to leave the group. This endpoint will also give response if the user does not belong to any group.\n\nAction Code: 73404\n\t\t", "operationId": "leaveGroupPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.LeaveGroupResponseV1" } }, "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\u003e73440\u003c/td\u003e\u003ctd\u003egroup admin cannot leave group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Leave group", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group", "73440": "group admin cannot leave group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}/rules/custom": { "put": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nUpdate group custom rule. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73308\n\t\t", "operationId": "updateGroupCustomRulePublicV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupCustomRuleRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update group custom rule", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/groups/{groupId}/rules/defined/{allowedAction}": { "delete": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\u0026#34;\n\nDelete group predefined rule based on the allowed action. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nAction Code: 73309\n\t\t", "operationId": "deleteGroupPredefinedRulePublicV2", "parameters": [ { "description": "Allowed action, any available action in service", "in": "path", "name": "allowedAction", "required": true, "type": "string" }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete group predefined rule", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "put": { "consumes": [ "application/json" ], "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [UPDATE]\u0026#34;\n\nUpdate predefined group rule. This endpoint will check the group ID of the user based on the access token and compare it with the group ID in path parameter. It will also check the member role of the user based on the access token\n\nIf the rule action is not defined in the group, it will be added immediately to the predefined group rule\n\nAction Code: 73310\n\t\t", "operationId": "updateGroupPredefinedRulePublicV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.UpdateGroupPredefinedRuleRequestV1" } }, { "description": "Allowed action, any available action in service", "in": "path", "name": "allowedAction", "required": true, "type": "string" }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GroupResponseV1" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\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\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73333\u003c/td\u003e\u003ctd\u003egroup not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "update predefined group rule", "tags": [ "Group" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73036": "insufficient member role permission", "73333": "group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/roles": { "get": { "description": "This endpoint is used to get list of member roles\n\nAction Code: 73201\n\t\t", "operationId": "getMemberRolesListPublicV2", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetMemberRolesListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "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 permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "get all list of member roles", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/roles/{memberRoleId}/groups/{groupId}/members": { "delete": { "consumes": [ "application/json" ], "description": "Required Member Role Permission: \u0026#34;GROUP:ROLE \\[UPDATE\\]\u0026#34;\n\nThis endpoint is used to remove role from group member\n\nAction Code: 73204", "operationId": "deleteMemberRolePublicV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.RemoveRoleFromMemberRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "member Role ID", "in": "path", "name": "memberRoleId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73232\u003c/td\u003e\u003ctd\u003emember role not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73444\u003c/td\u003e\u003ctd\u003emember must have role\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Remove role from group member", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73232": "member role not found", "73444": "member must have role" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] }, "post": { "consumes": [ "application/json" ], "description": "Required Member Role Permission: \u0026#34;GROUP:ROLE [UPDATE]\n\nThis endpoint is used to assign role to group member\n\nAction Code: 73204", "operationId": "updateMemberRolePublicV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/models.AssignRoleToMemberRequestV1" } }, { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "member Role ID", "in": "path", "name": "memberRoleId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetUserGroupInformationResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20013\u003c/td\u003e\u003ctd\u003einsufficient permissions\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73232\u003c/td\u003e\u003ctd\u003emember role not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Assign role to group member", "tags": [ "Group Roles" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20013": "insufficient permissions", "20019": "unable to parse request body", "20022": "token is not user token", "73232": "member role not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/users/me/groups": { "get": { "description": "Required valid user authentication\n\nThis endpoint is used to get user joined group information.\n\nGet user group joined information. If user does not belong to any group, it will return warning to give information about it\n\nGroup Member Status:\n\n* JOINED: status of user already joined to a group\n\nAction Code: 73405\n\t\t", "operationId": "getUserGroupInformationPublicV2", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetGroupMemberListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get User Joined Group Information", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/users/me/join/request": { "get": { "description": "Required valid user authentication\n\nThis endpoint is used to Get My Join Request To The Groups\n\nGet My Join Request To The Groups for the user calling this endpoint. It will check any join request group for this user\n\nAction Code: 73502\n\t\t", "operationId": "GetMyGroupJoinRequestV2", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "size of displayed data", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetMemberRequestsListResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get My Join Request To The Groups", "tags": [ "Member Request" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/users/{userId}/groups/{groupId}/invite": { "post": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:INVITE [CREATE]\u0026#34;\n\nThis endpoint is used to invite specific user to the group.\n\ninvite specific user to the group. If specific user is already have the join request to the group, this endpoint will notify if this user already have join request that needs to be accepted / rejected\n\nInvited user will receive notification through lobby.\n\nAction Code: 73406\n\n \n\nmemberRolePermissions example value :\n\n\u0026#34;action\u0026#34;: 1\n\n\u0026#34;resourceName\u0026#34;: \u0026#34;GROUP:INVITE\u0026#34;\n\nThe invited user will have a permission to invite another user to the group\n\t\t", "operationId": "inviteGroupPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.UserInvitationResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73437\u003c/td\u003e\u003ctd\u003euser already invited\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73438\u003c/td\u003e\u003ctd\u003euser already requested to join\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Invite user to group", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group", "73036": "insufficient member role permission", "73437": "user already invited", "73438": "user already requested to join", "73442": "user already joined in another group" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/users/{userId}/groups/{groupId}/invite/cancel": { "post": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:INVITE [DELETE]\u0026#34;\n\nThis endpoint is used to cancel invitation group member.\n\ncancel invitation group member. This endpoint will cancel invitation to specific user, and also the role permission of the the user who accesses this endpoint\n\nAction Code: 73409\n\t\t", "operationId": "CancelInvitationGroupMemberV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.CancelInvitationGroupResponseV2" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73433\u003c/td\u003e\u003ctd\u003emember group not found\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Cancel Invitation Group Member", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group", "73036": "insufficient member role permission", "73433": "member group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/users/{userId}/groups/{groupId}/join/accept": { "post": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:JOIN [CREATE]\u0026#34;\n\nThis endpoint is used to accept group join request.\n\nAccept group join request. If specific user is not asked to join the specific group ID, it will show the the error to show if the user is not asked to join yet.\n\nThis endpoint will also check if the specific user is already joined to specific group\n\nAction Code: 73407\n\t\t", "operationId": "acceptGroupJoinRequestPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRequestGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73443\u003c/td\u003e\u003ctd\u003emember request not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Accept Group Join Request", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73036": "insufficient member role permission", "73442": "user already joined in another group", "73443": "member request not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/users/{userId}/groups/{groupId}/join/reject": { "post": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:JOIN [CREATE]\u0026#34;\n\nThis endpoint is used to reject group join request.\n\nReject group join request. If specific user is not asked to join the specific group ID, it will show the the error to show if the user is not asked to join yet.\n\nThis endpoint will also check if the specific user is already joined to specific group\n\nAction Code: 73408\n\t\t", "operationId": "rejectGroupJoinRequestPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.MemberRequestGroupResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73443\u003c/td\u003e\u003ctd\u003emember request not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73442\u003c/td\u003e\u003ctd\u003euser already joined in another group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Reject Group Join Request", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73036": "insufficient member role permission", "73442": "user already joined in another group", "73443": "member request not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/users/{userId}/groups/{groupId}/kick": { "post": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP:KICK [CREATE]\u0026#34;\n\nThis endpoint is used to kick group member.\n\nKick group member. This endpoint will check the member and group information, and also the role permission of the the user who accesses this endpoint\n\nAction Code: 73409\n\t\t", "operationId": "kickGroupMemberPublicV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.KickGroupMemberResponseV1" } }, "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/response.ErrorResponse" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73433\u003c/td\u003e\u003ctd\u003emember group not found\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Kick Group Member", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20002": "validation error", "20022": "token is not user token", "73034": "user not belong to any group", "73036": "insufficient member role permission", "73433": "member group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } }, "/group/v2/public/namespaces/{namespace}/users/{userId}/groups/{groupId}/status": { "get": { "description": "Required valid user authentication\n\nRequired Member Role Permission: \u0026#34;GROUP [READ]\u0026#34;\n\nThis endpoint is used to get user group status information.\n\nget user group status information. This endpoint will check the member and group information, and also the role permission of the the user who accesses this endpoint\n\nAction Code: 73409\n\t\t", "operationId": "GetUserGroupStatusInformationV2", "parameters": [ { "description": "Group ID", "in": "path", "name": "groupId", "required": true, "type": "string" }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.GetUserGroupInformationResponseV1" } }, "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/response.ErrorResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20022\u003c/td\u003e\u003ctd\u003etoken is not user token\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73036\u003c/td\u003e\u003ctd\u003einsufficient member role permission\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eerrorCode\u003c/td\u003e\u003ctd\u003eerrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73433\u003c/td\u003e\u003ctd\u003emember group not found\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e73034\u003c/td\u003e\u003ctd\u003euser not belong to any group\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "User Group Status Information", "tags": [ "Group Member" ], "x-errorCodes": { "20001": "unauthorized access", "20022": "token is not user token", "73034": "user not belong to any group", "73036": "insufficient member role permission", "73433": "member group not found" }, "x-security": [ { "iamClientScopes": [ "social" ] }, { "userPermissions": [] } ] } } }, "definitions": { "models.AssignRoleToMemberRequestV1": { "properties": { "userId": { "type": "string" } }, "required": [ "userId" ] }, "models.CancelInvitationGroupResponseV2": { "properties": { "groupId": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "groupId", "userId" ] }, "models.CreateGroupConfigurationRequestV1": { "properties": { "allowMultiple": { "default": false, "type": "boolean", "x-omitempty": false }, "configurationCode": { "type": "string" }, "description": { "type": "string" }, "globalRules": { "items": { "$ref": "#/definitions/models.Rule" }, "type": "array" }, "groupAdminRoleId": { "type": "string" }, "groupMaxMember": { "format": "int32", "type": "integer" }, "groupMemberRoleId": { "type": "string" }, "name": { "type": "string" } }, "required": [ "allowMultiple", "configurationCode", "description", "globalRules", "groupAdminRoleId", "groupMaxMember", "groupMemberRoleId", "name" ] }, "models.CreateGroupConfigurationResponseV1": { "properties": { "allowMultiple": { "type": "boolean", "x-omitempty": false }, "configurationCode": { "type": "string" }, "description": { "type": "string" }, "globalRules": { "items": { "$ref": "#/definitions/models.RuleResponseV1" }, "type": "array" }, "groupAdminRoleId": { "type": "string" }, "groupMaxMember": { "format": "int32", "type": "integer" }, "groupMemberRoleId": { "type": "string" }, "name": { "type": "string" } }, "required": [ "allowMultiple", "configurationCode", "description", "globalRules", "groupAdminRoleId", "groupMaxMember", "groupMemberRoleId", "name" ] }, "models.CreateMemberRoleRequestV1": { "properties": { "memberRoleName": { "type": "string" }, "memberRolePermissions": { "items": { "$ref": "#/definitions/models.RolePermission" }, "type": "array" } }, "required": [ "memberRoleName", "memberRolePermissions" ] }, "models.GetGroupConfigurationResponseV1": { "properties": { "allowMultiple": { "type": "boolean", "x-omitempty": false }, "configurationCode": { "type": "string" }, "description": { "type": "string" }, "globalRules": { "items": { "$ref": "#/definitions/models.RuleResponseV1" }, "type": "array" }, "groupAdminRoleId": { "type": "string" }, "groupMaxMember": { "format": "int32", "type": "integer" }, "groupMemberRoleId": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" } }, "required": [ "allowMultiple", "configurationCode", "description", "globalRules", "groupAdminRoleId", "groupMaxMember", "groupMemberRoleId", "name", "namespace" ] }, "models.GetGroupListRequestV2": { "properties": { "groupIDs": { "items": { "type": "string" }, "type": "array" } }, "required": [ "groupIDs" ] }, "models.GetGroupMemberListResponseV1": { "properties": { "data": { "items": { "$ref": "#/definitions/models.GetUserGroupInformationResponseV1" }, "type": "array" }, "paging": { "$ref": "#/definitions/models.Pagination" } }, "required": [ "data", "paging" ] }, "models.GetGroupsListResponseV1": { "properties": { "data": { "items": { "$ref": "#/definitions/models.GroupResponseV1" }, "type": "array" }, "paging": { "$ref": "#/definitions/models.Pagination" } }, "required": [ "data", "paging" ] }, "models.GetGroupsResponseV1": { "properties": { "data": { "items": { "$ref": "#/definitions/models.GroupResponseV1" }, "type": "array" } }, "required": [ "data" ] }, "models.GetMemberRequestsListResponseV1": { "properties": { "data": { "items": { "$ref": "#/definitions/models.MemberRequestResponseV1" }, "type": "array" }, "paging": { "$ref": "#/definitions/models.Pagination" } }, "required": [ "data", "paging" ] }, "models.GetMemberRolesListResponseV1": { "properties": { "data": { "items": { "$ref": "#/definitions/models.MemberRoleResponseV1" }, "type": "array" }, "paging": { "$ref": "#/definitions/models.Pagination" } }, "required": [ "data", "paging" ] }, "models.GetUserGroupInformationResponseV1": { "properties": { "groupId": { "type": "string" }, "joinedAt": { "format": "date-time", "type": "string", "x-nullable": false }, "memberRoleId": { "items": { "type": "string" }, "type": "array" }, "status": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "groupId", "joinedAt", "memberRoleId", "userId" ] }, "models.GroupMember": { "properties": { "memberRoleId": { "items": { "type": "string" }, "type": "array" }, "userId": { "type": "string" } }, "required": [ "memberRoleId", "userId" ] }, "models.GroupResponseV1": { "properties": { "configurationCode": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": false }, "customAttributes": { "type": "object" }, "groupDescription": { "type": "string" }, "groupIcon": { "type": "string" }, "groupId": { "type": "string" }, "groupMaxMember": { "format": "int32", "type": "integer" }, "groupMembers": { "items": { "$ref": "#/definitions/models.GroupMember" }, "type": "array" }, "groupName": { "type": "string" }, "groupRegion": { "type": "string" }, "groupRules": { "$ref": "#/definitions/models.GroupRuleResponseV1" }, "groupType": { "enum": [ "OPEN", "PRIVATE", "PUBLIC" ], "type": "string" } }, "required": [ "configurationCode", "createdAt", "customAttributes", "groupDescription", "groupIcon", "groupId", "groupMaxMember", "groupMembers", "groupName", "groupRegion", "groupRules", "groupType" ] }, "models.GroupRule": { "properties": { "groupCustomRule": { "$ref": "#/definitions/models.GroupRule.groupCustomRule" }, "groupPredefinedRules": { "items": { "$ref": "#/definitions/models.Rule" }, "type": "array" } }, "required": [ "groupCustomRule", "groupPredefinedRules" ] }, "models.GroupRule.groupCustomRule": {}, "models.GroupRuleResponseV1": { "properties": { "groupCustomRule": { "$ref": "#/definitions/models.GroupRuleResponseV1.groupCustomRule" }, "groupPredefinedRules": { "items": { "$ref": "#/definitions/models.RuleResponseV1" }, "type": "array" } }, "required": [ "groupCustomRule", "groupPredefinedRules" ] }, "models.GroupRuleResponseV1.groupCustomRule": {}, "models.JoinGroupResponseV1": { "properties": { "groupId": { "type": "string" }, "status": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "groupId", "status", "userId" ] }, "models.KickGroupMemberResponseV1": { "properties": { "groupId": { "type": "string" }, "kickedUserId": { "type": "string" } }, "required": [ "groupId", "kickedUserId" ] }, "models.LeaveGroupResponseV1": { "properties": { "groupId": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "groupId", "userId" ] }, "models.ListConfigurationResponseV1": { "properties": { "data": { "items": { "$ref": "#/definitions/models.GetGroupConfigurationResponseV1" }, "type": "array" }, "paging": { "$ref": "#/definitions/models.Pagination" } }, "required": [ "data", "paging" ] }, "models.MemberRequestGroupResponseV1": { "properties": { "groupId": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "groupId", "userId" ] }, "models.MemberRequestResponseV1": { "properties": { "groupId": { "type": "string" }, "requestType": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "groupId", "requestType", "userId" ] }, "models.MemberRoleResponseV1": { "properties": { "memberRoleId": { "type": "string" }, "memberRoleName": { "type": "string" }, "memberRolePermissions": { "items": { "$ref": "#/definitions/models.RolePermission" }, "type": "array" } }, "required": [ "memberRoleId", "memberRoleName", "memberRolePermissions" ] }, "models.Pagination": { "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "next": { "type": "string" }, "previous": { "type": "string" } }, "required": [ "first", "last", "next", "previous" ] }, "models.PublicCreateNewGroupRequestV1": { "properties": { "configurationCode": { "type": "string" }, "customAttributes": { "type": "object" }, "groupDescription": { "type": "string" }, "groupIcon": { "type": "string" }, "groupMaxMember": { "format": "int32", "type": "integer" }, "groupName": { "type": "string" }, "groupRegion": { "type": "string" }, "groupRules": { "$ref": "#/definitions/models.GroupRule" }, "groupType": { "enum": [ "OPEN", "PRIVATE", "PUBLIC" ], "type": "string" } }, "required": [ "configurationCode", "customAttributes", "groupDescription", "groupIcon", "groupMaxMember", "groupName", "groupRegion", "groupRules", "groupType" ] }, "models.RemoveRoleFromMemberRequestV1": { "properties": { "userId": { "type": "string" } }, "required": [ "userId" ] }, "models.RolePermission": { "properties": { "action": { "format": "int32", "type": "integer" }, "resourceName": { "type": "string" } }, "required": [ "action", "resourceName" ] }, "models.Rule": { "properties": { "allowedAction": { "enum": [ "createGroup", "joinGroup" ], "type": "string" }, "ruleDetail": { "items": { "$ref": "#/definitions/models.RuleInformation" }, "type": "array" } }, "required": [ "allowedAction", "ruleDetail" ] }, "models.RuleInformation": { "properties": { "ruleAttribute": { "type": "string" }, "ruleCriteria": { "enum": [ "EQUAL", "MAXIMUM", "MINIMUM" ], "type": "string" }, "ruleValue": { "format": "double", "type": "number" } }, "required": [ "ruleAttribute", "ruleCriteria", "ruleValue" ] }, "models.RuleResponseV1": { "properties": { "allowedAction": { "enum": [ "createGroup", "joinGroup" ], "type": "string" }, "ruleDetail": { "items": { "$ref": "#/definitions/models.RuleInformation" }, "type": "array" } }, "required": [ "allowedAction", "ruleDetail" ] }, "models.UpdateGroupConfigurationGlobalRulesRequestV1": { "properties": { "ruleDetail": { "items": { "$ref": "#/definitions/models.RuleInformation" }, "type": "array" } }, "required": [ "ruleDetail" ] }, "models.UpdateGroupConfigurationRequestV1": { "properties": { "description": { "type": "string" }, "groupMaxMember": { "format": "int32", "type": "integer" }, "name": { "type": "string" } }, "required": [ "description", "groupMaxMember", "name" ] }, "models.UpdateGroupConfigurationResponseV1": { "properties": { "allowMultiple": { "type": "boolean", "x-omitempty": false }, "configurationCode": { "type": "string" }, "description": { "type": "string" }, "globalRules": { "items": { "$ref": "#/definitions/models.RuleResponseV1" }, "type": "array" }, "groupAdminRoleId": { "type": "string" }, "groupMaxMember": { "format": "int32", "type": "integer" }, "groupMemberRoleId": { "type": "string" }, "name": { "type": "string" } }, "required": [ "allowMultiple", "configurationCode", "description", "globalRules", "groupAdminRoleId", "groupMaxMember", "groupMemberRoleId", "name" ] }, "models.UpdateGroupCustomAttributesRequestV1": { "properties": { "customAttributes": { "type": "object" } }, "required": [ "customAttributes" ] }, "models.UpdateGroupCustomRuleRequestV1": { "properties": { "groupCustomRule": { "type": "object" } }, "required": [ "groupCustomRule" ] }, "models.UpdateGroupPredefinedRuleRequestV1": { "properties": { "ruleDetail": { "items": { "$ref": "#/definitions/models.RuleInformation" }, "type": "array" } }, "required": [ "ruleDetail" ] }, "models.UpdateGroupRequestV1": { "properties": { "customAttributes": { "$ref": "#/definitions/models.UpdateGroupRequestV1.customAttributes" }, "groupDescription": { "type": "string" }, "groupIcon": { "type": "string" }, "groupName": { "type": "string" }, "groupRegion": { "type": "string" }, "groupType": { "enum": [ "OPEN", "PRIVATE", "PUBLIC" ], "type": "string" } }, "required": [ "customAttributes", "groupDescription", "groupIcon", "groupName", "groupRegion", "groupType" ] }, "models.UpdateGroupRequestV1.customAttributes": { "type": "object" }, "models.UpdateMemberRolePermissionsRequestV1": { "properties": { "memberRolePermissions": { "items": { "$ref": "#/definitions/models.RolePermission" }, "type": "array" } }, "required": [ "memberRolePermissions" ] }, "models.UpdateMemberRoleRequestV1": { "properties": { "memberRoleName": { "type": "string" } }, "required": [ "memberRoleName" ] }, "models.UserInvitationResponseV1": { "properties": { "groupId": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "groupId", "userId" ] }, "response.ErrorResponse": { "properties": { "errorCode": { "format": "int32", "type": "integer" }, "errorMessage": { "type": "string" } }, "required": [ "errorCode", "errorMessage" ] } }, "x-docs": { "alias": "group", "host": "https://stage.accelbyte.io", "path": "/group/apidocs/api.json" }, "x-version": { "buildDate": "2025-11-19T03:11:20+00:00", "gitHash": "791a89b0e40da52aa4c82bfaa3f0d0363491ec00", "name": "justice-group-service", "realm": "staging", "version": "2.22.1", "version-roles-seeding": "0.0.3" } }