{
   "host":"localhost:8080",
   "basePath":"/calTracking",
   "tags":[
      {
         "name":"food-management-api-impl",
         "description":"Food Management Api Impl"
      },
      {
         "name":"calorie-tracking-api-impl",
         "description":"Calorie Tracking Api Impl"
      },
      {
         "name":"basic-error-controller",
         "description":"Basic Error Controller"
      }
   ],
   "paths":{
      "/admin/addFood":{
         "post":{
            "tags":[
               "food-management-api-impl"
            ],
            "summary":"Add a new Food with details",
            "description":"This is a public API with admin right",
            "operationId":"addFoodUsingPOST",
            "consumes":[
               "application/json"
            ],
            "produces":[
               "application/json"
            ],
            "parameters":[
               {
                  "name":"Consumer-Key",
                  "in":"header",
                  "description":"Consumer-Key",
                  "required":false,
                  "type":"string"
               },
               {
                  "in":"body",
                  "name":"food",
                  "description":"food",
                  "required":true,
                  "schema":{
                     "$ref":"#/definitions/Food"
                  }
               }
            ],
            "responses":{
               "200":{
                  "description":"OK",
                  "schema":{
                     "$ref":"#/definitions/Response"
                  }
               },
               "201":{
                  "description":"A new food has been added successfully",
                  "schema":{
                     "$ref":"#/definitions/Response"
                  }
               },
               "401":{
                  "description":"Invalid Consumer Key"
               },
               "403":{
                  "description":"Forbidden"
               },
               "404":{
                  "description":"Not Found"
               }
            }
         }
      },
      "/admin/removeFood/{id}":{
         "delete":{
            "tags":[
               "food-management-api-impl"
            ],
            "summary":"Remove an existing Food",
            "description":"This is a public API with admin right",
            "operationId":"removeFoodUsingDELETE",
            "consumes":[
               "application/json"
            ],
            "produces":[
               "*/*"
            ],
            "parameters":[
               {
                  "name":"Consumer-Key",
                  "in":"header",
                  "description":"Consumer-Key",
                  "required":false,
                  "type":"string"
               },
               {
                  "name":"id",
                  "in":"path",
                  "description":"id",
                  "required":true,
                  "type":"integer",
                  "format":"int64"
               }
            ],
            "responses":{
               "200":{
                  "description":"OK",
                  "schema":{
                     "$ref":"#/definitions/Response"
                  }
               },
               "204":{
                  "description":"The food has been removed successfully",
                  "schema":{
                     "$ref":"#/definitions/Response"
                  }
               },
               "401":{
                  "description":"Invalid Consumer Key"
               },
               "403":{
                  "description":"Forbidden"
               },
               "404":{
                  "description":"The Food does not exist"
               }
            }
         }
      },
      "/public/getFoods":{
         "get":{
            "tags":[
               "food-management-api-impl"
            ],
            "summary":"Return all Foods with details",
            "description":"This is a public API",
            "operationId":"getFoodsUsingGET_1",
            "consumes":[
               "application/json"
            ],
            "produces":[
               "application/json"
            ],
            "responses":{
               "200":{
                  "description":"OK",
                  "schema":{
                     "type":"array",
                     "items":{
                        "type":"object"
                     }
                  }
               },
               "401":{
                  "description":"Unauthorized"
               },
               "403":{
                  "description":"Forbidden"
               },
               "404":{
                  "description":"Not Found"
               }
            }
         }
      },
      "/public/getFoods/{caloriesMin}/{caloriesMax}":{
         "get":{
            "tags":[
               "food-management-api-impl"
            ],
            "summary":"Return all Foods with details by calories range",
            "description":"This is a public API",
            "operationId":"getFoodsUsingGET",
            "consumes":[
               "application/json"
            ],
            "produces":[
               "application/json"
            ],
            "parameters":[
               {
                  "name":"caloriesMin",
                  "in":"path",
                  "description":"caloriesMin",
                  "required":true,
                  "type":"integer",
                  "format":"int32"
               },
               {
                  "name":"caloriesMax",
                  "in":"path",
                  "description":"caloriesMax",
                  "required":true,
                  "type":"integer",
                  "format":"int32"
               }
            ],
            "responses":{
               "200":{
                  "description":"Success",
                  "schema":{
                     "type":"array",
                     "items":{
                        "type":"object"
                     }
                  }
               },
               "401":{
                  "description":"Unauthorized"
               },
               "403":{
                  "description":"Forbidden"
               },
               "404":{
                  "description":"Not found any food by calories range"
               }
            }
         }
      },
      "/public/trackCalorie":{
         "post":{
            "tags":[
               "calorie-tracking-api-impl"
            ],
            "summary":"Return all Activities of the user. It also can return Activities of the user on a specific date.",
            "description":"This is a public API",
            "operationId":"viewCalorieUsingPOST",
            "consumes":[
               "application/json"
            ],
            "produces":[
               "application/json"
            ],
            "parameters":[
               {
                  "in":"body",
                  "name":"trackCalorieRequest",
                  "description":"trackCalorieRequest",
                  "required":true,
                  "schema":{
                     "$ref":"#/definitions/CalorieViewTrackingRequest"
                  }
               }
            ],
            "responses":{
               "200":{
                  "description":"OK",
                  "schema":{
                     "type":"array",
                     "items":{
                        "type":"object"
                     }
                  }
               },
               "201":{
                  "description":"Created"
               },
               "401":{
                  "description":"Unauthorized"
               },
               "403":{
                  "description":"Forbidden"
               },
               "404":{
                  "description":"Not Found"
               }
            }
         },
         "put":{
            "tags":[
               "calorie-tracking-api-impl"
            ],
            "summary":"Add an activity of the user on the current date as default. It also can be on a specific date.",
            "description":"This is a public API",
            "operationId":"addCalorieUsingPUT",
            "consumes":[
               "application/json"
            ],
            "produces":[
               "application/json"
            ],
            "parameters":[
               {
                  "in":"body",
                  "name":"trackCalorieRequest",
                  "description":"trackCalorieRequest",
                  "required":true,
                  "schema":{
                     "$ref":"#/definitions/CalorieTrackingRequest"
                  }
               }
            ],
            "responses":{
               "200":{
                  "description":"OK",
                  "schema":{
                     "type":"string"
                  }
               },
               "201":{
                  "description":"Created"
               },
               "401":{
                  "description":"Unauthorized"
               },
               "403":{
                  "description":"Forbidden"
               },
               "404":{
                  "description":"Not Found"
               }
            }
         },
         "delete":{
            "tags":[
               "calorie-tracking-api-impl"
            ],
            "summary":"Update (not Delete) an activity of the user on the current date as default. It also can be on a specific date.",
            "description":"This is a public API",
            "operationId":"removeCalorieUsingDELETE",
            "consumes":[
               "application/json"
            ],
            "produces":[
               "application/json"
            ],
            "parameters":[
               {
                  "in":"body",
                  "name":"trackCalorieRequest",
                  "description":"trackCalorieRequest",
                  "required":true,
                  "schema":{
                     "$ref":"#/definitions/CalorieTrackingRequest"
                  }
               }
            ],
            "responses":{
               "200":{
                  "description":"OK",
                  "schema":{
                     "type":"string"
                  }
               },
               "204":{
                  "description":"No Content"
               },
               "401":{
                  "description":"Unauthorized"
               },
               "403":{
                  "description":"Forbidden"
               }
            }
         }
      }
   }
}