{ "host": "demo.accelbyte.io", "info": { "contact": { "email": "engineering@accelbyte.io", "name": "Engineering Team at AccelByte", "url": "https://accelbyte.io" }, "description": "Justice Legal Service", "title": "justice-legal-service", "version": "4.6.0" }, "schemes": [ "https" ], "tags": [ { "name": "Admin User Agreement" }, { "name": "Admin User Eligibilities" }, { "name": "Agreement" }, { "name": "Agreement With Namespace" }, { "name": "Anonymization" }, { "name": "Base Legal Policies" }, { "name": "Base Legal Policies With Namespace" }, { "name": "Eligibilities" }, { "name": "Localized Policy Versions" }, { "name": "Localized Policy Versions With Namespace" }, { "name": "Policies" }, { "name": "Policies With Namespace" }, { "name": "Policies With Namespace V2" }, { "name": "Policy Versions" }, { "name": "Policy Versions With Namespace" }, { "name": "UserInfo" }, { "name": "Utility" } ], "externalDocs": { "description": "API Docs", "url": "https://stage.accelbyte.io/agreement" }, "securityDefinitions": { "authorization": { "in": "header", "name": "Authorization", "type": "apiKey" } }, "swagger": "2.0", "paths": { "/agreement/admin/agreements/localized-policy-versions/preferences/namespaces/{namespace}/userId/{userId}": { "patch": { "consumes": [ "application/json" ], "description": "This API will Update Preference Consent", "operationId": "changePreferenceConsent", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User Id", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "items": { "$ref": "#/definitions/AcceptAgreementRequest" }, "type": "array" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "operation successful" }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40047\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_agreement_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Change Preference Consent", "tags": [ "Agreement" ], "x-errorCodes": { "40047": "errors.net.accelbyte.platform.legal.user_agreement_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [UPDATE]" } } }, "/agreement/admin/agreements/policies/users/{userId}": { "get": { "description": "This API will return all accepted Legal Agreements for specified user", "operationId": "oldRetrieveAcceptedAgreements", "parameters": [ { "description": "User Id", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveAcceptedAgreementResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Accepted Legal Agreements", "tags": [ "Agreement" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } } }, "/agreement/admin/agreements/policy-versions/users": { "get": { "description": "This API will return users who has accepted a specific policy version.", "operationId": "oldRetrieveAllUsersByPolicyVersion", "parameters": [ { "in": "query", "name": "policyVersionId", "required": true, "type": "string" }, { "description": "display name or email or username", "in": "query", "name": "keyword", "required": false, "type": "string" }, { "default": 20, "description": "limit", "format": "int32", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "default": 0, "description": "offset", "format": "int32", "in": "query", "name": "offset", "required": false, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/PagedRetrieveUserAcceptedAgreementResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Users Accepting Legal Agreements", "tags": [ "Agreement" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.policy_version_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } } }, "/agreement/admin/base-policies": { "get": { "description": "Retrieve all base policies.", "operationId": "retrieveAllLegalPolicies", "parameters": [ { "default": false, "in": "query", "name": "visibleOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveBasePolicyResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve All Base Legal Policy", "tags": [ "Base Legal Policies" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create a legal policy.\u0026lt;br\u0026gt;Note:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;countryType\u0026lt;/i\u0026gt; field only accept COUNTRY or COUNTRY_GROUP.\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;COUNTRY_GROUP \u0026lt;i\u0026gt;countryType\u0026lt;/i\u0026gt; requires the \u0026lt;i\u0026gt;countryGroupName\u0026lt;/i\u0026gt; and \u0026lt;i\u0026gt;affectedCountries\u0026lt;/i\u0026gt; fields to be provided.\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;li\u0026gt;policy with COUNTRY_GROUP type include multiple countries and apply the same policy across the entire list of countries\u0026lt;/li\u0026gt;", "operationId": "oldCreatePolicy", "parameters": [ { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/CreateBasePolicyRequest" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/CreateBasePolicyResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40038\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_affected_client_id\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40026\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.not_allow_create_studio_policy\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40030\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_type_not_exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a Base Legal Policy", "tags": [ "Base Legal Policies" ], "x-errorCodes": { "20002": "validation error", "40026": "errors.net.accelbyte.platform.legal.not_allow_create_studio_policy", "40030": "errors.net.accelbyte.platform.legal.policy_type_not_exist", "40038": "errors.net.accelbyte.platform.legal.invalid_affected_client_id" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [CREATE]" } } }, "/agreement/admin/base-policies/{basePolicyId}": { "get": { "description": "Retrieve a base policy.", "operationId": "oldRetrieveSinglePolicy", "parameters": [ { "description": "BasePolicy Id", "in": "path", "name": "basePolicyId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RetrieveBasePolicyResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40031\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.base_policy_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve a Base Legal Policy", "tags": [ "Base Legal Policies" ], "x-errorCodes": { "40031": "errors.net.accelbyte.platform.legal.base_policy_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } }, "patch": { "consumes": [ "application/json" ], "description": "Update an existing base policy.\u0026lt;br\u0026gt;Note:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;countryType\u0026lt;/i\u0026gt; field only accept COUNTRY or COUNTRY_GROUP.\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;COUNTRY_GROUP \u0026lt;i\u0026gt;countryType\u0026lt;/i\u0026gt; requires the \u0026lt;i\u0026gt;countryGroupName\u0026lt;/i\u0026gt; and \u0026lt;i\u0026gt;affectedCountries\u0026lt;/i\u0026gt; fields to be provided.\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;li\u0026gt;policy with COUNTRY_GROUP type include multiple countries and apply the same policy across the entire list of countries\u0026lt;/li\u0026gt;", "operationId": "oldPartialUpdatePolicy", "parameters": [ { "description": "BasePolicy Id", "in": "path", "name": "basePolicyId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UpdateBasePolicyRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UpdateBasePolicyResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40032\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_base_policy\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40038\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_affected_client_id\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40030\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_type_not_exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update Base Legal Policy", "tags": [ "Base Legal Policies" ], "x-errorCodes": { "40030": "errors.net.accelbyte.platform.legal.policy_type_not_exist", "40032": "errors.net.accelbyte.platform.legal.invalid_base_policy", "40038": "errors.net.accelbyte.platform.legal.invalid_affected_client_id" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/base-policies/{basePolicyId}/countries/{countryCode}": { "get": { "description": "Retrieve a Base Legal Policy based on a Particular Country.", "operationId": "oldRetrievePolicyCountry", "parameters": [ { "description": "BasePolicy Id", "in": "path", "name": "basePolicyId", "required": true, "type": "string" }, { "description": "Country Code", "in": "path", "name": "countryCode", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RetrievePolicyResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40041\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve a Base Legal Policy based on a Particular Country", "tags": [ "Base Legal Policies" ], "x-errorCodes": { "40041": "errors.net.accelbyte.platform.legal.policy_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } } }, "/agreement/admin/localized-policy-versions/versions/{policyVersionId}": { "get": { "description": "Retrieve versions of a particular country-specific policy.", "operationId": "oldRetrieveLocalizedPolicyVersions", "parameters": [ { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveLocalizedPolicyVersionResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Versions from Country-Specific Policy", "tags": [ "Localized Policy Versions" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create a version of a particular country-specific policy.", "operationId": "oldCreateLocalizedPolicyVersion", "parameters": [ { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/CreateLocalizedPolicyVersionRequest" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/CreateLocalizedPolicyVersionResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40033\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40044\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_already_exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a Localized Version from Country-Specific Policy", "tags": [ "Localized Policy Versions" ], "x-errorCodes": { "40033": "errors.net.accelbyte.platform.legal.invalid_policy_version", "40044": "errors.net.accelbyte.platform.legal.localized_policy_version_already_exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [CREATE]" } } }, "/agreement/admin/localized-policy-versions/{localizedPolicyVersionId}": { "get": { "description": "Retrieve a version of a particular country-specific policy.", "operationId": "oldRetrieveSingleLocalizedPolicyVersion", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RetrieveLocalizedPolicyVersionResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e2912\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve a Localized Version from Country-Specific Policy", "tags": [ "Localized Policy Versions" ], "x-errorCodes": { "2912": "errors.net.accelbyte.platform.legal.policy_version_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } }, "put": { "consumes": [ "application/json" ], "description": "Update a version of a particular country-specific policy.", "operationId": "oldUpdateLocalizedPolicyVersion", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UpdateLocalizedPolicyVersionRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UpdateLocalizedPolicyVersionResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a Localized Version from Country-Specific Policy", "tags": [ "Localized Policy Versions" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.invalid_policy_version" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/localized-policy-versions/{localizedPolicyVersionId}/attachments": { "post": { "consumes": [ "application/json" ], "description": "Request presigned URL for upload attachment for a particular localized version of base policy.", "operationId": "oldRequestPresignedURL", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UploadPolicyVersionAttachmentRequest" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/UploadLocalizedPolicyVersionAttachmentResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40034\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_file_type\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40037\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_localized_policy_version\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40042\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_freezed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Request Presigned URL for Upload Document", "tags": [ "Localized Policy Versions" ], "x-errorCodes": { "40034": "errors.net.accelbyte.platform.legal.invalid_file_type", "40037": "errors.net.accelbyte.platform.legal.invalid_localized_policy_version", "40042": "errors.net.accelbyte.platform.legal.policy_version_freezed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [CREATE]" } } }, "/agreement/admin/localized-policy-versions/{localizedPolicyVersionId}/default": { "patch": { "description": "Update a localized version policy to be the default.", "operationId": "oldSetDefaultLocalizedPolicy", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_localize_policy_version\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Set Default Localized Policy", "tags": [ "Localized Policy Versions" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.invalid_localize_policy_version" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/namespaces/{namespace}/agreements": { "post": { "consumes": [ "application/json" ], "description": "This API will return all accepted Legal Agreements for each user, including agreements of game users if publisher user has corresponding game account.", "operationId": "retrieveAcceptedAgreementsForMultiUsers", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UsersAgreementsRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/UserAgreementsResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Accepted Legal Agreements For Multi Users", "tags": [ "Agreement With Namespace" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } } }, "/agreement/admin/namespaces/{namespace}/agreements/policies/users/{userId}": { "get": { "description": "This API will return all accepted Legal Agreements for specified user.", "operationId": "retrieveAcceptedAgreements", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User Id", "in": "path", "name": "userId", "required": true, "type": "string" }, { "default": false, "description": "If it is true, API will only query the policy in this path namespace", "in": "query", "name": "excludeOtherNamespacesPolicies", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveAcceptedAgreementResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Accepted Legal Agreements", "tags": [ "Agreement With Namespace" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } } }, "/agreement/admin/namespaces/{namespace}/agreements/policy-versions/users": { "get": { "description": "This API will return all users who has accepted a specific policy version.", "operationId": "retrieveAllUsersByPolicyVersion", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "query", "name": "policyVersionId", "required": true, "type": "string" }, { "default": false, "description": "[Only for publisher legal scenario] If it is true, when a game user accept this publisher legal, API will return publisher user id", "in": "query", "name": "convertGameUserId", "required": false, "type": "boolean", "x-omitempty": false }, { "description": "display name or email or username", "in": "query", "name": "keyword", "required": false, "type": "string" }, { "default": 20, "description": "limit", "format": "int32", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "default": 0, "description": "offset", "format": "int32", "in": "query", "name": "offset", "required": false, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/PagedRetrieveUserAcceptedAgreementResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Users Accepting Legal Agreements", "tags": [ "Agreement With Namespace" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.policy_version_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } } }, "/agreement/admin/namespaces/{namespace}/agreements/policy-versions/users/export-csv/download": { "get": { "description": "This API will check the status of export process.\u0026lt;br\u0026gt;If the export process has been completed, the response body will include the download url.", "operationId": "downloadExportedAgreementsInCSV", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Export Id", "in": "query", "name": "exportId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/DownloadExportedAgreementsInCSVResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40047\u003c/td\u003e\u003ctd\u003eExported agreements for exportId [{exportId}] not found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Download Exported Users Accepted Agreements in CSV", "tags": [ "Agreement With Namespace" ], "x-errorCodes": { "40047": "Exported agreements for exportId [{exportId}] not found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } } }, "/agreement/admin/namespaces/{namespace}/agreements/policy-versions/users/export-csv/initiate": { "post": { "description": "This API will initiate a worker to export list of users who has accepted a specific policy version into a CSV file.\u0026lt;br\u0026gt;To check the export state after initialize it, use `GET /admin/namespaces/{namespace}/agreements/policy-versions/users/export-csv/download` API.\u0026lt;br/\u0026gt;\u0026lt;br/\u0026gt;This Initiate API is \u0026lt;b\u0026gt;not allow\u0026lt;/b\u0026gt; multiple export worker running for the same namespace, it will return 409 http error if so.\u0026lt;br/\u0026gt;", "operationId": "initiateExportAgreementsToCSV", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Version Id", "in": "query", "name": "policyVersionId", "required": true, "type": "string" }, { "description": "Start time of signed_date to retrieve. Using ISO 8601 format yyyy-MM-dd'T'HH:mm:ss'Z', e.g. 2024-01-01T00:00:00Z", "in": "query", "name": "start", "required": true, "type": "string" }, { "description": "End time of signed_date to retrieve, will use current time if not specified. Using ISO 8601 format yyyy-MM-dd'T'HH:mm:ss'Z', e.g. 2024-01-01T00:00:00Z", "in": "query", "name": "end", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/InitiateExportAgreementsToCSVResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40027\u003c/td\u003e\u003ctd\u003eToo many export running currently\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40045\u003c/td\u003e\u003ctd\u003ePolicy version with id: [{policyVersionId}] not found on namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40071\u003c/td\u003e\u003ctd\u003ePrevious export still running for namespace [{namespace}] with exportId [{exportId}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Initiate Export Users Accepted Agreements to CSV", "tags": [ "Agreement With Namespace" ], "x-errorCodes": { "40027": "Too many export running currently", "40045": "Policy version with id: [{policyVersionId}] not found on namespace [{namespace}]", "40071": "Previous export still running for namespace [{namespace}] with exportId [{exportId}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } } }, "/agreement/admin/namespaces/{namespace}/base-policies": { "get": { "description": "Retrieve base policies in the namespace. Set `limit = -1` to retrieve all records", "operationId": "retrieveAllLegalPoliciesByNamespace", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": -1, "description": "Limit", "format": "int32", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "default": 0, "description": "Offset", "format": "int32", "in": "query", "name": "offset", "required": false, "type": "integer" }, { "default": false, "in": "query", "name": "visibleOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveBasePolicyResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Base Legal Policy in the namespace", "tags": [ "Base Legal Policies With Namespace" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create a legal policy.\u0026lt;br\u0026gt;Note:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;countryType\u0026lt;/i\u0026gt; field only accept COUNTRY or COUNTRY_GROUP.\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;COUNTRY_GROUP \u0026lt;i\u0026gt;countryType\u0026lt;/i\u0026gt; requires the \u0026lt;i\u0026gt;countryGroupName\u0026lt;/i\u0026gt; and \u0026lt;i\u0026gt;affectedCountries\u0026lt;/i\u0026gt; fields to be provided.\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;li\u0026gt;policy with COUNTRY_GROUP type include multiple countries and apply the same policy across the entire list of countries\u0026lt;/li\u0026gt;", "operationId": "createPolicy", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/CreateBasePolicyRequestV2" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/CreateBasePolicyResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40032\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.base_policy_namespace_not_match\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40026\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.not_allow_create_studio_policy\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40030\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_type\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a Base Legal Policy", "tags": [ "Base Legal Policies With Namespace" ], "x-errorCodes": { "20002": "validation error", "40026": "errors.net.accelbyte.platform.legal.not_allow_create_studio_policy", "40030": "errors.net.accelbyte.platform.legal.invalid_policy_type", "40032": "errors.net.accelbyte.platform.legal.base_policy_namespace_not_match" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [CREATE]" } } }, "/agreement/admin/namespaces/{namespace}/base-policies/{basePolicyId}": { "delete": { "description": "Delete base legal policy.Can only be deleted if match these criteria:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Base policy don\u0026#39;t have published policy version\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Policy version under base policy has never been accepted by any user\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "deleteBasePolicy", "parameters": [ { "description": "BasePolicy Id", "in": "path", "name": "basePolicyId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Successful operation" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40032\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_base_policy\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40068\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.base_policy_have_published_policy_version_and_already_accepted_by_user\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40069\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.base_policy_already_have_published_policy_version\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Base Legal Policy", "tags": [ "Base Legal Policies With Namespace" ], "x-errorCodes": { "40032": "errors.net.accelbyte.platform.legal.invalid_base_policy", "40068": "errors.net.accelbyte.platform.legal.base_policy_have_published_policy_version_and_already_accepted_by_user", "40069": "errors.net.accelbyte.platform.legal.base_policy_already_have_published_policy_version" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [DELETE]" } }, "get": { "description": "Retrieve a base policy.", "operationId": "retrieveSinglePolicy", "parameters": [ { "description": "BasePolicy Id", "in": "path", "name": "basePolicyId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RetrieveBasePolicyResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40041\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve a Base Legal Policy", "tags": [ "Base Legal Policies With Namespace" ], "x-errorCodes": { "40041": "errors.net.accelbyte.platform.legal.policy_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } }, "patch": { "consumes": [ "application/json" ], "description": "Update an existing base policy.\u0026lt;br\u0026gt;Note:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;countryType\u0026lt;/i\u0026gt; field only accept COUNTRY or COUNTRY_GROUP.\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;COUNTRY_GROUP \u0026lt;i\u0026gt;countryType\u0026lt;/i\u0026gt; requires the \u0026lt;i\u0026gt;countryGroupName\u0026lt;/i\u0026gt; and \u0026lt;i\u0026gt;affectedCountries\u0026lt;/i\u0026gt; fields to be provided.\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;li\u0026gt;policy with COUNTRY_GROUP type include multiple countries and apply the same policy across the entire list of countries\u0026lt;/li\u0026gt;", "operationId": "partialUpdatePolicy", "parameters": [ { "description": "BasePolicy Id", "in": "path", "name": "basePolicyId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UpdateBasePolicyRequestV2" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UpdateBasePolicyResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40032\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_base_policy\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update Base Legal Policy", "tags": [ "Base Legal Policies With Namespace" ], "x-errorCodes": { "40032": "errors.net.accelbyte.platform.legal.invalid_base_policy" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [UPDATE]" } } }, "/agreement/admin/namespaces/{namespace}/base-policies/{basePolicyId}/countries/{countryCode}": { "get": { "description": "Retrieve a Base Legal Policy based on a Particular Country.", "operationId": "retrievePolicyCountry", "parameters": [ { "description": "BasePolicy Id", "in": "path", "name": "basePolicyId", "required": true, "type": "string" }, { "description": "Country Code", "in": "path", "name": "countryCode", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RetrievePolicyResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40031\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.base_policy_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve a Base Legal Policy based on a Particular Country", "tags": [ "Base Legal Policies With Namespace" ], "x-errorCodes": { "40031": "errors.net.accelbyte.platform.legal.base_policy_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } } }, "/agreement/admin/namespaces/{namespace}/base-policies/{basePolicyId}/policies": { "get": { "description": "Retrieve all policies from Base Legal Policy.", "operationId": "retrieveAllPoliciesFromBasePolicy", "parameters": [ { "description": "BasePolicy Id", "in": "path", "name": "basePolicyId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrievePoliciesFromBasePolicyResponse" }, "type": "array" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40041\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve all policies from Base Legal Policy", "tags": [ "Base Legal Policies With Namespace" ], "x-errorCodes": { "40041": "errors.net.accelbyte.platform.legal.policy_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create policy under base policy.\u0026lt;br\u0026gt;Note:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;countryType\u0026lt;/i\u0026gt; field only accept COUNTRY or COUNTRY_GROUP.\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;COUNTRY_GROUP policy requires the \u0026lt;i\u0026gt;countryGroupName\u0026lt;/i\u0026gt; and \u0026lt;i\u0026gt;countries\u0026lt;/i\u0026gt; fields to be provided.\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;li\u0026gt;policy with COUNTRY_GROUP type include multiple countries and apply the same policy across the entire list of countries\u0026lt;/li\u0026gt;", "operationId": "createPolicyUnderBasePolicy", "parameters": [ { "description": "BasePolicy Id", "in": "path", "name": "basePolicyId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/CreatePolicyRequest" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/CreatePolicyResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40032\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_base_policy\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create policy under base policy", "tags": [ "Base Legal Policies With Namespace" ], "x-errorCodes": { "40032": "errors.net.accelbyte.platform.legal.invalid_base_policy" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [CREATE]" } } }, "/agreement/admin/namespaces/{namespace}/localized-policy-versions/versions/{localizedPolicyVersionId}": { "delete": { "description": "Delete localized version policy.\u0026lt;br\u0026gt;Can only be deleted if match these criteria:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Policy Version that this localized policy version belongs to is not active\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Has never been accepted by any user\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "deleteLocalizedPolicy", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "successful operation" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40075\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_is_published_and_already_accepted_by_user\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40076\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_is_active\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Localized Policy", "tags": [ "Localized Policy Versions With Namespace" ], "x-errorCodes": { "40075": "errors.net.accelbyte.platform.legal.localized_policy_version_is_published_and_already_accepted_by_user", "40076": "errors.net.accelbyte.platform.legal.localized_policy_version_is_active" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [DELETE]" } } }, "/agreement/admin/namespaces/{namespace}/localized-policy-versions/versions/{policyVersionId}": { "get": { "description": "Retrieve versions of a particular country-specific policy.", "operationId": "retrieveLocalizedPolicyVersions", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveLocalizedPolicyVersionResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Versions from Country-Specific Policy", "tags": [ "Localized Policy Versions With Namespace" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create a version of a particular country-specific policy.", "operationId": "createLocalizedPolicyVersion", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/CreateLocalizedPolicyVersionRequest" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/CreateLocalizedPolicyVersionResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40033\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40044\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_already_exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a Localized Version from Country-Specific Policy", "tags": [ "Localized Policy Versions With Namespace" ], "x-errorCodes": { "40033": "errors.net.accelbyte.platform.legal.invalid_policy_version", "40044": "errors.net.accelbyte.platform.legal.localized_policy_version_already_exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [CREATE]" } } }, "/agreement/admin/namespaces/{namespace}/localized-policy-versions/{localizedPolicyVersionId}": { "get": { "description": "Retrieve a version of a particular country-specific policy.", "operationId": "retrieveSingleLocalizedPolicyVersion", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RetrieveLocalizedPolicyVersionResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e2912\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve a Localized Version from Country-Specific Policy", "tags": [ "Localized Policy Versions With Namespace" ], "x-errorCodes": { "2912": "errors.net.accelbyte.platform.legal.policy_version_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } }, "put": { "consumes": [ "application/json" ], "description": "Update a version of a particular country-specific policy.", "operationId": "updateLocalizedPolicyVersion", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UpdateLocalizedPolicyVersionRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UpdateLocalizedPolicyVersionResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a Localized Version from Country-Specific Policy", "tags": [ "Localized Policy Versions With Namespace" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.invalid_policy_version" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [UPDATE]" } } }, "/agreement/admin/namespaces/{namespace}/localized-policy-versions/{localizedPolicyVersionId}/attachments": { "post": { "consumes": [ "application/json" ], "description": "Request presigned URL for upload attachment for a particular localized version of base policy.", "operationId": "requestPresignedURL", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UploadPolicyVersionAttachmentRequest" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/UploadLocalizedPolicyVersionAttachmentResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40034\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_file_type\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40037\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_localized_policy_version\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40042\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_freezed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Request Presigned URL for Upload Document", "tags": [ "Localized Policy Versions With Namespace" ], "x-errorCodes": { "40034": "errors.net.accelbyte.platform.legal.invalid_file_type", "40037": "errors.net.accelbyte.platform.legal.invalid_localized_policy_version", "40042": "errors.net.accelbyte.platform.legal.policy_version_freezed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [CREATE]" } } }, "/agreement/admin/namespaces/{namespace}/localized-policy-versions/{localizedPolicyVersionId}/default": { "patch": { "description": "Update a localized version policy to be the default.", "operationId": "setDefaultLocalizedPolicy", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation" } }, "security": [ { "authorization": [] } ], "summary": "Set Default Localized Policy", "tags": [ "Localized Policy Versions With Namespace" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [UPDATE]" } } }, "/agreement/admin/namespaces/{namespace}/policies/versions/{policyVersionId}": { "delete": { "description": "Delete a policy version from policy.Can only be deleted if match these criteria:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Policy version is not published\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Policy version has never been accepted by any user\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "deletePolicyVersion", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Successful operation" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40070\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_is_published_and_already_accepted_by_user\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40071\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_is_active\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete a Version of Policy", "tags": [ "Policy Versions With Namespace" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.invalid_policy_version", "40070": "errors.net.accelbyte.platform.legal.policy_version_is_published_and_already_accepted_by_user", "40071": "errors.net.accelbyte.platform.legal.policy_version_is_active" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [DELETE]" } }, "patch": { "consumes": [ "application/json" ], "description": "Update a particular policy version.", "operationId": "updatePolicyVersion", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UpdatePolicyVersionRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UpdatePolicyVersionResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40042\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_freezed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40043\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_already_exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a Version of Policy", "tags": [ "Policy Versions With Namespace" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.invalid_policy_version", "40042": "errors.net.accelbyte.platform.legal.policy_version_freezed", "40043": "errors.net.accelbyte.platform.legal.localized_policy_version_already_exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/namespaces/{namespace}/policies/versions/{policyVersionId}/latest": { "patch": { "description": "Manually publish a version of a particular country-specific policy.", "operationId": "publishPolicyVersion", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" }, { "default": true, "description": "Should Notify", "in": "query", "name": "shouldNotify", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "operation successful" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40046\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.default_selection_not_provided\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40030\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_not_provided\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40039\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_already_latest\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40043\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_already_publish\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Manually Publish a Version from Country-Specific Policy", "tags": [ "Policy Versions With Namespace" ], "x-errorCodes": { "40030": "errors.net.accelbyte.platform.legal.localized_policy_version_not_provided", "40035": "errors.net.accelbyte.platform.legal.invalid_policy_version", "40039": "errors.net.accelbyte.platform.legal.localized_policy_version_already_latest", "40043": "errors.net.accelbyte.platform.legal.localized_policy_version_already_publish", "40046": "errors.net.accelbyte.platform.legal.default_selection_not_provided" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/namespaces/{namespace}/policies/versions/{policyVersionId}/unpublish": { "patch": { "description": "Un-publish a policy version from policy.Can only be un-publish if match these criteria:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Policy version has never been accepted by any user\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "unpublishPolicyVersion", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Successful operation" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40070\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_is_published_and_already_accepted_by_user\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Un-publish Version from Policy", "tags": [ "Policy Versions With Namespace" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.invalid_policy_version", "40070": "errors.net.accelbyte.platform.legal.policy_version_is_published_and_already_accepted_by_user" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [UPDATE]" } } }, "/agreement/admin/namespaces/{namespace}/policies/{policyId}": { "delete": { "description": "Delete policy.Can only be deleted if match these criteria:\u0026lt;br\u0026gt;\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Policy is not default policy\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Policy version under policy has never been accepted by any user\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "deletePolicy", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Id", "in": "path", "name": "policyId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Successful operation" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40033\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_id\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40072\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_have_published_policy_version\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40073\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_have_published_policy_version_and_already_accepted_by_user\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40074\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_is_default_policy\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Policy", "tags": [ "Policies With Namespace" ], "x-errorCodes": { "40033": "errors.net.accelbyte.platform.legal.invalid_policy_id", "40072": "errors.net.accelbyte.platform.legal.policy_have_published_policy_version", "40073": "errors.net.accelbyte.platform.legal.policy_have_published_policy_version_and_already_accepted_by_user", "40074": "errors.net.accelbyte.platform.legal.policy_is_default_policy" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [DELETE]" } }, "patch": { "consumes": [ "application/json" ], "description": "Update country-specific and country-group policy.", "operationId": "updatePolicy", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Id", "in": "path", "name": "policyId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UpdatePolicyRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "operation successful" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40033\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_id\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update Country-Specific Policy", "tags": [ "Policies With Namespace" ], "x-errorCodes": { "40033": "errors.net.accelbyte.platform.legal.invalid_policy_id" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [UPDATE]" } } }, "/agreement/admin/namespaces/{namespace}/policies/{policyId}/default": { "patch": { "description": "Update a policy to be the default.", "operationId": "setDefaultPolicy", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Id", "in": "path", "name": "policyId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "operation successful" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40033\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_id\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Set Default Policy", "tags": [ "Policies With Namespace" ], "x-errorCodes": { "40033": "errors.net.accelbyte.platform.legal.invalid_policy_id" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [UPDATE]" } } }, "/agreement/admin/namespaces/{namespace}/policies/{policyId}/versions": { "get": { "description": "Retrieve a version of a particular country specific policy. If version is not provided, the Legal Service will assume caller requesting all versions from country-specific policy.", "operationId": "retrieveSinglePolicyVersion", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Id", "in": "path", "name": "policyId", "required": true, "type": "string" }, { "description": "Version Id", "in": "query", "name": "versionId", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrievePolicyVersionResponse" }, "type": "array" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40036\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_id_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve a Version from Country-Specific Policy", "tags": [ "Policy Versions With Namespace" ], "x-errorCodes": { "40036": "errors.net.accelbyte.platform.legal.policy_version_id_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create a version of a particular country-specific policy.", "operationId": "createPolicyVersion", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Policy Id", "in": "path", "name": "policyId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/CreatePolicyVersionRequest" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/CreatePolicyVersionResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40033\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a Version from Country-Specific Policy", "tags": [ "Policy Versions With Namespace" ], "x-errorCodes": { "40033": "errors.net.accelbyte.platform.legal.invalid_policy" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [CREATE]" } } }, "/agreement/admin/namespaces/{namespace}/policy-types": { "get": { "description": "Retrieve all supported policy types.", "operationId": "retrieveAllPolicyTypes", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "format": "int32", "in": "query", "name": "limit", "required": true, "type": "integer" }, { "description": "Offset", "format": "int32", "in": "query", "name": "offset", "required": false, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrievePolicyTypeResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve All Policy Type", "tags": [ "Base Legal Policies With Namespace" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:LEGAL [READ]" } } }, "/agreement/admin/namespaces/{namespace}/users/{userId}/agreements/policies": { "post": { "consumes": [ "application/json" ], "description": "Accepts many legal policy versions all at once. Supply with localized version policy id and userId to accept an agreement.", "operationId": "indirectBulkAcceptVersionedPolicy", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User Id", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "Client Id", "in": "query", "name": "clientId", "required": true, "type": "string" }, { "description": "Country Code", "in": "query", "name": "countryCode", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "items": { "$ref": "#/definitions/AcceptAgreementRequest" }, "type": "array" } }, { "description": "Publisher user Id", "in": "query", "name": "publisherUserId", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/AcceptAgreementResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Admin bulk accept Policy Versions", "tags": [ "Admin User Agreement" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:LEGAL [CREATE]" } } }, "/agreement/admin/namespaces/{namespace}/users/{userId}/eligibilities": { "get": { "description": "Retrieve the active policies and its conformance status by user.\u0026lt;br\u0026gt;This process only supports cross-namespace checking between game namespace and publisher namespace , that means if the active policy already accepted by the same user in publisher namespace, then it will also be considered as eligible in non-publisher namespace.", "operationId": "adminRetrieveEligibilities", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User Id", "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "Client Id", "in": "query", "name": "clientId", "required": true, "type": "string" }, { "description": "Country Code", "in": "query", "name": "countryCode", "required": true, "type": "string" }, { "description": "Publisher user Id", "in": "query", "name": "publisherUserId", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RetrieveUserEligibilitiesIndirectResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40045\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_id_needed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Check User Legal Eligibility", "tags": [ "Admin User Eligibilities" ], "x-errorCodes": { "40045": "errors.net.accelbyte.platform.legal.user_id_needed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:LEGAL [READ]" } } }, "/agreement/admin/policies/countries/{countryCode}": { "get": { "description": "Retrieve all active policies based on a country.", "operationId": "retrievePolicies", "parameters": [ { "description": "Country Code", "in": "path", "name": "countryCode", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrievePolicyResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Policies by Country", "tags": [ "Policies" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } } }, "/agreement/admin/policies/versions/{policyVersionId}": { "patch": { "consumes": [ "application/json" ], "description": "Update a particular policy version.", "operationId": "oldUpdatePolicyVersion", "parameters": [ { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UpdatePolicyVersionRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UpdatePolicyVersionResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40042\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_freezed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40043\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_already_exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a Version of Policy", "tags": [ "Policy Versions" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.invalid_policy_version", "40042": "errors.net.accelbyte.platform.legal.policy_version_freezed", "40043": "errors.net.accelbyte.platform.legal.localized_policy_version_already_exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/policies/versions/{policyVersionId}/latest": { "patch": { "description": "Manually publish a version of a particular country-specific policy.", "operationId": "oldPublishPolicyVersion", "parameters": [ { "description": "Policy Version Id", "in": "path", "name": "policyVersionId", "required": true, "type": "string" }, { "default": true, "description": "Should Notify", "in": "query", "name": "shouldNotify", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "operation successful" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_version\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40046\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.default_selection_not_provided\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40030\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_not_provided\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40039\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_already_latest\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40043\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_already_publish\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Manually Publish a Version from Country-Specific Policy", "tags": [ "Policy Versions" ], "x-errorCodes": { "40030": "errors.net.accelbyte.platform.legal.localized_policy_version_not_provided", "40035": "errors.net.accelbyte.platform.legal.invalid_policy_version", "40039": "errors.net.accelbyte.platform.legal.localized_policy_version_already_latest", "40043": "errors.net.accelbyte.platform.legal.localized_policy_version_already_publish", "40046": "errors.net.accelbyte.platform.legal.default_selection_not_provided" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/policies/{policyId}": { "patch": { "consumes": [ "application/json" ], "description": "Update country-specific and country-group policy.", "operationId": "oldUpdatePolicy", "parameters": [ { "description": "Policy Id", "in": "path", "name": "policyId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UpdatePolicyRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "operation successful" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40033\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_id\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update Country-Specific Policy", "tags": [ "Policies" ], "x-errorCodes": { "40033": "errors.net.accelbyte.platform.legal.invalid_policy_id" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/policies/{policyId}/default": { "patch": { "description": "Update a policy to be the default.", "operationId": "oldSetDefaultPolicy", "parameters": [ { "description": "Policy Id", "in": "path", "name": "policyId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "operation successful" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40033\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy_id\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Set Default Policy", "tags": [ "Policies" ], "x-errorCodes": { "40033": "errors.net.accelbyte.platform.legal.invalid_policy_id" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/policies/{policyId}/versions": { "get": { "description": "Retrieve a version of a particular country specific policy. If version is not provided, the Legal Service will assume caller requesting all versions from country-specific policy.", "operationId": "oldRetrieveSinglePolicyVersion", "parameters": [ { "description": "Policy Id", "in": "path", "name": "policyId", "required": true, "type": "string" }, { "description": "Version Id", "in": "query", "name": "versionId", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrievePolicyVersionResponse" }, "type": "array" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40036\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_id_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve a Version from Country-Specific Policy", "tags": [ "Policy Versions" ], "x-errorCodes": { "40036": "errors.net.accelbyte.platform.legal.policy_version_id_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "Create a version of a particular country-specific policy.", "operationId": "oldCreatePolicyVersion", "parameters": [ { "description": "Policy Id", "in": "path", "name": "policyId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/CreatePolicyVersionRequest" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/CreatePolicyVersionResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40033\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_policy\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a Version from Country-Specific Policy", "tags": [ "Policy Versions" ], "x-errorCodes": { "40033": "errors.net.accelbyte.platform.legal.invalid_policy" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [CREATE]" } } }, "/agreement/admin/policy-types": { "get": { "description": "Retrieve all supported policy types.", "operationId": "oldRetrieveAllPolicyTypes", "parameters": [ { "description": "Limit", "format": "int32", "in": "query", "name": "limit", "required": true, "type": "integer" }, { "description": "Offset", "format": "int32", "in": "query", "name": "offset", "required": false, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrievePolicyTypeResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve All Policy Type", "tags": [ "Base Legal Policies" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } } }, "/agreement/admin/userInfo": { "delete": { "deprecated": true, "description": "Invalidate user info cache in agreement service.", "operationId": "invalidateUserInfoCache", "parameters": [ { "description": "If null or empty, will invalidate all namespaces", "in": "query", "name": "namespace", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Successful operation" } }, "security": [ { "authorization": [] } ], "summary": "Invalidate user info cache", "tags": [ "UserInfo" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [DELETE]" } }, "get": { "description": "Get user info cache last updated time per namespace.\u0026lt;br\u0026gt;The query parameter namespaces can be a list of namespace separated by comma.\u0026lt;br\u0026gt;If query parameter namespaces is empty, user info cache status for all available namespaces will be returned. ", "operationId": "getUserInfoStatus", "parameters": [ { "in": "query", "name": "namespaces", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveUserInfoCacheStatusResponse" }, "type": "array" } } }, "security": [ { "authorization": [] } ], "summary": "Get user info cache status", "tags": [ "UserInfo" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [READ]" } }, "put": { "deprecated": true, "description": "Sync user info cache in agreement service with iam service.", "operationId": "syncUserInfo", "parameters": [ { "in": "query", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation" } }, "security": [ { "authorization": [] } ], "summary": "Sync user info with iam service ", "tags": [ "UserInfo" ], "x-errorCodes": {}, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [UPDATE]" } } }, "/agreement/admin/users/{userId}/anonymization/agreements": { "delete": { "consumes": [ "application/json" ], "description": "This API will anonymize agreement record for specified user.", "operationId": "anonymizeUserAgreement", "parameters": [ { "description": "User Id", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "successful anonymize" }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40045\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_agreement_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Anonymize user's agreement record", "tags": [ "Anonymization" ], "x-errorCodes": { "40045": "errors.net.accelbyte.platform.legal.user_agreement_not_found" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:*:LEGAL [DELETE]" } } }, "/agreement/public/agreements/localized-policy-versions/preferences": { "patch": { "consumes": [ "application/json" ], "description": "Change marketing preference consent.", "operationId": "publicChangePreferenceConsent", "parameters": [ { "in": "body", "name": "body", "required": false, "schema": { "items": { "$ref": "#/definitions/AcceptAgreementRequest" }, "type": "array" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Successful operation" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40017\u003c/td\u003e\u003ctd\u003ePolicy with id : [{policyId}] is not marketing preference\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40045\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_id_needed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Accept/Revoke Marketing Preference Consent", "tags": [ "Agreement" ], "x-errorCodes": { "40017": "Policy with id : [{policyId}] is not marketing preference", "40045": "errors.net.accelbyte.platform.legal.user_id_needed" }, "x-security": { "userPermissions": "-" } } }, "/agreement/public/agreements/localized-policy-versions/{localizedPolicyVersionId}": { "post": { "description": "Accepts a legal policy version. Supply with localized version policy id to accept an agreement", "operationId": "acceptVersionedPolicy", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful anonymize" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40045\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_id_needed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_localize_policy_version_id\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Accept a Policy Version", "tags": [ "Agreement" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.invalid_localize_policy_version_id", "40045": "errors.net.accelbyte.platform.legal.user_id_needed" }, "x-security": { "userPermissions": "-" } } }, "/agreement/public/agreements/policies": { "get": { "description": "Retrieve accepted Legal Agreements.", "operationId": "retrieveAgreementsPublic", "parameters": [], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveAcceptedAgreementResponse" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40045\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_id_needed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve the accepted Legal Agreements", "tags": [ "Agreement" ], "x-errorCodes": { "40045": "errors.net.accelbyte.platform.legal.user_id_needed" }, "x-security": { "userPermissions": "-" } }, "post": { "consumes": [ "application/json" ], "description": "Accepts many legal policy versions all at once. Supply with localized version policy id to accept an agreement.", "operationId": "bulkAcceptVersionedPolicy", "parameters": [ { "in": "body", "name": "body", "required": false, "schema": { "items": { "$ref": "#/definitions/AcceptAgreementRequest" }, "type": "array" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/AcceptAgreementResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40045\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_id_needed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.invalid_localize_policy_version_id\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Bulk Accept Policy Versions", "tags": [ "Agreement" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.invalid_localize_policy_version_id", "40045": "errors.net.accelbyte.platform.legal.user_id_needed" }, "x-security": { "userPermissions": "-" } } }, "/agreement/public/agreements/policies/namespaces/{namespace}/countries/{countryCode}/clients/{clientId}/users/{userId}": { "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Accepts many legal policy versions all at once. Supply with localized version policy id, version policy id, policy id, userId, namespace, country code and client id to accept an agreement. This endpoint used by APIGateway during new user registration.", "operationId": "indirectBulkAcceptVersionedPolicyV2", "parameters": [ { "description": "Client ID", "in": "path", "name": "clientId", "required": true, "type": "string" }, { "description": "Country Code", "in": "path", "name": "countryCode", "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" }, { "in": "body", "name": "body", "required": false, "schema": { "items": { "$ref": "#/definitions/AcceptAgreementRequest" }, "type": "array" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/AcceptAgreementResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Bulk Accept Policy Versions (Indirect)", "tags": [ "Agreement" ], "x-errorCodes": {}, "x-security": { "userPermissions": "NAMESPACE:{namespace}:LEGAL [CREATE]" } } }, "/agreement/public/agreements/policies/users/{userId}": { "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Accepts many legal policy versions all at once. Supply with localized version policy id and userId to accept an agreement. This endpoint used by Authentication Service during new user registration.", "operationId": "publicIndirectBulkAcceptVersionedPolicy", "parameters": [ { "description": "User Id", "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "items": { "$ref": "#/definitions/AcceptAgreementRequest" }, "type": "array" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/AcceptAgreementResponse" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40035\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_version_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Bulk Accept Policy Versions (Indirect)", "tags": [ "Agreement" ], "x-errorCodes": { "40035": "errors.net.accelbyte.platform.legal.policy_version_not_found" }, "x-security": { "userPermissions": "-" } } }, "/agreement/public/eligibilities/namespaces/{namespace}": { "get": { "description": "Retrieve the active policies and its conformance status by user.\u0026lt;br\u0026gt;This process supports cross-namespace checking, that means if the active policy already accepted by the same user in other namespace, then it will be considered as eligible.", "operationId": "retrieveEligibilitiesPublic", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveUserEligibilitiesResponse" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40045\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_id_needed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40041\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Check User Legal Eligibility", "tags": [ "Eligibilities" ], "x-errorCodes": { "40041": "errors.net.accelbyte.platform.legal.policy_not_found", "40045": "errors.net.accelbyte.platform.legal.user_id_needed" }, "x-security": { "userPermissions": "-" } } }, "/agreement/public/eligibilities/namespaces/{namespace}/countries/{countryCode}/clients/{clientId}/users/{userId}": { "get": { "description": "Retrieve the active policies and its conformance status by user.\u0026lt;br\u0026gt;This process only supports cross-namespace checking between game namespace and publisher namespace , that means if the active policy already accepted by the same user in publisher namespace, then it will also be considered as eligible in non-publisher namespace.", "operationId": "retrieveEligibilitiesPublicIndirect", "parameters": [ { "description": "Client Id", "in": "path", "name": "clientId", "required": true, "type": "string" }, { "description": "Country Code", "in": "path", "name": "countryCode", "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": "successful operation", "schema": { "$ref": "#/definitions/RetrieveUserEligibilitiesIndirectResponse" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40045\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_id_needed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Check User Legal Eligibility", "tags": [ "Eligibilities" ], "x-errorCodes": { "40045": "errors.net.accelbyte.platform.legal.user_id_needed" }, "x-security": { "userPermissions": "-" } } }, "/agreement/public/localized-policy-versions/{localizedPolicyVersionId}": { "get": { "description": "Retrieve specific localized policy version including the policy version and base policy version where the localized policy version located.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "oldPublicRetrieveSingleLocalizedPolicyVersion", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RetrieveLocalizedPolicyVersionPublicResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40081\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_not_accessible\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40038\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "summary": "Retrieve a Localized Version", "tags": [ "Localized Policy Versions" ], "x-errorCodes": { "40038": "errors.net.accelbyte.platform.legal.localized_policy_version_not_found", "40081": "errors.net.accelbyte.platform.legal.policy_not_accessible" } } }, "/agreement/public/namespaces/{namespace}/localized-policy-versions/{localizedPolicyVersionId}": { "get": { "description": "Retrieve specific localized policy version including the policy version and base policy version where the localized policy version located.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicRetrieveSingleLocalizedPolicyVersion", "parameters": [ { "description": "Localized Policy Version Id", "in": "path", "name": "localizedPolicyVersionId", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RetrieveLocalizedPolicyVersionPublicResponse" } }, "403": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40081\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.policy_not_accessible\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40038\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.localized_policy_version_not_found\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "summary": "Retrieve a Localized Version", "tags": [ "Localized Policy Versions With Namespace" ], "x-errorCodes": { "40038": "errors.net.accelbyte.platform.legal.localized_policy_version_not_found", "40081": "errors.net.accelbyte.platform.legal.policy_not_accessible" } } }, "/agreement/public/policies/countries/list": { "get": { "description": "Retrieve List of Countries that have Active and Visible Legal Policies.", "operationId": "retrieveCountryListWithPolicies", "parameters": [], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "type": "string" }, "type": "array" } } }, "summary": "Retrieve List of Countries that have Active Legal Policies", "tags": [ "Policies" ], "x-errorCodes": {} } }, "/agreement/public/policies/countries/{countryCode}": { "get": { "description": "Retrieve all active latest policies based on a country.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Leave the policyType empty if you want to be responded with all policy type\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Fill the tags if you want to filter the responded policy by tags\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Fill the defaultOnEmpty with true if you want to be responded with default country-specific policy if your requested country is not exist\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "retrieveLatestPolicies", "parameters": [ { "description": "Country Code", "in": "path", "name": "countryCode", "required": true, "type": "string" }, { "description": "Default On Empty", "in": "query", "name": "defaultOnEmpty", "required": false, "type": "boolean", "x-omitempty": false }, { "description": "Policy Type", "enum": [ "LEGAL_DOCUMENT_TYPE", "MARKETING_PREFERENCE_TYPE" ], "in": "query", "name": "policyType", "required": false, "type": "string" }, { "description": "tags, separate multiple value by commas parameter", "in": "query", "name": "tags", "required": false, "type": "string" }, { "default": false, "in": "query", "name": "visibleOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrievePolicyPublicResponse" }, "type": "array" } } }, "summary": "Retrieve Latest Policies by Country", "tags": [ "Policies" ], "x-errorCodes": {} } }, "/agreement/public/policies/namespaces/{namespace}": { "get": { "description": "Retrieve all active latest policies based on a namespace and country. The country will be read from user token.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Leave the policyType empty if you want to be responded with all policy type\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Fill the tags if you want to filter the responded policy by tags\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Fill the defaultOnEmpty with true if you want to be responded with default country-specific policy if your requested country is not exist\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Fill the alwaysIncludeDefault with true if you want to be responded with always include default policy. If there are duplicate policies (default policies and country specific policies with same base policy) it\u0026#39;ll include policy with same country code, for example:\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Document 1 (default): Region US (default), UA\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Document 2 (default): Region US (default)\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Document 3 (default): Region US (default)\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;User: Region UA\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Query: alwaysIncludeDefault: true\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Response: Document 1 (UA), Document 2 (US), Document 3 (US)\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "retrieveLatestPoliciesPublic", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Always include default", "in": "query", "name": "alwaysIncludeDefault", "required": false, "type": "boolean", "x-omitempty": false }, { "description": "Default On Empty", "in": "query", "name": "defaultOnEmpty", "required": false, "type": "boolean", "x-omitempty": false }, { "description": "Policy Type", "enum": [ "LEGAL_DOCUMENT_TYPE", "MARKETING_PREFERENCE_TYPE" ], "in": "query", "name": "policyType", "required": false, "type": "string" }, { "description": "tags, separate multiple value by commas parameter", "in": "query", "name": "tags", "required": false, "type": "string" }, { "default": false, "in": "query", "name": "visibleOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrievePolicyPublicResponse" }, "type": "array" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eNumericErrorCode\u003c/td\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e40040\u003c/td\u003e\u003ctd\u003eerrors.net.accelbyte.platform.legal.user_has_no_country\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve Latest Policies by Namespace and Country", "tags": [ "Policies" ], "x-errorCodes": { "40040": "errors.net.accelbyte.platform.legal.user_has_no_country" }, "x-security": { "userPermissions": "-" } } }, "/agreement/public/policies/namespaces/{namespace}/countries/{countryCode}": { "get": { "description": "Retrieve all active latest policies based on a namespace and country.\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Leave the policyType empty if you want to be responded with all policy type\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Fill the tags if you want to filter the responded policy by tags\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Fill the defaultOnEmpty with true if you want to be responded with default country-specific policy if your requested country is not exist\u0026lt;/i\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Fill the alwaysIncludeDefault with true if you want to be responded with always include default policy. If there are duplicate policies (default policies and country specific policies with same base policy) it\u0026#39;ll include policy with same country code, for example:\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Document 1 (default): Region US (default), UA\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Document 2 (default): Region US (default)\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Document 3 (default): Region US (default)\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;User: Region UA\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Query: alwaysIncludeDefault: true\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Response: Document 1 (UA), Document 2 (US), Document 3 (US)\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "oldRetrieveLatestPoliciesByNamespaceAndCountryPublic", "parameters": [ { "description": "Country Code", "in": "path", "name": "countryCode", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Always include default", "in": "query", "name": "alwaysIncludeDefault", "required": false, "type": "boolean", "x-omitempty": false }, { "description": "Default On Empty", "in": "query", "name": "defaultOnEmpty", "required": false, "type": "boolean", "x-omitempty": false }, { "description": "Policy Type", "enum": [ "LEGAL_DOCUMENT_TYPE", "MARKETING_PREFERENCE_TYPE" ], "in": "query", "name": "policyType", "required": false, "type": "string" }, { "description": "tags, separate multiple value by commas parameter", "in": "query", "name": "tags", "required": false, "type": "string" }, { "default": false, "in": "query", "name": "visibleOnly", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrievePolicyPublicResponse" }, "type": "array" } } }, "summary": "Retrieve Latest Policies by Namespace and Country", "tags": [ "Policies" ], "x-errorCodes": {} } }, "/agreement/public/readiness": { "get": { "description": "Readiness status defined as at least one legal basePolicy is present and having active basePolicy.", "operationId": "checkReadiness", "parameters": [], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/LegalReadinessStatusResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Check Legal Data Readiness", "tags": [ "Utility" ], "x-errorCodes": {}, "x-security": { "userPermissions": "NAMESPACE:{namespace}:LEGAL [READ]" } } }, "/agreement/v2/public/policies/namespaces/{namespace}/countries/{countryCode}": { "get": { "description": "This API is used to list all the related doc in register page, include optional \u0026amp; mandatory (when env config APP_LEGAL_AGREEMENT_ALWAYS_INCLUDE_DEFAULT=true).\u0026lt;br\u0026gt;Other detail info: \u0026lt;ul\u0026gt;Here are the result of different cases\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Document 1, Region US (default, mandatory), UA (optional); clientID: [client_A]\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Document 2, Region US (default, optional), UA (mandatory); clientID: [client_A]\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Document 3, Region UA (default, mandatory); clientID: [client_A]\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Document 4, Region US (default, optional); clientID: [client_A]\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Document 5, Region US (default, optional); clientID: [client_B]\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Document 6, Region CA (mandatory, optional), UA (optional); clientID: [client_B]\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Query by: Region UA + client_A\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Response: Document 1 (UA, optional), Document 2 (UA, mandatory), Document 3 (UA, mandatory), Document 4 (US, optional)\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Query by: Region CA + client_A\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Response: Document 1 (US, mandatory), Document 2 (US, mandatory), Document 3 (UA, mandatory), Document 4 (US, optional)\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Query by: Region UA + client_B\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Response: Document 5 (US, optional), Document 6 (UA, optional)\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Query by: Region CN + client_B\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Response: Document 5 (US, optional), Document 6 (CA, mandatory)\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;Note: If APP_LEGAL_AGREEMENT_ALWAYS_INCLUDE_DEFAULT=false the behavior will be same with `/agreement/public/policies/namespaces/{namespace}/countries/{country_code}?defaultOnEmpty=true\u0026amp;visibleOnly=true`;Here are the result of different cases\u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;Query by: Region UA + client_A\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Response: Document 1 (UA, optional), Document 2 (UA, mandatory), Document 3 (UA, mandatory)\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Query by: Region UA + client_B\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;Response: Document 5 (US, optional)\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "retrieveLatestPoliciesByNamespaceAndCountryPublic", "parameters": [ { "description": "Country Code", "in": "path", "name": "countryCode", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "clientId, which used to login", "in": "query", "name": "clientId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RetrieveSimplePolicyPublicResponseV2" }, "type": "array" } } }, "summary": "Retrieve Latest Policies by Namespace and Country", "tags": [ "Policies With Namespace V2" ], "x-errorCodes": {} } } }, "definitions": { "AcceptAgreementRequest": { "properties": { "isAccepted": { "type": "boolean", "x-omitempty": false }, "isNeedToSendEventMarketing": { "type": "boolean", "x-omitempty": false }, "localizedPolicyVersionId": { "type": "string" }, "policyId": { "type": "string" }, "policyVersionId": { "type": "string" } }, "required": [ "isAccepted", "localizedPolicyVersionId", "policyId", "policyVersionId" ], "type": "object" }, "AcceptAgreementResponse": { "properties": { "comply": { "description": "Eligibility Status after Accept Agreement", "type": "boolean", "x-omitempty": false }, "proceed": { "description": "DEPRECATED the name is not clear, changed with comply", "type": "boolean", "x-omitempty": false } }, "required": [ "comply", "proceed" ], "type": "object" }, "CreateBasePolicyRequest": { "properties": { "affectedClientIds": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "affectedCountries": { "items": { "type": "string" }, "type": "array" }, "basePolicyName": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "description": "country type, only accept COUNTRY or COUNTRY_GROUP", "enum": [ "COUNTRY", "COUNTRY_GROUP" ], "type": "string" }, "description": { "type": "string" }, "isHidden": { "description": "active status of this policy, it will affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "isHiddenPublic": { "description": "hide the policy from public(e.g. legal website), it will NOT affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "namespace": { "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "typeId": { "type": "string" } }, "type": "object" }, "CreateBasePolicyRequestV2": { "properties": { "affectedClientIds": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "affectedCountries": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "basePolicyName": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "description": "country type, only accept COUNTRY or COUNTRY_GROUP", "enum": [ "COUNTRY", "COUNTRY_GROUP" ], "type": "string" }, "description": { "type": "string" }, "isHidden": { "description": "active status of this policy, it will affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "isHiddenPublic": { "description": "hide the policy from public(e.g. legal website), it will NOT affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "typeId": { "type": "string" } }, "type": "object" }, "CreateBasePolicyResponse": { "properties": { "affectedClientIds": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "affectedCountries": { "items": { "type": "string" }, "type": "array" }, "countryGroupName": { "type": "string" }, "countryType": { "enum": [ "COUNTRY", "COUNTRY_GROUP" ], "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "globalPolicyName": { "type": "string" }, "id": { "type": "string" }, "isHidden": { "description": "active status of this policy, it will affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "isHiddenPublic": { "description": "hide the policy from public(e.g. legal website), it will NOT affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "namespace": { "type": "string" }, "policyId": { "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "typeId": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id" ], "type": "object" }, "CreateLocalizedPolicyVersionRequest": { "properties": { "contentType": { "type": "string" }, "description": { "type": "string" }, "localeCode": { "type": "string" } }, "type": "object" }, "CreateLocalizedPolicyVersionResponse": { "properties": { "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "localeCode": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id" ], "type": "object" }, "CreatePolicyRequest": { "properties": { "countries": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "countryCode": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "description": "country type, only accept COUNTRY or COUNTRY_GROUP", "enum": [ "COUNTRY", "COUNTRY_GROUP" ], "type": "string" }, "description": { "type": "string" }, "isDefaultSelection": { "type": "boolean", "x-omitempty": false }, "isMandatory": { "type": "boolean", "x-omitempty": false }, "policyName": { "type": "string" }, "shouldNotifyOnUpdate": { "type": "boolean", "x-omitempty": false } }, "type": "object" }, "CreatePolicyResponse": { "properties": { "countries": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "countryCode": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isDefaultSelection": { "type": "boolean", "x-omitempty": false }, "isMandatory": { "type": "boolean", "x-omitempty": false }, "policyName": { "type": "string" }, "policyVersions": { "items": { "$ref": "#/definitions/PolicyVersionObject" }, "type": "array" }, "readableId": { "type": "string" }, "shouldNotifyOnUpdate": { "type": "boolean", "x-omitempty": false }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "countryCode", "id", "isDefaultSelection", "isMandatory", "policyName", "shouldNotifyOnUpdate" ], "type": "object" }, "CreatePolicyVersionRequest": { "properties": { "description": { "type": "string" }, "displayVersion": { "type": "string" }, "isCommitted": { "type": "boolean", "x-omitempty": false } }, "type": "object" }, "CreatePolicyVersionResponse": { "properties": { "basePolicyId": { "readOnly": true, "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "displayVersion": { "type": "string" }, "id": { "type": "string" }, "isCommitted": { "type": "boolean", "x-omitempty": false }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id" ], "type": "object" }, "DownloadExportedAgreementsInCSVResponse": { "properties": { "done": { "description": "Flag indicating whether the export process has been completed.", "type": "boolean", "x-omitempty": false }, "downloadUrl": { "description": "Download url for CSV file, only available once the export process has been completed.", "type": "string" } }, "required": [ "done" ], "type": "object" }, "ErrorEntity": { "properties": { "devStackTrace": { "description": "internal server error stack trace in configured environment", "type": "string" }, "errorCode": { "description": "numeric error code", "format": "int32", "type": "integer" }, "errorMessage": { "description": "error message", "type": "string" }, "messageVariables": { "additionalProperties": { "type": "string" }, "description": "message variables", "type": "object" }, "requiredPermission": { "$ref": "#/definitions/Permission" } }, "required": [ "errorCode", "errorMessage" ], "type": "object" }, "FieldValidationError": { "properties": { "errorCode": { "type": "string" }, "errorField": { "type": "string" }, "errorMessage": { "type": "string" }, "errorValue": { "type": "string" }, "messageVariables": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "InitiateExportAgreementsToCSVResponse": { "properties": { "exportId": { "description": "Export Id is a combination of request timestamp, start time and end time.", "type": "string" }, "processing": { "description": "Processing the export", "type": "boolean", "x-omitempty": false } }, "required": [ "exportId", "processing" ], "type": "object" }, "LegalReadinessStatusResponse": { "properties": { "isReady": { "type": "boolean", "x-omitempty": false } }, "type": "object" }, "LocalizedPolicyVersionObject": { "properties": { "attachmentChecksum": { "type": "string" }, "attachmentLocation": { "type": "string" }, "attachmentVersionIdentifier": { "type": "string" }, "contentType": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isDefaultSelection": { "type": "boolean", "x-omitempty": false }, "localeCode": { "type": "string" }, "publishedDate": { "format": "date-time", "type": "string", "x-nullable": true }, "status": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id", "isDefaultSelection", "localeCode" ], "type": "object" }, "PagedRetrieveUserAcceptedAgreementResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/RetrieveUserAcceptedAgreementResponse" }, "type": "array" }, "paging": { "$ref": "#/definitions/Paging" } }, "type": "object" }, "Paging": { "properties": { "next": { "type": "string" }, "previous": { "type": "string" } }, "type": "object" }, "Permission": { "properties": { "action": { "format": "int32", "type": "integer" }, "resource": { "type": "string" } }, "type": "object" }, "PolicyObject": { "properties": { "countries": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "countryCode": { "type": "string" }, "countryGroupCode": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isDefaultOpted": { "type": "boolean", "x-omitempty": false }, "isDefaultSelection": { "type": "boolean", "x-omitempty": false }, "isMandatory": { "type": "boolean", "x-omitempty": false }, "policyName": { "type": "string" }, "readableId": { "type": "string" }, "shouldNotifyOnUpdate": { "type": "boolean", "x-omitempty": false }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "countryCode", "id", "isDefaultOpted", "isDefaultSelection", "isMandatory", "policyName", "shouldNotifyOnUpdate" ], "type": "object" }, "PolicyVersionObject": { "properties": { "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "displayVersion": { "type": "string" }, "id": { "type": "string" }, "isCommitted": { "type": "boolean", "x-omitempty": false }, "isInEffect": { "type": "boolean", "x-omitempty": false }, "publishedDate": { "format": "date-time", "type": "string", "x-nullable": true }, "status": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "displayVersion", "id", "isCommitted", "isInEffect" ], "type": "object" }, "PolicyVersionWithLocalizedVersionObject": { "properties": { "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "displayVersion": { "type": "string" }, "id": { "type": "string" }, "isCommitted": { "type": "boolean", "x-omitempty": false }, "isInEffect": { "type": "boolean", "x-omitempty": false }, "localizedPolicyVersions": { "items": { "$ref": "#/definitions/LocalizedPolicyVersionObject" }, "type": "array" }, "publishedDate": { "format": "date-time", "type": "string", "x-nullable": true }, "status": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "displayVersion", "id", "isCommitted", "isInEffect" ], "type": "object" }, "RetrieveAcceptedAgreementResponse": { "properties": { "countryCode": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "displayVersion": { "type": "string" }, "id": { "type": "string" }, "isAccepted": { "type": "boolean", "x-omitempty": false }, "localizedPolicyVersion": { "$ref": "#/definitions/LocalizedPolicyVersionObject" }, "namespace": { "type": "string" }, "policyId": { "type": "string" }, "policyName": { "type": "string" }, "policyType": { "type": "string" }, "signingDate": { "format": "date-time", "type": "string", "x-nullable": true }, "tags": { "items": { "type": "string" }, "type": "array" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true }, "userId": { "type": "string" } }, "required": [ "id" ], "type": "object" }, "RetrieveBasePolicyResponse": { "properties": { "affectedClientIds": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "basePolicyName": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isHidden": { "description": "active status of this policy, it will affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "isHiddenPublic": { "description": "hide the policy from public(e.g. legal website), it will NOT affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "namespace": { "type": "string" }, "policies": { "items": { "$ref": "#/definitions/PolicyObject" }, "type": "array" }, "policyTypeId": { "readOnly": true, "type": "string" }, "policyTypeName": { "readOnly": true, "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "basePolicyName", "id", "namespace" ], "type": "object" }, "RetrieveLocalizedPolicyVersionPublicResponse": { "properties": { "attachmentChecksum": { "type": "string" }, "attachmentLocation": { "type": "string" }, "attachmentVersionIdentifier": { "type": "string" }, "basePolicyId": { "type": "string" }, "baseUrls": { "items": { "type": "string" }, "type": "array" }, "contentType": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isHidden": { "type": "boolean", "x-omitempty": false }, "localeCode": { "type": "string" }, "namespace": { "type": "string" }, "policy": { "$ref": "#/definitions/PolicyObject" }, "policyVersion": { "$ref": "#/definitions/PolicyVersionObject" }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id", "localeCode", "namespace", "policy", "policyVersion" ], "type": "object" }, "RetrieveLocalizedPolicyVersionResponse": { "properties": { "attachmentChecksum": { "type": "string" }, "attachmentLocation": { "type": "string" }, "attachmentVersionIdentifier": { "type": "string" }, "baseUrls": { "items": { "type": "string" }, "type": "array" }, "contentType": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "localeCode": { "type": "string" }, "policy": { "$ref": "#/definitions/PolicyObject" }, "policyVersion": { "$ref": "#/definitions/PolicyVersionObject" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id", "localeCode", "policyVersion" ], "type": "object" }, "RetrievePoliciesFromBasePolicyResponse": { "properties": { "activeVersion": { "type": "string" }, "countries": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "countryCode": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isActive": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "lastPublished": { "type": "string" }, "policyName": { "type": "string" }, "policyVersions": { "items": { "$ref": "#/definitions/PolicyVersionObject" }, "type": "array" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "countryCode", "id", "policyName" ], "type": "object" }, "RetrievePolicyPublicResponse": { "properties": { "basePolicyId": { "type": "string" }, "baseUrls": { "items": { "type": "string" }, "type": "array" }, "countryCode": { "type": "string" }, "countryGroupCode": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isDefaultOpted": { "type": "boolean", "x-omitempty": false }, "isDefaultSelection": { "type": "boolean", "x-omitempty": false }, "isMandatory": { "type": "boolean", "x-omitempty": false }, "namespace": { "type": "string" }, "policyName": { "type": "string" }, "policyType": { "type": "string" }, "policyVersions": { "items": { "$ref": "#/definitions/PolicyVersionWithLocalizedVersionObject" }, "type": "array" }, "readableId": { "type": "string" }, "shouldNotifyOnUpdate": { "type": "boolean", "x-omitempty": false }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "basePolicyId", "countryCode", "id", "isDefaultOpted", "isDefaultSelection", "isMandatory", "namespace", "policyName", "policyType", "shouldNotifyOnUpdate" ], "type": "object" }, "RetrievePolicyResponse": { "properties": { "countries": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "countryCode": { "type": "string" }, "countryGroupCode": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isDefaultOpted": { "type": "boolean", "x-omitempty": false }, "isDefaultSelection": { "type": "boolean", "x-omitempty": false }, "isMandatory": { "type": "boolean", "x-omitempty": false }, "policyName": { "type": "string" }, "policyVersions": { "items": { "$ref": "#/definitions/PolicyVersionObject" }, "type": "array" }, "readableId": { "type": "string" }, "shouldNotifyOnUpdate": { "type": "boolean", "x-omitempty": false }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "countryCode", "id", "isDefaultOpted", "isDefaultSelection", "isMandatory", "policyName", "shouldNotifyOnUpdate" ], "type": "object" }, "RetrievePolicyTypeResponse": { "properties": { "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isNeedDocument": { "type": "boolean", "x-omitempty": false }, "policyTypeName": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id", "isNeedDocument", "policyTypeName" ], "type": "object" }, "RetrievePolicyVersionResponse": { "properties": { "basePolicyId": { "readOnly": true, "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "displayVersion": { "type": "string" }, "id": { "type": "string" }, "isCommitted": { "type": "boolean", "x-omitempty": false }, "isInEffect": { "type": "boolean", "x-omitempty": false }, "localizedPolicyVersions": { "items": { "$ref": "#/definitions/LocalizedPolicyVersionObject" }, "type": "array" }, "policyId": { "type": "string" }, "publishedDate": { "format": "date-time", "type": "string", "x-nullable": true }, "status": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "displayVersion", "id", "isCommitted", "isInEffect" ], "type": "object" }, "RetrieveSimplePolicyPublicResponseV2": { "properties": { "basePolicyId": { "type": "string" }, "countryCode": { "type": "string" }, "countryGroupCode": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isDefaultSelection": { "type": "boolean", "x-omitempty": false }, "isMandatory": { "type": "boolean", "x-omitempty": false }, "namespace": { "type": "string" }, "policyName": { "type": "string" }, "policyType": { "type": "string" }, "policyVersions": { "items": { "$ref": "#/definitions/SimplePolicyVersionWithLocalizedVersionObject" }, "type": "array" }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "basePolicyId", "countryCode", "id", "isDefaultSelection", "isMandatory", "namespace", "policyName", "policyType" ], "type": "object" }, "RetrieveUserAcceptedAgreementResponse": { "properties": { "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "displayName": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "string" }, "isAccepted": { "type": "boolean", "x-omitempty": false }, "localizedPolicyVersion": { "$ref": "#/definitions/LocalizedPolicyVersionObject" }, "namespace": { "type": "string" }, "policyName": { "type": "string" }, "policyType": { "type": "string" }, "publisherUserId": { "type": "string" }, "signingDate": { "format": "date-time", "type": "string", "x-nullable": true }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true }, "userId": { "type": "string" }, "username": { "type": "string" } }, "required": [ "id" ], "type": "object" }, "RetrieveUserEligibilitiesIndirectResponse": { "properties": { "isComply": { "type": "boolean", "x-omitempty": false } }, "required": [ "isComply" ], "type": "object" }, "RetrieveUserEligibilitiesResponse": { "properties": { "baseUrls": { "items": { "type": "string" }, "type": "array" }, "countryCode": { "type": "string" }, "countryGroupCode": { "type": "string" }, "description": { "type": "string" }, "isAccepted": { "type": "boolean", "x-omitempty": false }, "isHiddenPublic": { "description": "hide the policy from public(e.g. legal website), it will NOT affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "isMandatory": { "type": "boolean", "x-omitempty": false }, "namespace": { "type": "string" }, "policyId": { "type": "string" }, "policyName": { "type": "string" }, "policyType": { "type": "string" }, "policyVersions": { "items": { "$ref": "#/definitions/PolicyVersionWithLocalizedVersionObject" }, "type": "array" }, "readableId": { "type": "string" } }, "required": [ "countryCode", "isAccepted", "isMandatory", "namespace", "policyId", "policyName", "policyType" ], "type": "object" }, "RetrieveUserInfoCacheStatusResponse": { "properties": { "lastUpdatedAt": { "format": "date-time", "type": "string", "x-nullable": false }, "namespace": { "type": "string" } }, "required": [ "lastUpdatedAt", "namespace" ], "type": "object" }, "SimpleLocalizedPolicyVersionObject": { "properties": { "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "isDefaultSelection": { "type": "boolean", "x-omitempty": false }, "localeCode": { "type": "string" }, "publishedDate": { "format": "date-time", "type": "string", "x-nullable": true }, "status": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id", "isDefaultSelection", "localeCode" ], "type": "object" }, "SimplePolicyVersionWithLocalizedVersionObject": { "properties": { "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "localizedPolicyVersions": { "items": { "$ref": "#/definitions/SimpleLocalizedPolicyVersionObject" }, "type": "array" }, "publishedDate": { "format": "date-time", "type": "string", "x-nullable": true }, "status": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id" ], "type": "object" }, "UpdateBasePolicyRequest": { "properties": { "affectedClientIds": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "affectedCountries": { "items": { "type": "string" }, "type": "array" }, "basePolicyName": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "description": "country type, only accept COUNTRY or COUNTRY_GROUP", "enum": [ "COUNTRY", "COUNTRY_GROUP" ], "type": "string" }, "description": { "type": "string" }, "isHidden": { "description": "active status of this policy, it will affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "isHiddenPublic": { "description": "hide the policy from public(e.g. legal website), it will NOT affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "namespace": { "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true } }, "type": "object" }, "UpdateBasePolicyRequestV2": { "properties": { "affectedClientIds": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "affectedCountries": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "basePolicyName": { "type": "string" }, "countryGroupName": { "type": "string" }, "countryType": { "description": "country type, only accept COUNTRY or COUNTRY_GROUP", "enum": [ "COUNTRY", "COUNTRY_GROUP" ], "type": "string" }, "description": { "type": "string" }, "isHidden": { "description": "active status of this policy, it will affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "isHiddenPublic": { "description": "hide the policy from public(e.g. legal website), it will NOT affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true } }, "type": "object" }, "UpdateBasePolicyResponse": { "properties": { "affectedClientIds": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "affectedCountries": { "items": { "type": "string" }, "type": "array" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "globalPolicyName": { "type": "string" }, "id": { "type": "string" }, "isHidden": { "description": "active status of this policy, it will affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "isHiddenPublic": { "description": "hide the policy from public(e.g. legal website), it will NOT affect user's eligibility status check", "type": "boolean", "x-omitempty": false }, "namespace": { "type": "string" }, "policyId": { "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "typeId": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id" ], "type": "object" }, "UpdateLocalizedPolicyVersionRequest": { "properties": { "attachmentChecksum": { "type": "string" }, "attachmentLocation": { "type": "string" }, "attachmentVersionIdentifier": { "type": "string" }, "contentType": { "type": "string" }, "description": { "type": "string" } }, "type": "object" }, "UpdateLocalizedPolicyVersionResponse": { "properties": { "attachmentChecksum": { "type": "string" }, "attachmentLocation": { "type": "string" }, "attachmentVersionIdentifier": { "type": "string" }, "contentType": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "id": { "type": "string" }, "localeCode": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id" ], "type": "object" }, "UpdatePolicyRequest": { "properties": { "countries": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "countryGroupName": { "type": "string" }, "description": { "type": "string" }, "isDefaultOpted": { "type": "boolean", "x-omitempty": false }, "isMandatory": { "type": "boolean", "x-omitempty": false }, "policyName": { "type": "string" }, "readableId": { "type": "string" }, "shouldNotifyOnUpdate": { "type": "boolean", "x-omitempty": false } }, "required": [ "isDefaultOpted", "isMandatory", "policyName", "shouldNotifyOnUpdate" ], "type": "object" }, "UpdatePolicyVersionRequest": { "properties": { "description": { "type": "string" }, "displayVersion": { "type": "string" }, "isCommitted": { "type": "boolean", "x-omitempty": false } }, "required": [ "description", "displayVersion", "isCommitted" ], "type": "object" }, "UpdatePolicyVersionResponse": { "properties": { "basePolicyId": { "readOnly": true, "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": true }, "description": { "type": "string" }, "displayVersion": { "type": "string" }, "id": { "type": "string" }, "isCommitted": { "type": "boolean", "x-omitempty": false }, "publishedDate": { "format": "date-time", "type": "string", "x-nullable": true }, "status": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": true } }, "required": [ "id" ], "type": "object" }, "UploadLocalizedPolicyVersionAttachmentResponse": { "properties": { "attachmentChecksum": { "type": "string" }, "attachmentLocation": { "type": "string" }, "attachmentUploadUrl": { "type": "string" } }, "type": "object" }, "UploadPolicyVersionAttachmentRequest": { "properties": { "contentMD5": { "type": "string" }, "contentType": { "type": "string" } }, "type": "object" }, "UserAgreementsResponse": { "description": "A DTO object for user agreements response", "properties": { "agreements": { "description": "agreement records", "items": { "$ref": "#/definitions/RetrieveAcceptedAgreementResponse" }, "type": "array" }, "userId": { "description": "user id", "type": "string" } }, "type": "object" }, "UsersAgreementsRequest": { "description": "A DTO object for retrieving agreements of multi users", "properties": { "currentPublishedOnly": { "description": "if true, the result will only include the status of current published policies, default: false", "type": "boolean", "x-omitempty": false }, "userIds": { "description": "user ids, min size: 1, max size: 100", "items": { "type": "string" }, "type": "array", "uniqueItems": true } }, "required": [ "userIds" ], "type": "object" }, "ValidationErrorEntity": { "properties": { "errorCode": { "description": "numeric error code", "format": "int32", "type": "integer" }, "errorMessage": { "description": "error message", "type": "string" }, "errors": { "items": { "$ref": "#/definitions/FieldValidationError" }, "type": "array" } }, "required": [ "errorCode", "errorMessage" ], "type": "object" } }, "x-docs": { "alias": "agreement", "host": "https://stage.accelbyte.io", "path": "/agreement/swagger.json" }, "x-version": { "buildBy": "Gradle 8.5", "buildDate": "2025-11-19T03:12:20+00:00", "buildID": "4.6.0", "buildJDK": "21.0.6 (Amazon.com Inc. 21.0.6+7-LTS)", "buildOS": "Linux amd64 5.10.245-241.978.amzn2.x86_64", "gitBranchName": "release-candidate", "gitHash": "9f4799f639", "gitTag": "4.6.0", "name": "justice-legal-service", "realm": "staging", "version": "4.6.0", "version-roles-seeding": "0.0.3" } }