diff --git a/spec.json b/spec.json
index 6dc6c6b15a1e598c69d554aa2b7cd9f12e07c8c3..a86e9275db55936df12b800a4318eea02621ff20 100644
--- a/spec.json
+++ b/spec.json
@@ -867,8 +867,8 @@
               }
             }
           },
-          "404": {
-            "description": "User not found",
+          "401": {
+            "description": "Invalid credentials",
             "content": {
               "application/json": {
                 "schema": {
@@ -877,8 +877,8 @@
               }
             }
           },
-          "401": {
-            "description": "Invalid credentials",
+          "404": {
+            "description": "User not found",
             "content": {
               "application/json": {
                 "schema": {
@@ -1020,6 +1020,37 @@
         }
       }
     },
+    "/api/goals/challenge/{id}": {
+      "patch": {
+        "tags": [
+          "Goal"
+        ],
+        "operationId": "regenerateChallenge",
+        "parameters": [
+          {
+            "name": "id",
+            "in": "path",
+            "required": true,
+            "schema": {
+              "type": "integer",
+              "format": "int64"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "OK",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ChallengeDTO"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
     "/redirect": {
       "get": {
         "tags": [
@@ -1546,13 +1577,49 @@
       }
     },
     "/api/item/inventory": {
+      "get": {
+        "tags": [
+          "Item"
+        ],
+        "summary": "Get the active user's inventory items",
+        "description": "Retrieves a list of all items currently in the inventory of the active user.",
+        "operationId": "getInventory",
+        "responses": {
+          "200": {
+            "description": "List of inventory items fetched successfully",
+            "content": {
+              "*/*": {
+                "schema": {
+                  "type": "array",
+                  "items": {
+                    "$ref": "#/components/schemas/InventoryDTO"
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/item/inventory/{userId}": {
       "get": {
         "tags": [
           "Item"
         ],
         "summary": "Get user inventory items",
         "description": "Retrieves a list of all items currently in the inventory of the user.",
-        "operationId": "getInventory",
+        "operationId": "getInventoryByUserId",
+        "parameters": [
+          {
+            "name": "userId",
+            "in": "path",
+            "required": true,
+            "schema": {
+              "type": "integer",
+              "format": "int64"
+            }
+          }
+        ],
         "responses": {
           "200": {
             "description": "List of inventory items fetched successfully",
@@ -1624,7 +1691,7 @@
         "parameters": [
           {
             "name": "id",
-            "in": "query",
+            "in": "path",
             "required": true,
             "schema": {
               "type": "integer",
@@ -2020,6 +2087,31 @@
       }
     },
     "/api/badge/unlocked": {
+      "get": {
+        "tags": [
+          "Badge"
+        ],
+        "summary": "Get the list of badges",
+        "description": "Get all badges unlocked by the user",
+        "operationId": "getBadgesUnlockedByActiveUser",
+        "responses": {
+          "200": {
+            "description": "Successfully got badges",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "array",
+                  "items": {
+                    "$ref": "#/components/schemas/BadgeDTO"
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/badge/unlocked/{userId}": {
       "get": {
         "tags": [
           "Badge"
@@ -2027,6 +2119,17 @@
         "summary": "Get the list of badges",
         "description": "Get all badges unlocked by the user",
         "operationId": "getBadgesUnlockedByUser",
+        "parameters": [
+          {
+            "name": "userId",
+            "in": "path",
+            "required": true,
+            "schema": {
+              "type": "integer",
+              "format": "int64"
+            }
+          }
+        ],
         "responses": {
           "200": {
             "description": "Successfully got badges",
@@ -2051,7 +2154,7 @@
         ],
         "summary": "Get the list of badges",
         "description": "Get all badges not unlocked by the user",
-        "operationId": "getBadgesNotUnlockedByUser",
+        "operationId": "getBadgesNotUnlockedByActiveUser",
         "responses": {
           "200": {
             "description": "Successfully got badges",
@@ -2296,6 +2399,9 @@
             "type": "integer",
             "format": "int64"
           },
+          "templateName": {
+            "type": "string"
+          },
           "text": {
             "type": "string"
           },
diff --git a/src/api/services/BadgeService.ts b/src/api/services/BadgeService.ts
index f014b589ece802008c9e9da2669308001665c046..4c4bee2bdc45ba6160400b1d111085fe557cca77 100644
--- a/src/api/services/BadgeService.ts
+++ b/src/api/services/BadgeService.ts
@@ -59,19 +59,38 @@ export class BadgeService {
      * @returns BadgeDTO Successfully got badges
      * @throws ApiError
      */
-    public static getBadgesUnlockedByUser(): CancelablePromise<Array<BadgeDTO>> {
+    public static getBadgesUnlockedByActiveUser(): CancelablePromise<Array<BadgeDTO>> {
         return __request(OpenAPI, {
             method: 'GET',
             url: '/api/badge/unlocked',
         });
     }
+    /**
+     * Get the list of badges
+     * Get all badges unlocked by the user
+     * @returns BadgeDTO Successfully got badges
+     * @throws ApiError
+     */
+    public static getBadgesUnlockedByUser({
+        userId,
+    }: {
+        userId: number,
+    }): CancelablePromise<Array<BadgeDTO>> {
+        return __request(OpenAPI, {
+            method: 'GET',
+            url: '/api/badge/unlocked/{userId}',
+            path: {
+                'userId': userId,
+            },
+        });
+    }
     /**
      * Get the list of badges
      * Get all badges not unlocked by the user
      * @returns BadgeDTO Successfully got badges
      * @throws ApiError
      */
-    public static getBadgesNotUnlockedByUser(): CancelablePromise<Array<BadgeDTO>> {
+    public static getBadgesNotUnlockedByActiveUser(): CancelablePromise<Array<BadgeDTO>> {
         return __request(OpenAPI, {
             method: 'GET',
             url: '/api/badge/locked',
diff --git a/src/api/services/GoalService.ts b/src/api/services/GoalService.ts
index bb0e011a19f29bf43f333704d9dbe22798a4645b..d679829c9813d1b022a7c5cca1431450d40a112c 100644
--- a/src/api/services/GoalService.ts
+++ b/src/api/services/GoalService.ts
@@ -108,7 +108,7 @@ export class GoalService {
         return __request(OpenAPI, {
             method: 'GET',
             url: '/api/goals/{id}',
-            query: {
+            path: {
                 'id': id,
             },
         });
diff --git a/src/api/services/ItemService.ts b/src/api/services/ItemService.ts
index ae2a3a8997ee79ac0fd22e289c153666a79b7396..6328a34f5b155f14aeb785ddc1f7e568271fcc0a 100644
--- a/src/api/services/ItemService.ts
+++ b/src/api/services/ItemService.ts
@@ -43,8 +43,8 @@ export class ItemService {
         });
     }
     /**
-     * Get user inventory items
-     * Retrieves a list of all items currently in the inventory of the user.
+     * Get the active user's inventory items
+     * Retrieves a list of all items currently in the inventory of the active user.
      * @returns InventoryDTO List of inventory items fetched successfully
      * @throws ApiError
      */
@@ -54,4 +54,23 @@ export class ItemService {
             url: '/api/item/inventory',
         });
     }
+    /**
+     * Get user inventory items
+     * Retrieves a list of all items currently in the inventory of the user.
+     * @returns InventoryDTO List of inventory items fetched successfully
+     * @throws ApiError
+     */
+    public static getInventoryByUserId({
+        userId,
+    }: {
+        userId: number,
+    }): CancelablePromise<Array<InventoryDTO>> {
+        return __request(OpenAPI, {
+            method: 'GET',
+            url: '/api/item/inventory/{userId}',
+            path: {
+                'userId': userId,
+            },
+        });
+    }
 }