{ "host": "demo.accelbyte.io", "info": { "contact": { "email": "engineering@accelbyte.io", "name": "Engineering Team at AccelByte", "url": "https://accelbyte.io" }, "description": "Justice GDPR Service", "title": "justice-gdpr-service", "version": "2.21.0" }, "schemes": [ "https" ], "externalDocs": { "description": "API Docs", "url": "https://stage.accelbyte.io/gdpr/apidocs" }, "securityDefinitions": { "authorization": { "in": "header", "name": "Authorization", "type": "apiKey" } }, "swagger": "2.0", "paths": { "/gdpr/admin/namespaces/{namespace}/deletions": { "get": { "consumes": [ "application/json" ], "description": "Retrieve all user\u0026#39;s account deletion requests in specified date\nScope: account", "operationId": "AdminGetListDeletionDataRequest", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "The day in UTC format to get deletion request list after that. format : YYYY-MM-DD", "in": "query", "name": "after", "type": "string" }, { "description": "The day in UTC format to get deletion request list before that. format : YYYY-MM-DD", "in": "query", "name": "before", "type": "string" }, { "description": "the maximum number of data that may be returned (1...100)", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" }, { "description": "The day in UTC of the deletion request. format : YYYY-MM-DD. Default : today time in UTC.", "in": "query", "name": "requestDate", "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.ListDeletionDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve all user's account deletion requests in specified date", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:INFORMATION:USER [READ]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/emails/configurations": { "delete": { "consumes": [ "application/json" ], "description": "Delete a list of admin email addresses to stop receiving personal data request notification. \nScope: account", "operationId": "DeleteAdminEmailConfiguration", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "collectionFormat": "csv", "description": "list of admin email to delete", "in": "query", "items": { "type": "string" }, "name": "emails", "required": true, "type": "array" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Delete admin emails configurations", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EMAIL:CONFIGURATION [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get list of admin email address configuration. \nScope: account", "operationId": "GetAdminEmailConfiguration", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "items": { "type": "string" }, "type": "array" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get admin email addresses configuration", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EMAIL:CONFIGURATION [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Add admin email address for receiving personal data request notification. \nScope: account", "operationId": "SaveAdminEmailConfiguration", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "items": { "type": "string" }, "type": "array" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Add admin email address configuration", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EMAIL:CONFIGURATION [CREATE]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "Update admin email address for receiving personal data request notification.\nScope: account", "operationId": "UpdateAdminEmailConfiguration", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "items": { "type": "string" }, "type": "array" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Update admin email address configuration", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EMAIL:CONFIGURATION [UPDATE]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/platforms/closure/clients": { "get": { "consumes": [ "application/json" ], "description": "Get platform account closure configs.\n------\nPlatform:\n\t- steamnetwork\n\t- xbox\n\t- psn\nScope: account", "operationId": "AdminGetPlatformAccountClosureClients", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.PlatformAccountClosureClientsResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get Platform Account Closure Configs", "tags": [ "Platform Account Closure Client" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [READ]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/platforms/xbox/closure/cert/validation": { "post": { "consumes": [ "application/json" ], "description": "Check xbox BP cert file whether it\u0026#39;s expired and return expiration date", "operationId": "AdminValidateXboxBPCertFile", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/dto.XboxBPCertValidationRequest" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.XboxBPCertValidationResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Validate Xbox BP cert file", "tags": [ "Platform Account Closure Client" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [READ]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/platforms/{platform}/closure/client": { "delete": { "consumes": [ "application/json" ], "description": "Delete platform account closure client.\nThe namespace should be **publisher or studio namespace**\n-------\nPlatform:\n\t- steamnetwork\n\t- xbox\n\t- psn\n", "operationId": "AdminDeletePlatformAccountClosureClient", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "3rd party platform", "in": "path", "name": "platform", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Platform Account Closure Client", "tags": [ "Platform Account Closure Client" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get platform account closure config.\nThe namespace should be **publisher or studio namespace**\n----------\nPlatform:\n\t- steamnetwork\n\t- xbox\n\t- psn\nScope: account", "operationId": "AdminGetPlatformAccountClosureClient", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "3rd party platform", "in": "path", "name": "platform", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.PlatformAccountClosureClientResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get Platform Account Closure Config", "tags": [ "Platform Account Closure Client" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Update platform account closure client.\nThe namespace should be the **publisher or studio namespace**.\n------\nPlatform:\n\t- steamnetwork\n\t- xbox\n\t- psn\nScope: account", "operationId": "AdminUpdatePlatformAccountClosureClient", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/dto.PlatformAccountClosureClientRequest" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "3rd party platform", "in": "path", "name": "platform", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Update Platform Account Closure Client", "tags": [ "Platform Account Closure Client" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [UPDATE]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/platforms/{platform}/closure/mock": { "post": { "consumes": [ "application/json" ], "description": "Mock platform account closure data.\n-----\n**This is only for testing**\nPlatform:\n- steamnetwork\n- xbox\n- psn\nScope: account", "operationId": "AdminMockPlatformAccountClosureData", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/dto.PlatformAccountClosureMockRequest" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "3rd party platform", "in": "path", "name": "platform", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Mock Platform Account Closure Data", "tags": [ "Platform Account Closure Client" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [UPDATE]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/requests": { "get": { "consumes": [ "application/json" ], "description": "Get list personal data requests\nScope: account", "operationId": "AdminGetListPersonalDataRequest", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "the maximum number of data that may be returned (1...100)", "in": "query", "name": "limit", "type": "integer" }, { "description": "The start position that points to query data", "in": "query", "name": "offset", "type": "integer" }, { "description": "request date with format YYYY-MM-DD. Default value today UTC", "in": "query", "name": "requestDate", "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.ListPersonalDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get list personal data requests", "tags": [ "Data Retrieval" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:INFORMATION:USER [READ]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/services/configurations": { "get": { "consumes": [ "application/json" ], "description": "Get Registered Services Configuration.\nScope: account", "operationId": "AdminGetServicesConfiguration", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ServicesConfigurationResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get Registered Services Configuration", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [READ]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "Update Registered Services Configuration.\nScope: account", "operationId": "AdminUpdateServicesConfiguration", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/dto.ServiceConfigurationUpdateRequest" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ServiceConfigurationUpdateRequest" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Update Registered Services Configuration", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [UPDATE]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/services/configurations/reset": { "delete": { "consumes": [ "application/json" ], "description": "**[TEST FACILITY ONLY]**\nReset Registered Services Configuration to use the default configuration.\nScope: account", "operationId": "AdminResetServicesConfiguration", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Reset Registered Services Configuration", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [DELETE]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/services/platforms/closure/config": { "delete": { "consumes": [ "application/json" ], "description": "**[TEST FACILITY ONLY]**\nReset registered platform account closure services configuration to use the default configuration.\nScope: account", "operationId": "AdminResetPlatformAccountClosureServicesConfiguration", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Reset Registered Platform Account Closure Services Configuration", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get registered platform account closure services configuration.\nScope: account", "operationId": "AdminGetPlatformAccountClosureServicesConfiguration", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ServicesConfigurationResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get Registered Platform Account Closure Services Configuration", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [READ]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "Update registered platform account closure services configuration.\nScope: account", "operationId": "AdminUpdatePlatformAccountClosureServicesConfiguration", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/dto.ServiceConfigurationUpdateRequest" } }, { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ServiceConfigurationUpdateRequest" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Update Registered Platform Account Closure Services Configuration", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:GDPR:CONFIGURATION [UPDATE]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/users/platforms/closure/histories": { "get": { "consumes": [ "application/json" ], "description": "Get user\u0026#39;s platform account closure histories.\nScope: account\n\n------\nSupported platforms:\n- psn\n- steamnetwork\n- xbox\n", "operationId": "AdminGetUserPlatformAccountClosureHistories", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "offset", "in": "query", "name": "offset", "type": "integer" }, { "description": "3rd party platform", "in": "query", "name": "platform", "type": "string" }, { "description": "IAM ID of the user", "in": "query", "name": "userId", "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UserPlatformAccountClosureHistoriesResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get User's Platform Account Closure Histories", "tags": [ "Platform Account Closure History" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:USER [READ]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/users/{userId}/deletions": { "delete": { "consumes": [ "application/json" ], "description": "Cancel user\u0026#39;s account deletion request\nScope: account", "operationId": "AdminCancelUserAccountDeletionRequest", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM ID of the user", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Cancel user's account deletion request", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:INFORMATION:USER:{userId} [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Retrieve specific user\u0026#39;s account deletion request\nScope: account", "operationId": "AdminGetUserAccountDeletionRequest", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM ID of the user", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.DeletionData" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve specific user's account deletion request", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:INFORMATION:USER:{userId} [READ]" ] } ] }, "post": { "consumes": [ "*/*" ], "description": "Submit user\u0026#39;s account deletion request.\nScope: account\n", "operationId": "AdminSubmitUserAccountDeletionRequest", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM ID of the user", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.RequestDeleteResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Submit user's account deletion request", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:INFORMATION:USER:{userId} [CREATE]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/users/{userId}/requests": { "get": { "consumes": [ "application/json" ], "description": "Get user\u0026#39;s personal data requests\nScope: account", "operationId": "AdminGetUserPersonalDataRequests", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM id of the user", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "the maximum number of data that may be returned (1...100)", "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.UserPersonalDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get user's personal data requests", "tags": [ "Data Retrieval" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:INFORMATION:USER:{userId} [READ]" ] } ] }, "post": { "consumes": [ "application/x-www-form-urlencoded" ], "description": "Submit user personal data retrieval request.\nScope: account\n\n### Request Header: \n- **Content-Type: application/x-www-form-urlencoded**\n", "operationId": "AdminRequestDataRetrieval", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM user ID", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "IAM password of the user, required if admin requests their own data", "in": "formData", "name": "password", "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.DataRetrievalResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "429": { "description": "Too Many Requests", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Submit user personal data retrieval request", "tags": [ "Data Retrieval" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:INFORMATION:USER:{userId} [CREATE]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/users/{userId}/requests/{requestDate}": { "delete": { "consumes": [ "application/json" ], "description": "Cancel user\u0026#39;s personal data requests\nScope: account", "operationId": "AdminCancelUserPersonalDataRequest", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Request date in RFC3339 format", "in": "path", "name": "requestDate", "required": true, "type": "string" }, { "description": "IAM id of the user", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Cancel user's personal data requests", "tags": [ "Data Retrieval" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:INFORMATION:USER:{userId} [DELETE]" ] } ] } }, "/gdpr/admin/namespaces/{namespace}/users/{userId}/requests/{requestDate}/generate": { "post": { "consumes": [ "application/x-www-form-urlencoded" ], "description": "\u0026lt;p\u0026gt;Required permission \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:INFORMATION:USER:{userId} [READ]\u0026lt;/code\u0026gt; and scope \u0026lt;code\u0026gt;account\u0026lt;/code\u0026gt;\u0026lt;/p\u0026gt;\n\t\t\u0026lt;p\u0026gt;If admin request data for themselves, password is need to be set\u0026lt;/p\u0026gt;", "operationId": "AdminGeneratePersonalDataURL", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Request date in RFC3339 format", "in": "path", "name": "requestDate", "required": true, "type": "string" }, { "description": "IAM id of the user", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "If admin request data for themselves, then password is required", "in": "formData", "name": "password", "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.UserDataURL" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Generate personal data download url", "tags": [ "Data Retrieval" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:INFORMATION:USER:{userId} [READ]" ] } ] } }, "/gdpr/public/namespaces/{namespace}/users/{userId}/deletions": { "delete": { "consumes": [ "application/json" ], "description": "Cancel user\u0026#39;s account deletion request\nRequires valid user access token\nScope: account", "operationId": "PublicCancelUserAccountDeletionRequest", "parameters": [ { "description": "namespace of the user", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM ID of the user", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Cancel user's account deletion request", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [] }, "post": { "consumes": [ "application/x-www-form-urlencoded" ], "description": "Submit user\u0026#39;s account deletion request.\nRequires valid user access token and password\nScope: account\n\n### Request Header: \n- **Content-Type: application/x-www-form-urlencoded**\n", "operationId": "PublicSubmitUserAccountDeletionRequest", "parameters": [ { "description": "IAM password of the user", "in": "formData", "name": "password", "required": true, "type": "string" }, { "description": "namespace of the user", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM ID of the user", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "Language tag", "in": "formData", "name": "languageTag", "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.RequestDeleteResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Submit user's account deletion request", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [] } }, "/gdpr/public/namespaces/{namespace}/users/{userId}/deletions/status": { "get": { "consumes": [ "application/json" ], "description": "Retrieve specific user\u0026#39;s account deletion status\nRequires valid user access token\nScope: account", "operationId": "PublicGetUserAccountDeletionStatus", "parameters": [ { "description": "namespace of the user", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM ID of the user", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.DeletionStatus" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve specific user's account deletion status", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [] } }, "/gdpr/public/namespaces/{namespace}/users/{userId}/requests": { "get": { "consumes": [ "application/json" ], "description": "Get user\u0026#39;s personal data requests\nRequires valid user access token\nScope: account", "operationId": "PublicGetUserPersonalDataRequests", "parameters": [ { "description": "namespace of the user", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM id of the user", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "the maximum number of data that may be returned (1...100)", "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.UserPersonalDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get user's personal data requests", "tags": [ "Data Retrieval" ], "x-errorCodes": {}, "x-security": [] }, "post": { "consumes": [ "application/x-www-form-urlencoded" ], "description": "Submit personal data retrieval request.\nScope: account\n\n### Request Header: \n- **Content-Type: application/x-www-form-urlencoded**\n", "operationId": "PublicRequestDataRetrieval", "parameters": [ { "description": "IAM password of the user", "in": "formData", "name": "password", "required": true, "type": "string" }, { "description": "namespace of the user", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "IAM id of the user", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "Language tag", "in": "formData", "name": "languageTag", "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.DataRetrievalResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "429": { "description": "Too Many Requests", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Submit personal data retrieval request", "tags": [ "Data Retrieval" ], "x-errorCodes": {}, "x-security": [] } }, "/gdpr/public/namespaces/{namespace}/users/{userId}/requests/{requestDate}": { "delete": { "consumes": [ "application/json" ], "description": "Cancel user\u0026#39;s personal data requests\nRequires valid user access token\nScope: account", "operationId": "PublicCancelUserPersonalDataRequest", "parameters": [ { "description": "namespace of the user", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Request date in RFC3339 format", "in": "path", "name": "requestDate", "required": true, "type": "string" }, { "description": "IAM id of the user", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Cancel user's personal data requests", "tags": [ "Data Retrieval" ], "x-errorCodes": {}, "x-security": [] } }, "/gdpr/public/namespaces/{namespace}/users/{userId}/requests/{requestDate}/generate": { "post": { "consumes": [ "application/x-www-form-urlencoded" ], "description": "Generate personal data download url\nRequires valid user access token\nScope: account\n\n### Request Header: \n- **Content-Type: application/x-www-form-urlencoded**\n", "operationId": "PublicGeneratePersonalDataURL", "parameters": [ { "description": "IAM password of the user", "in": "formData", "name": "password", "required": true, "type": "string" }, { "description": "namespace of the user", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Request date in RFC3339 format", "in": "path", "name": "requestDate", "required": true, "type": "string" }, { "description": "IAM id of the user", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.UserDataURL" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Generate personal data download url", "tags": [ "Data Retrieval" ], "x-errorCodes": {}, "x-security": [] } }, "/gdpr/public/users/me/deletions": { "delete": { "consumes": [ "application/json" ], "description": "Cancel my account deletion request\nRequires valid user access token", "operationId": "PublicCancelMyAccountDeletionRequest", "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Cancel my account deletion request", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [] }, "post": { "consumes": [ "application/x-www-form-urlencoded" ], "description": "Submit my account deletion requests.\nRequires valid user access token\nThis is for in-game only and require a valid platformId and platform token. If a full account is not logged by 3rd platform, then please use [/gdpr/public/namespaces/{namespace}/users/{userId}/deletions](#operations-Data_Deletion-PublicSubmitUserAccountDeletionRequest)\n\n### Request Header: \n- **Content-Type: application/x-www-form-urlencoded**\n", "operationId": "PublicSubmitMyAccountDeletionRequest", "parameters": [ { "description": "Platform ID which used to generate current token", "in": "formData", "name": "platformId", "required": true, "type": "string" }, { "description": "Platform token of current logged platform", "in": "formData", "name": "platformToken", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.RequestDeleteResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Submit my account deletion requests.", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [] } }, "/gdpr/public/users/me/deletions/status": { "get": { "consumes": [ "application/json" ], "description": "Retrieve my account deletion status\nRequires valid user access token", "operationId": "PublicGetMyAccountDeletionStatus", "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.DeletionStatus" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve my account deletion status", "tags": [ "Data Deletion" ], "x-errorCodes": {}, "x-security": [] } }, "/gdpr/s2s/namespaces/{namespace}/deletions/finished": { "get": { "consumes": [ "application/json" ], "description": "Scope: account\n\nGet list of finished account deletion requests based on the finished time period.\nUnfinished deletion requests will not appear here, i.e. have Status **Request**, **Pending** or **In-Progress**.\n\n**Anonymize userId for deleted account:**\nFor user accounts that have been deleted, the **userId** field in this API will be anonymized automatically after **7 days** from the success deletion. \nThis measure is implemented to ensure compliance with GDPR regulations. Please make sure to synchronize the data from this API before it undergoes anonymization.\n\n---\n## This API for S2S integration purpose only\n", "operationId": "S2SGetListFinishedAccountDeletionRequest", "parameters": [ { "description": "Publisher Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Finished end time (RFC3339 format, example: 2024-01-01T01:30:59.12Z). Cannot exceed current time. End time is exclusive", "in": "query", "name": "end", "required": true, "type": "string" }, { "description": "Finished start time (RFC3339 format, example: 2024-01-01T01:30:59.12Z). Start time is inclusive", "in": "query", "name": "start", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ListFinishedDataDeletion" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of finished account deletion requests", "tags": [ "Data Deletion (S2S)" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:S2S:INFORMATION:USER [READ]" ] } ] } }, "/gdpr/s2s/namespaces/{namespace}/requests/finished": { "get": { "consumes": [ "application/json" ], "description": "Scope: account\n\nGet list of finished personal data requests based on the finished time period.\nUnfinished personal data requests will not appear here, i.e. have Status **Pending**, **In-Progress** or **Canceled**.\n\n**Anonymize userId for deleted account:**\nFor user accounts that have been deleted, the **userId** field in this API will be anonymized automatically after **7 days** from the success deletion. \nThis measure is implemented to ensure compliance with GDPR regulations. Please make sure to synchronize the data from this API before it undergoes anonymization.\n\n---\n## This API for S2S integration purpose only\n", "operationId": "S2SGetListFinishedPersonalDataRequest", "parameters": [ { "description": "Publisher Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Finished end time (RFC3339 format, example: 2024-01-01T01:30:59.12Z). Cannot exceed current time. End time is exclusive", "in": "query", "name": "end", "required": true, "type": "string" }, { "description": "Finished start time (RFC3339 format, example: 2024-01-01T01:30:59.12Z). Start time is inclusive", "in": "query", "name": "start", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ListFinishedDataRequests" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of finished personal data requests", "tags": [ "Data Retrieval (S2S)" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:S2S:INFORMATION:USER [READ]" ] } ] } }, "/gdpr/s2s/namespaces/{namespace}/requests/{requestId}": { "get": { "consumes": [ "application/json" ], "description": "Scope: account\n\nGet Personal Data Request by Request Id.\nIf the request has been completed, it will return a download url for the data package.\n\n---\n## This API for S2S integration purpose only\n", "operationId": "S2SGetDataRequestByRequestID", "parameters": [ { "description": "Publisher Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Request Id", "in": "path", "name": "requestId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.S2SDataRequestSummary" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Get Personal Data Request by Request Id", "tags": [ "Data Retrieval (S2S)" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:S2S:INFORMATION:USER [READ]" ] } ] } }, "/gdpr/s2s/namespaces/{namespace}/users/{userId}/deletions": { "post": { "consumes": [ "*/*" ], "description": "Scope: account\n\nSubmit user\u0026#39;s account deletion request.\n\n**Limitation:** This API only accepts requests with a publisher userId and does not support game userId requests at this time.\n\n---\n## This API for S2S integration purpose only\n\n**Notes:**\n\n1. This API will **not send GDPR email notification** both for player and admin notification.\n2. This API will **perform account deletion immediately** without GDPR grace period (i.e. 28 days grace period).", "operationId": "S2SSubmitUserAccountDeletionRequest", "parameters": [ { "description": "Publisher Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Publisher User Id", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.S2SRequestDeleteResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Submit user's account deletion request", "tags": [ "Data Deletion (S2S)" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:S2S:INFORMATION:USER [CREATE]" ] } ] } }, "/gdpr/s2s/namespaces/{namespace}/users/{userId}/requests": { "post": { "consumes": [ "*/*" ], "description": "Scope: account\n\nSubmit user personal data retrieval request.\n\n**Limitation:** This API only accepts requests with a publisher userId and does not support game userId requests at this time.\n\n---\n## This API for S2S integration purpose only\n\n**Notes:**\n\n1. This API will **not send GDPR email notification** both for player and admin notification.\n", "operationId": "S2SRequestDataRetrieval", "parameters": [ { "description": "Publisher Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Publisher User Id", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/models.S2SDataRetrievalResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Submit user personal data retrieval request", "tags": [ "Data Retrieval (S2S)" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:S2S:INFORMATION:USER [CREATE]" ] } ] } }, "/gdpr/s2s/namespaces/{namespace}/users/{userId}/requests/{requestDate}/generate": { "post": { "consumes": [ "*/*" ], "description": "Scope: account\n\nGenerate personal data download url.\n\n**Limitation:** This API only accepts requests with a publisher userId and does not support game userId requests at this time.\n\n---\n## This API for S2S integration purpose only\n", "operationId": "S2SGeneratePersonalDataURL", "parameters": [ { "description": "Publisher Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Request date in RFC3339 format", "in": "path", "name": "requestDate", "required": true, "type": "string" }, { "description": "Publisher User Id", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.S2SUserDataURL" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.Error" } } }, "security": [ { "authorization": [] } ], "summary": "Generate personal data download url", "tags": [ "Data Retrieval (S2S)" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:S2S:INFORMATION:USER [READ]" ] } ] } } }, "definitions": { "dto.ExtendConfigDTO": { "properties": { "appName": { "description": "extend app name", "type": "string" }, "namespace": { "description": "extend app namespace", "type": "string" } }, "required": [ "appName", "namespace" ] }, "dto.FinishedDataDeletion": { "properties": { "failedMessage": { "description": "Failed message if status is Failed", "type": "string" }, "finishedDate": { "description": "Finished deletion date", "format": "date-time", "type": "string", "x-nullable": false }, "requestDate": { "description": "Request deletion date", "format": "date-time", "type": "string", "x-nullable": false }, "status": { "description": "Status of request", "enum": [ "Completed", "Failed" ], "type": "string" }, "userId": { "description": "User Id. This userId will be anonymized automatically after 7 days from the **Success** deletion", "type": "string" } }, "required": [ "finishedDate", "requestDate", "status", "userId" ] }, "dto.FinishedDataRequest": { "properties": { "dataExpirationDate": { "description": "The expiration date of generated data, it was 28 days after finishedDate. Available only if the status is Completed", "format": "date-time", "type": "string", "x-nullable": true }, "failedMessage": { "description": "Failed message if status is Failed", "type": "string" }, "finishedDate": { "description": "Finished date", "format": "date-time", "type": "string", "x-nullable": false }, "requestDate": { "description": "Request date", "format": "date-time", "type": "string", "x-nullable": false }, "requestId": { "description": "Request id", "type": "string" }, "status": { "description": "Status of request", "enum": [ "Completed", "Failed" ], "type": "string" }, "userId": { "type": "string" } }, "required": [ "finishedDate", "requestDate", "requestId", "status", "userId" ] }, "dto.ListFinishedDataDeletion": { "properties": { "data": { "items": { "$ref": "#/definitions/dto.FinishedDataDeletion" }, "type": "array" } }, "required": [ "data" ] }, "dto.ListFinishedDataRequests": { "properties": { "data": { "items": { "$ref": "#/definitions/dto.FinishedDataRequest" }, "type": "array" } }, "required": [ "data" ] }, "dto.PlatformAccountClosureClientRequest": { "properties": { "bpCert": { "description": "required for xbox", "type": "string" }, "bpCertFileName": { "description": "required for xbox", "type": "string" }, "clientId": { "description": "required for psn", "type": "string" }, "password": { "description": "required for xbox", "type": "string" }, "publisherKey": { "description": "required for steam", "type": "string" }, "sandboxId": { "description": "required for xbox", "type": "string" }, "secret": { "description": "required for psn", "type": "string" } } }, "dto.PlatformAccountClosureClientResponse": { "properties": { "bpCertExpireAt": { "format": "int64", "type": "integer" }, "bpCertFileName": { "type": "string" }, "clientId": { "type": "string" }, "namespace": { "type": "string" }, "platform": { "type": "string" }, "publisherKey": { "type": "string" }, "sandboxId": { "type": "string" }, "secret": { "type": "string" }, "updatedAt": { "format": "int64", "type": "integer" } }, "required": [ "namespace", "platform", "updatedAt" ] }, "dto.PlatformAccountClosureClientsResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/dto.PlatformAccountClosureClientResponse" }, "type": "array" } }, "required": [ "data" ] }, "dto.PlatformAccountClosureMockRequest": { "properties": { "platformUserId": { "type": "string" }, "sandbox": { "type": "string" }, "startImmediately": { "description": "start the account closure process immediately", "type": "boolean", "x-omitempty": false } }, "required": [ "platformUserId", "sandbox", "startImmediately" ] }, "dto.S2SDataRequestSummary": { "properties": { "failedMessage": { "description": "Failed message if status is Failed", "type": "string" }, "status": { "description": "Status of the request", "enum": [ "Canceled", "Completed", "Failed", "In-Progress", "Pending" ], "type": "string" }, "url": { "description": "Download url if status is Completed", "type": "string" } }, "required": [ "status" ] }, "dto.ServiceConfigDTO": { "properties": { "protocol": { "description": "protocol type", "enum": [ "EVENT", "GRPC" ], "type": "string" }, "skipAck": { "description": "skip waiting for ack event from this service, used in \"EVENT\" protocol only.", "type": "boolean", "x-omitempty": false }, "url": { "description": "url of the service with port number, required in \"GRPC\" protocol", "type": "string" } }, "required": [ "protocol" ] }, "dto.ServiceConfigurationDTO": { "properties": { "extendConfig": { "$ref": "#/definitions/dto.ExtendConfigDTO", "description": "extend configuration detail, required when \"type\" is \"EXTEND\"" }, "id": { "description": "service id", "type": "string" }, "serviceConfig": { "$ref": "#/definitions/dto.ServiceConfigDTO", "description": "service configuration detail, required when \"type\" is \"SERVICE\"" }, "type": { "description": "service type", "enum": [ "EXTEND", "SERVICE" ], "type": "string" } }, "required": [ "id", "type" ] }, "dto.ServiceConfigurationUpdateRequest": { "properties": { "services": { "description": "list of services", "items": { "$ref": "#/definitions/dto.ServiceConfigurationDTO" }, "type": "array" } }, "required": [ "services" ] }, "dto.ServicesConfigurationResponse": { "properties": { "services": { "description": "list of services", "items": { "$ref": "#/definitions/dto.ServiceConfigurationDTO" }, "type": "array" } }, "required": [ "services" ] }, "dto.UserPlatformAccountClosureHistoriesResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/dto.UserPlatformAccountClosureHistory" }, "type": "array" }, "pagination": { "$ref": "#/definitions/models.Pagination" } }, "required": [ "data", "pagination" ] }, "dto.UserPlatformAccountClosureHistory": { "properties": { "closedDate": { "format": "int64", "type": "integer" }, "environment": { "type": "string" }, "namespace": { "type": "string" }, "platform": { "type": "string" }, "platformUserId": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "closedDate", "environment", "namespace", "platform", "platformUserId", "userId" ] }, "dto.XboxBPCertValidationRequest": { "properties": { "bpCert": { "type": "string" }, "password": { "type": "string" } }, "required": [ "bpCert", "password" ] }, "dto.XboxBPCertValidationResponse": { "properties": { "expirationDate": { "format": "int64", "type": "integer" }, "expired": { "type": "boolean", "x-omitempty": false } }, "required": [ "expirationDate", "expired" ] }, "models.DataRetrievalResponse": { "properties": { "Namespace": { "type": "string" }, "RequestDate": { "format": "date-time", "type": "string", "x-nullable": false }, "UserID": { "type": "string" } }, "required": [ "Namespace", "RequestDate", "UserID" ] }, "models.DeletionData": { "properties": { "DisplayName": { "type": "string" }, "RequestDate": { "format": "date-time", "type": "string", "x-nullable": false }, "Status": { "type": "string" }, "UniqueDisplayName": { "type": "string" }, "UserID": { "type": "string" } }, "required": [ "DisplayName", "RequestDate", "Status", "UniqueDisplayName", "UserID" ] }, "models.DeletionStatus": { "properties": { "DeletionDate": { "type": "string" }, "DeletionStatus": { "type": "boolean", "x-omitempty": false }, "DisplayName": { "type": "string" }, "ExecutionDate": { "format": "date-time", "type": "string", "x-nullable": true }, "Status": { "type": "string" }, "UserID": { "type": "string" } }, "required": [ "DeletionDate", "DeletionStatus", "DisplayName", "Status", "UserID" ] }, "models.ListDeletionDataResponse": { "properties": { "Data": { "items": { "$ref": "#/definitions/models.DeletionData" }, "type": "array" }, "Paging": { "$ref": "#/definitions/models.Pagination" } }, "required": [ "Data", "Paging" ] }, "models.ListPersonalDataResponse": { "properties": { "Data": { "items": { "$ref": "#/definitions/models.PersonalData" }, "type": "array" }, "Paging": { "$ref": "#/definitions/models.Pagination" } }, "required": [ "Data", "Paging" ] }, "models.Pagination": { "properties": { "First": { "type": "string" }, "Last": { "type": "string" }, "Next": { "type": "string" }, "Previous": { "type": "string" } }, "required": [ "First", "Last", "Next", "Previous" ] }, "models.PersonalData": { "properties": { "DataExpirationDate": { "format": "date-time", "type": "string", "x-nullable": false }, "DisplayName": { "type": "string" }, "RequestDate": { "format": "date-time", "type": "string", "x-nullable": false }, "ServiceErrors": { "additionalProperties": { "type": "string" }, "type": "object" }, "ServiceStatuses": { "additionalProperties": { "type": "string" }, "type": "object" }, "Status": { "type": "string" }, "UserID": { "type": "string" } }, "required": [ "DataExpirationDate", "DisplayName", "RequestDate", "ServiceErrors", "ServiceStatuses", "Status", "UserID" ] }, "models.RequestDeleteResponse": { "properties": { "Namespace": { "type": "string" }, "UserID": { "type": "string" } }, "required": [ "Namespace", "UserID" ] }, "models.S2SDataRetrievalResponse": { "properties": { "namespace": { "type": "string" }, "requestDate": { "format": "date-time", "type": "string", "x-nullable": false }, "requestId": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "namespace", "requestDate", "requestId", "userId" ] }, "models.S2SRequestDeleteResponse": { "properties": { "namespace": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "namespace", "userId" ] }, "models.S2SUserDataURL": { "properties": { "url": { "description": "Download url if status is Completed", "type": "string" } }, "required": [ "url" ] }, "models.UserDataURL": { "properties": { "URL": { "type": "string" } }, "required": [ "URL" ] }, "models.UserPersonalData": { "properties": { "DataExpirationDate": { "format": "date-time", "type": "string", "x-nullable": false }, "RequestDate": { "format": "date-time", "type": "string", "x-nullable": false }, "Status": { "type": "string" } }, "required": [ "DataExpirationDate", "RequestDate", "Status" ] }, "models.UserPersonalDataResponse": { "properties": { "Data": { "items": { "$ref": "#/definitions/models.UserPersonalData" }, "type": "array" }, "Paging": { "$ref": "#/definitions/models.Pagination" } }, "required": [ "Data", "Paging" ] }, "response.Error": { "properties": { "errorCode": { "format": "int32", "type": "integer" }, "errorMessage": { "type": "string" }, "messageVariables": { "additionalProperties": { "type": "string" }, "type": "object" } }, "required": [ "errorCode", "errorMessage" ] } }, "x-docs": { "alias": "gdpr", "host": "https://stage.accelbyte.io", "path": "/gdpr/apidocs/api.json" }, "x-version": { "buildDate": "2025-10-16T08:05:37+00:00", "gitHash": "8f438aa7f784e74bc4e3eb29ff93be7f36d7169c", "name": "justice-gdpr-service", "realm": "staging", "version": "2.21.0", "version-roles-seeding": "1.2.82" } }