{"openapi":"3.1.0","info":{"title":"SuperBoldok","description":"Фитнес-трекер: питание, тренировки, анализы, фото, замеры.","version":"0.1.0"},"servers":[{"url":"https://kapitan-orgazm.ru","description":"public tunnel"},{"url":"http://127.0.0.1:8765","description":"local"}],"paths":{"/health":{"get":{"tags":["meta"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Get"}}}}}}},"/meals":{"post":{"tags":["meals"],"summary":"Create","operationId":"create_meals_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MealBase"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Meal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["meals"],"summary":"List Items","operationId":"list_items_meals_get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Meal"},"title":"Response List Items Meals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/meals/{item_id}":{"get":{"tags":["meals"],"summary":"Get Item","operationId":"get_item_meals__item_id__get","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Meal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["meals"],"summary":"Update Item","operationId":"update_item_meals__item_id__patch","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Patch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Meal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["meals"],"summary":"Delete Item","operationId":"delete_item_meals__item_id__delete","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workouts":{"post":{"tags":["workouts"],"summary":"Create","operationId":"create_workouts_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkoutBase"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workout"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["workouts"],"summary":"List Items","operationId":"list_items_workouts_get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Workout"},"title":"Response List Items Workouts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workouts/{item_id}":{"get":{"tags":["workouts"],"summary":"Get Item","operationId":"get_item_workouts__item_id__get","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workout"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["workouts"],"summary":"Update Item","operationId":"update_item_workouts__item_id__patch","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Patch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workout"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["workouts"],"summary":"Delete Item","operationId":"delete_item_workouts__item_id__delete","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/labs":{"post":{"tags":["labs"],"summary":"Create","operationId":"create_labs_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabResultBase"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["labs"],"summary":"List Items","operationId":"list_items_labs_get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LabResult"},"title":"Response List Items Labs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/labs/{item_id}":{"get":{"tags":["labs"],"summary":"Get Item","operationId":"get_item_labs__item_id__get","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["labs"],"summary":"Update Item","operationId":"update_item_labs__item_id__patch","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Patch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["labs"],"summary":"Delete Item","operationId":"delete_item_labs__item_id__delete","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/photos":{"post":{"tags":["photos"],"summary":"Create","operationId":"create_photos_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoBase"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Photo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["photos"],"summary":"List Items","operationId":"list_items_photos_get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Photo"},"title":"Response List Items Photos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/photos/{item_id}":{"get":{"tags":["photos"],"summary":"Get Item","operationId":"get_item_photos__item_id__get","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Photo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["photos"],"summary":"Update Item","operationId":"update_item_photos__item_id__patch","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Patch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Photo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["photos"],"summary":"Delete Item","operationId":"delete_item_photos__item_id__delete","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/measurements":{"post":{"tags":["measurements"],"summary":"Create","operationId":"create_measurements_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeasurementBase"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Measurement"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["measurements"],"summary":"List Items","operationId":"list_items_measurements_get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Measurement"},"title":"Response List Items Measurements Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/measurements/{item_id}":{"get":{"tags":["measurements"],"summary":"Get Item","operationId":"get_item_measurements__item_id__get","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Measurement"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["measurements"],"summary":"Update Item","operationId":"update_item_measurements__item_id__patch","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Patch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Measurement"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["measurements"],"summary":"Delete Item","operationId":"delete_item_measurements__item_id__delete","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bearer <token>","title":"Authorization"},"description":"Bearer <token>"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LabResult":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"marker":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Marker","description":"напр. 'витамин D' или 'гемоглобин'"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"ref_low":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ref Low"},"ref_high":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ref High"},"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"}},"type":"object","required":["user_id"],"title":"LabResult"},"LabResultBase":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"marker":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Marker","description":"напр. 'витамин D' или 'гемоглобин'"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"ref_low":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ref Low"},"ref_high":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ref High"}},"type":"object","required":["user_id"],"title":"LabResultBase"},"Meal":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"kcal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Kcal"},"protein_g":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Protein G"},"fat_g":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Fat G"},"carb_g":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Carb G"},"items":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Items","description":"JSON-строка со списком продуктов"},"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"}},"type":"object","required":["user_id"],"title":"Meal"},"MealBase":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"kcal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Kcal"},"protein_g":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Protein G"},"fat_g":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Fat G"},"carb_g":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Carb G"},"items":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Items","description":"JSON-строка со списком продуктов"}},"type":"object","required":["user_id"],"title":"MealBase"},"Measurement":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"weight_kg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Weight Kg"},"waist_cm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Waist Cm"},"chest_cm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Chest Cm"},"hip_cm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hip Cm"},"bodyfat_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bodyfat Pct"},"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"}},"type":"object","required":["user_id"],"title":"Measurement"},"MeasurementBase":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"weight_kg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Weight Kg"},"waist_cm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Waist Cm"},"chest_cm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Chest Cm"},"hip_cm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hip Cm"},"bodyfat_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bodyfat Pct"}},"type":"object","required":["user_id"],"title":"MeasurementBase"},"Photo":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"angle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Angle","description":"front / side / back"},"weight_kg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Weight Kg"},"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"}},"type":"object","required":["user_id"],"title":"Photo"},"PhotoBase":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"angle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Angle","description":"front / side / back"},"weight_kg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Weight Kg"}},"type":"object","required":["user_id"],"title":"PhotoBase"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Workout":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type","description":"strength / cardio / mobility / ..."},"duration_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Min"},"exercises":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exercises","description":"JSON со списком упражнений"},"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"}},"type":"object","required":["user_id"],"title":"Workout"},"WorkoutBase":{"properties":{"user_id":{"type":"string","title":"User Id"},"taken_at":{"type":"string","format":"date-time","title":"Taken At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type","description":"strength / cardio / mobility / ..."},"duration_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Min"},"exercises":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exercises","description":"JSON со списком упражнений"}},"type":"object","required":["user_id"],"title":"WorkoutBase"}}}}