diff --git a/server/app/apis/competitions.py b/server/app/apis/competitions.py
index db2ca68a44b9d8c88ee0abbf0d4be98c8dc1684d..a18ed85ed92897f016fa44db4f69281b5d749526 100644
--- a/server/app/apis/competitions.py
+++ b/server/app/apis/competitions.py
@@ -61,3 +61,15 @@ class CompetitionSearch(Resource):
         args = competition_search_parser.parse_args(strict=True)
         items, total = dbc.search.competition(**args)
         return list_response(list_schema.dump(items), total)
+
+
+@api.route("/<CID>/copy")
+@api.param("CID")
+class SlidesOrder(Resource):
+    @check_jwt(editor=True)
+    def post(self, CID):
+        item_competition = dbc.get.competition(CID)
+
+        item_competition_copy = dbc.copy.competition(item_competition)
+
+        return item_response(schema.dump(item_competition_copy))
diff --git a/server/app/apis/slides.py b/server/app/apis/slides.py
index 3d9ce6fedec13dc204edf995720cce1bff9bef25..3c25f901ba48c86eac2c421da1bd3e659f24350a 100644
--- a/server/app/apis/slides.py
+++ b/server/app/apis/slides.py
@@ -89,7 +89,7 @@ class SlidesOrder(Resource):
 @api.param("CID,SOrder")
 class SlidesOrder(Resource):
     @check_jwt(editor=True)
-    def put(self, CID, SOrder):
+    def post(self, CID, SOrder):
         item_slide = dbc.get.slide(CID, SOrder)
 
         item_slide_copy = dbc.copy.slide(item_slide)
diff --git a/server/tests/test_app.py b/server/tests/test_app.py
index aa1758f9822bcc378220626fac30d854ae23b3f7..cc50d4fd857082671158a3a4467d8adbb7e9914f 100644
--- a/server/tests/test_app.py
+++ b/server/tests/test_app.py
@@ -98,6 +98,16 @@ def test_competition_api(client):
     response, body = delete(client, f"/api/competitions/{competition_id}", headers=headers)
     assert response.status_code == codes.OK
 
+    # Get competition
+    competition_id = 2
+    response, body = get(client, f"/api/competitions/{competition_id}", headers=headers)
+    assert response.status_code == codes.OK
+
+    # Copies competition
+    for _ in range(10):
+        response, _ = post(client, f"/api/competitions/{competition_id}/copy", headers=headers)
+        assert response.status_code == codes.OK
+
 
 def test_auth_and_user_api(client):
     add_default_values()
@@ -303,7 +313,7 @@ def test_slide_api(client):
 
     # Copies slide
     for _ in range(10):
-        response, _ = put(client, f"/api/competitions/{CID}/slides/{slide_order}/copy", headers=headers)
+        response, _ = post(client, f"/api/competitions/{CID}/slides/{slide_order}/copy", headers=headers)
         assert response.status_code == codes.OK