diff --git a/doc/api/merge_request_approvals.md b/doc/api/merge_request_approvals.md
index 1d99c3239464c5809d526be5b6596892fa905e1b..f32a5eebaeb815f4f7c19d1714e845b91f19bf71 100644
--- a/doc/api/merge_request_approvals.md
+++ b/doc/api/merge_request_approvals.md
@@ -33,6 +33,7 @@ GET /projects/:id/approvals
 {
   "approvals_before_merge": 2,
   "reset_approvals_on_push": true,
+  "selective_code_owner_removals": false,
   "disable_overriding_approvers_per_merge_request": false,
   "merge_requests_author_approval": true,
   "merge_requests_disable_committers_approval": false,
@@ -57,16 +58,18 @@ POST /projects/:id/approvals
 | ------------------------------------------------ | ------- | -------- | --------------------------------------------------------------------------------------------------- |
 | `id`                                             | integer or string | yes      | The ID or [URL-encoded path of a project](index.md#namespaced-path-encoding)  |
 | `approvals_before_merge`                         | integer | no       | How many approvals are required before an MR can be merged. Deprecated in 12.0 in favor of Approval Rules API. |
-| `reset_approvals_on_push`                        | boolean | no       | Reset approvals on a new push                                                                       |
 | `disable_overriding_approvers_per_merge_request` | boolean | no       | Allow or prevent overriding approvers per MR                                                          |
 | `merge_requests_author_approval`                 | boolean | no       | Allow or prevent authors from self approving merge requests; `true` means authors can self approve |
 | `merge_requests_disable_committers_approval`     | boolean | no       | Allow or prevent committers from self approving merge requests                                        |
 | `require_password_to_approve`                    | boolean | no       | Require approver to enter a password to authenticate before adding the approval         |
+| `reset_approvals_on_push`                        | boolean | no       | Reset approvals on a new push.                                                                       |
+| `selective_code_owner_removals`                  | boolean | no       | Reset approvals from Code Owners if their files changed. Can be enabled only if `reset_approvals_on_push` is disabled. |
 
 ```json
 {
   "approvals_before_merge": 2,
   "reset_approvals_on_push": true,
+  "selective_code_owner_removals": false,
   "disable_overriding_approvers_per_merge_request": false,
   "merge_requests_author_approval": false,
   "merge_requests_disable_committers_approval": false,
diff --git a/ee/lib/api/merge_request_approval_settings.rb b/ee/lib/api/merge_request_approval_settings.rb
index 08d31c838c66d0fffdbe2468c0550ee76dfba12a..f953652315c82d54ece601745513cb88c00ae07a 100644
--- a/ee/lib/api/merge_request_approval_settings.rb
+++ b/ee/lib/api/merge_request_approval_settings.rb
@@ -15,7 +15,7 @@ class MergeRequestApprovalSettings < ::API::Base
         optional :allow_overrides_to_approver_list_per_merge_request,
                  type: Boolean, desc: 'Allow overrides to approver list per merge request', allow_blank: false
         optional :retain_approvals_on_push, type: Boolean, desc: 'Retain approval count on a new push', allow_blank: false
-        optional :selective_code_owner_removals, type: Boolean, desc: 'Retain approvals on rules unaffected by a new push', allow_blank: false
+        optional :selective_code_owner_removals, type: Boolean, desc: 'Reset approvals from Code Owners if their files changed', allow_blank: false
         optional :require_password_to_approve,
                  type: Boolean, desc: 'Require approver to authenticate before approving', allow_blank: false
 
diff --git a/ee/lib/api/project_approvals.rb b/ee/lib/api/project_approvals.rb
index 64184b2d62125b820cc1f4682f2fe83d3ee0b214..4eb63e4022e19a2889772402d56b0ddd3c9c7e88 100644
--- a/ee/lib/api/project_approvals.rb
+++ b/ee/lib/api/project_approvals.rb
@@ -49,7 +49,7 @@ def extract_project_settings(project_params)
         params do
           optional :approvals_before_merge, type: Integer, desc: 'The amount of approvals required before an MR can be merged'
           optional :reset_approvals_on_push, type: Boolean, desc: 'Should the approval count be reset on a new push'
-          optional :selective_code_owner_removals, type: Boolean, desc: 'Retain approvals on rules unaffected by a new push'
+          optional :selective_code_owner_removals, type: Boolean, desc: 'Reset approvals from Code Owners if their files changed'
           optional :disable_overriding_approvers_per_merge_request, type: Boolean, desc: 'Should MRs be able to override approvers and approval count'
           optional :merge_requests_author_approval, type: Boolean, desc: 'Should merge request authors be able to self approve merge requests; `true` means authors cannot self approve'
           optional :merge_requests_disable_committers_approval, type: Boolean, desc: 'Should committers be able to self approve merge requests'