diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java
index 20b09be..c34baf0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java
@@ -81,7 +81,7 @@
             @Override
             protected void configure() {
               get(PROJECT_KIND, "reviewers").to(GetReviewers.class);
-              put(PROJECT_KIND, "reviewers").to(PutReviewers.class);
+              post(PROJECT_KIND, "reviewers").to(PostReviewers.class);
             }
           });
     }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PostReviewers.java
similarity index 96%
rename from src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
rename to src/main/java/com/googlesource/gerrit/plugins/reviewers/PostReviewers.java
index 58ae003..c65e406 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PostReviewers.java
@@ -44,7 +44,7 @@
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 import com.google.inject.Singleton;
-import com.googlesource.gerrit.plugins.reviewers.PutReviewers.Input;
+import com.googlesource.gerrit.plugins.reviewers.PostReviewers.Input;
 import com.googlesource.gerrit.plugins.reviewers.config.FiltersFactory;
 import com.googlesource.gerrit.plugins.reviewers.config.ForProject;
 import java.io.IOException;
@@ -53,9 +53,9 @@
 import org.eclipse.jgit.errors.ConfigInvalidException;
 import org.eclipse.jgit.errors.RepositoryNotFoundException;
 
-/** PUT REST end-point that removes or adds a reviewer to a {@link ReviewerFilter}. */
+/** POST REST end-point that removes or adds a reviewer to a {@link ReviewerFilter}. */
 @Singleton
-class PutReviewers implements RestModifyView<ProjectResource, Input> {
+class PostReviewers implements RestModifyView<ProjectResource, Input> {
   private static final FluentLogger logger = FluentLogger.forEnclosingClass();
 
   protected static class Input {
@@ -80,7 +80,7 @@
   private final PermissionBackend permissionBackend;
 
   @Inject
-  PutReviewers(
+  PostReviewers(
       @PluginName String pluginName,
       FiltersFactory filters,
       ForProject.Factory forProjectFactory,
diff --git a/src/main/resources/Documentation/rest-api.md b/src/main/resources/Documentation/rest-api.md
index 957318f..683ed46 100644
--- a/src/main/resources/Documentation/rest-api.md
+++ b/src/main/resources/Documentation/rest-api.md
@@ -52,7 +52,7 @@
 ```
 
 ### <a id="change-reviewers"> Change Reviewers
-_PUT /projects/project_name/@PLUGIN@_
+_POST /projects/project_name/@PLUGIN@_
 
 Changes the default reviewers for the specified project.
 
@@ -65,7 +65,7 @@
 #### Request
 
 ```
-  PUT /projects/myproject/@PLUGIN@ HTTP/1.0
+  POST /projects/myproject/@PLUGIN@ HTTP/1.0
   Content-Type: application/json;charset=UTF-8
   {
     "action": "ADD",
diff --git a/web/rv-filter-section.ts b/web/rv-filter-section.ts
index a062de9..4162df2 100644
--- a/web/rv-filter-section.ts
+++ b/web/rv-filter-section.ts
@@ -204,13 +204,13 @@
       this.editingReviewer = false;
     } else {
       // The reviewer was not in edit mode, but DELETE was clicked.
-      this.putReviewer(reviewer, Action.REMOVE, type);
+      this.postReviewer(reviewer, Action.REMOVE, type);
     }
   }
 
   private handleReviewerAdded(e: CustomEvent<ReviewerAddedEventDetail>) {
     this.editingReviewer = false;
-    this.putReviewer(e.detail.reviewer, Action.ADD, e.detail.type).catch(
+    this.postReviewer(e.detail.reviewer, Action.ADD, e.detail.type).catch(
       err => {
         fire(this, 'show-alert', {message: err});
         throw err;
@@ -218,11 +218,11 @@
     );
   }
 
-  private putReviewer(reviewer: string, action: Action, type: Type) {
+  private postReviewer(reviewer: string, action: Action, type: Type) {
     if (this.filter === '') throw new Error('empty filter');
     if (reviewer === '') throw new Error('empty reviewer');
     return this.pluginRestApi
-      .put<Section[]>(this.reviewersUrl, {
+      .post<Section[]>(this.reviewersUrl, {
         action,
         reviewer,
         type,
