diff --git a/paths/steps/add.yml b/paths/steps/add.yml
index b8306531284a5680a0e94edff5369c44d2d799c4..5eb04e2c242213f8b4073246a60383981d78e33b 100644
--- a/paths/steps/add.yml
+++ b/paths/steps/add.yml
@@ -4,6 +4,9 @@ summary: add step
 description: add a step for a specific analysis
 operationId: addSteps
 x-eov-operation-handler: steps
+security: 
+  - appAuth: []
+    userAuth: []
 requestBody:
   content:
     application/json:
diff --git a/paths/steps/delete.yml b/paths/steps/delete.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2afdd58b5ffec9a4b0e35e7e82bbc7848bce6ffe
--- /dev/null
+++ b/paths/steps/delete.yml
@@ -0,0 +1,25 @@
+tags:
+  - Steps
+summary: Remove a step
+description: delete a Step in an analysis
+operationId: delStep
+x-eov-operation-handler: steps
+security: 
+  - appAuth: []
+    userAuth: []
+parameters:
+  - name: id
+    in: query
+    description: the id for the Step
+    required: false
+    schema:
+      type: integer
+responses:
+  200:
+    description: successful operation
+    content:
+      application/json:
+        schema:
+          $ref: ../../schemas/steps/StepResponse.yml
+  404:
+    $ref: ../../responses/notFound.yml
\ No newline at end of file
diff --git a/paths/steps/get.yml b/paths/steps/get.yml
index 086ff157a68871ab9f0fd00a65ef8259f937968a..23fe17ea633eea42994ae3b20844f245bb80100a 100644
--- a/paths/steps/get.yml
+++ b/paths/steps/get.yml
@@ -4,6 +4,9 @@ summary: Get specific step of an analysis
 operationId: getSteps
 x-eov-operation-handler: steps
 description: Get a specific step of an analysis
+security: 
+  - appAuth: []
+    userAuth: []
 parameters:
   - name: id
     in: query
diff --git a/paths/steps/steps.yml b/paths/steps/steps.yml
index 0eb3a128870beb7d2ac9d671a46f5f86fd6ab96b..5b3753304d24360ea79c150145d0fc2851c0d500 100644
--- a/paths/steps/steps.yml
+++ b/paths/steps/steps.yml
@@ -2,4 +2,10 @@ get:
   $ref: get.yml
 
 post:
-  $ref: add.yml
\ No newline at end of file
+  $ref: add.yml
+
+delete:
+  $ref: delete.yml
+
+patch:
+  $ref: update.yml
\ No newline at end of file
diff --git a/paths/steps/update.yml b/paths/steps/update.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5c329a6d1d053a92b42459df49650b57fb347447
--- /dev/null
+++ b/paths/steps/update.yml
@@ -0,0 +1,25 @@
+tags:
+  - Steps
+summary: update Step
+description: update a step for a specific analysis
+operationId: updateSteps
+x-eov-operation-handler: steps
+security: 
+  - appAuth: []
+    userAuth: []
+requestBody:
+  content:
+    application/json:
+      schema:
+        type: object
+        items:
+          $ref: '../../schemas/steps/StepUpdate.yml'
+responses:
+  200:
+    description: success
+    content:
+      application/json:
+        schema:
+          $ref: ../../schemas/steps/StepResponse.yml
+  404:
+    $ref: ../../responses/notFound.yml
\ No newline at end of file
diff --git a/schemas/steps/StepUpdate.yml b/schemas/steps/StepUpdate.yml
new file mode 100644
index 0000000000000000000000000000000000000000..72f6b51a83f707f64106604987a9652799f16384
--- /dev/null
+++ b/schemas/steps/StepUpdate.yml
@@ -0,0 +1,16 @@
+type: object
+description: "Update object for steps"
+properties:
+  id:
+    description: "id of the step in the MetExplore database"
+    type: integer
+    format: int64
+    example: 10
+  column:
+    description: "Column name to update"
+    type: string
+    example: "Name"
+  value:
+    description: "New value for the column"
+    type: string
+    example: "Glutamate"
\ No newline at end of file