{"openapi":"3.1.0","info":{"title":"Str_control API","version":"0.1.0"},"paths":{"/api/v1/health":{"get":{"tags":["health"],"summary":"Health Liveness","operationId":"health_liveness_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Liveness Api V1 Health Get"}}}}}}},"/api/v1/health/ready":{"get":{"tags":["health"],"summary":"Health Readiness","operationId":"health_readiness_api_v1_health_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Readiness Api V1 Health Ready Get"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/refresh":{"post":{"tags":["auth"],"summary":"Refresh Token","operationId":"refresh_token_api_v1_auth_refresh_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["auth"],"summary":"Logout","operationId":"logout_api_v1_auth_logout_post","responses":{"204":{"description":"Successful Response"}}}},"/api/v1/auth/me":{"get":{"tags":["auth"],"summary":"Me","operationId":"me_api_v1_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/change-password":{"post":{"tags":["auth"],"summary":"Change Password","operationId":"change_password_api_v1_auth_change_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Change Password Api V1 Auth Change Password Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/users":{"get":{"tags":["users"],"summary":"List Users","operationId":"list_users_api_v1_users_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"role","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_UserListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["users"],"summary":"Create User","operationId":"create_user_api_v1_users_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/users/{user_id}":{"get":{"tags":["users"],"summary":"Get User","operationId":"get_user_api_v1_users__user_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["users"],"summary":"Update User","operationId":"update_user_api_v1_users__user_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["users"],"summary":"Deactivate User","operationId":"deactivate_user_api_v1_users__user_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/users/{user_id}/reset-password":{"post":{"tags":["users"],"summary":"Reset Password","operationId":"reset_password_api_v1_users__user_id__reset_password_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/sections":{"get":{"tags":["catalog"],"summary":"List Sections Catalog","operationId":"list_sections_catalog_api_v1_catalog_sections_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SectionsCatalogRead"},"type":"array","title":"Response List Sections Catalog Api V1 Catalog Sections Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["catalog"],"summary":"Create Sections Catalog","operationId":"create_sections_catalog_api_v1_catalog_sections_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionsCatalogCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionsCatalogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/catalog/sections/{section_id}":{"patch":{"tags":["catalog"],"summary":"Update Sections Catalog","operationId":"update_sections_catalog_api_v1_catalog_sections__section_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"integer","title":"Section Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionsCatalogUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionsCatalogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["catalog"],"summary":"Delete Sections Catalog","operationId":"delete_sections_catalog_api_v1_catalog_sections__section_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"integer","title":"Section Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/statuses":{"get":{"tags":["catalog"],"summary":"List Statuses","operationId":"list_statuses_api_v1_catalog_statuses_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/StatusRead"},"type":"array","title":"Response List Statuses Api V1 Catalog Statuses Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/catalog/work-types":{"get":{"tags":["catalog"],"summary":"List Work Types","operationId":"list_work_types_api_v1_catalog_work_types_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sections_catalog_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sections Catalog Id"}},{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkTypeRead"},"title":"Response List Work Types Api V1 Catalog Work Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["catalog"],"summary":"Create Work Type","operationId":"create_work_type_api_v1_catalog_work_types_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkTypeCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkTypeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/work-types/{work_type_id}":{"patch":{"tags":["catalog"],"summary":"Update Work Type","operationId":"update_work_type_api_v1_catalog_work_types__work_type_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"work_type_id","in":"path","required":true,"schema":{"type":"integer","title":"Work Type Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkTypeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkTypeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["catalog"],"summary":"Delete Work Type","operationId":"delete_work_type_api_v1_catalog_work_types__work_type_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"work_type_id","in":"path","required":true,"schema":{"type":"integer","title":"Work Type Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/projects":{"get":{"tags":["catalog"],"summary":"List Projects","operationId":"list_projects_api_v1_catalog_projects_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_ProjectListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["catalog"],"summary":"Create Project","operationId":"create_project_api_v1_catalog_projects_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/projects/{project_id}":{"get":{"tags":["catalog"],"summary":"Get Project","operationId":"get_project_api_v1_catalog_projects__project_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["catalog"],"summary":"Update Project","operationId":"update_project_api_v1_catalog_projects__project_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["catalog"],"summary":"Delete Project","operationId":"delete_project_api_v1_catalog_projects__project_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/projects/{project_id}/objects":{"get":{"tags":["catalog"],"summary":"List Objects","operationId":"list_objects_api_v1_catalog_projects__project_id__objects_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ObjectRead"},"title":"Response List Objects Api V1 Catalog Projects  Project Id  Objects Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["catalog"],"summary":"Create Object","operationId":"create_object_api_v1_catalog_projects__project_id__objects_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/objects/{object_id}/floors":{"get":{"tags":["catalog"],"summary":"List Floors","operationId":"list_floors_api_v1_catalog_objects__object_id__floors_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"object_id","in":"path","required":true,"schema":{"type":"integer","title":"Object Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FloorRead"},"title":"Response List Floors Api V1 Catalog Objects  Object Id  Floors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["catalog"],"summary":"Create Floor","operationId":"create_floor_api_v1_catalog_objects__object_id__floors_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"object_id","in":"path","required":true,"schema":{"type":"integer","title":"Object Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FloorCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FloorRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/objects/{object_id}/sections":{"get":{"tags":["catalog"],"summary":"List Object Sections","operationId":"list_object_sections_api_v1_catalog_objects__object_id__sections_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"object_id","in":"path","required":true,"schema":{"type":"integer","title":"Object Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ObjectSectionRead"},"title":"Response List Object Sections Api V1 Catalog Objects  Object Id  Sections Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["catalog"],"summary":"Create Object Section","operationId":"create_object_section_api_v1_catalog_objects__object_id__sections_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"object_id","in":"path","required":true,"schema":{"type":"integer","title":"Object Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectSectionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectSectionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/objects/{object_id}":{"get":{"tags":["catalog"],"summary":"Get Object","operationId":"get_object_api_v1_catalog_objects__object_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"object_id","in":"path","required":true,"schema":{"type":"integer","title":"Object Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["catalog"],"summary":"Update Object","operationId":"update_object_api_v1_catalog_objects__object_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"object_id","in":"path","required":true,"schema":{"type":"integer","title":"Object Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["catalog"],"summary":"Delete Object","operationId":"delete_object_api_v1_catalog_objects__object_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"object_id","in":"path","required":true,"schema":{"type":"integer","title":"Object Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/floors/{floor_id}":{"patch":{"tags":["catalog"],"summary":"Update Floor","operationId":"update_floor_api_v1_catalog_floors__floor_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"floor_id","in":"path","required":true,"schema":{"type":"integer","title":"Floor Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FloorUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FloorRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["catalog"],"summary":"Delete Floor","operationId":"delete_floor_api_v1_catalog_floors__floor_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"floor_id","in":"path","required":true,"schema":{"type":"integer","title":"Floor Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/object-sections/{section_id}":{"patch":{"tags":["catalog"],"summary":"Update Object Section","operationId":"update_object_section_api_v1_catalog_object_sections__section_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"integer","title":"Section Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectSectionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectSectionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["catalog"],"summary":"Delete Object Section","operationId":"delete_object_section_api_v1_catalog_object_sections__section_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"integer","title":"Section Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/engineers":{"get":{"tags":["permissions"],"summary":"List Project Engineers","operationId":"list_project_engineers_api_v1_projects__project_id__engineers_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EngineerAssignment"},"title":"Response List Project Engineers Api V1 Projects  Project Id  Engineers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["permissions"],"summary":"Assign Engineer","operationId":"assign_engineer_api_v1_projects__project_id__engineers_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignEngineerRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EngineerAssignment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/engineers/{user_id}":{"delete":{"tags":["permissions"],"summary":"Unassign Engineer","operationId":"unassign_engineer_api_v1_projects__project_id__engineers__user_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/users/{user_id}/projects":{"get":{"tags":["permissions"],"summary":"List User Projects","operationId":"list_user_projects_api_v1_users__user_id__projects_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserProjectItem"},"title":"Response List User Projects Api V1 Users  User Id  Projects Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates":{"get":{"tags":["templates"],"summary":"List Templates","operationId":"list_templates_api_v1_templates_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sections_catalog_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sections Catalog Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TemplateRead"},"title":"Response List Templates Api V1 Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["templates"],"summary":"Create Template","operationId":"create_template_api_v1_templates_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/{template_id}":{"get":{"tags":["templates"],"summary":"Get Template","operationId":"get_template_api_v1_templates__template_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["templates"],"summary":"Update Template","operationId":"update_template_api_v1_templates__template_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["templates"],"summary":"Delete Template","operationId":"delete_template_api_v1_templates__template_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/{template_id}/clone":{"post":{"tags":["templates"],"summary":"Clone Template","operationId":"clone_template_api_v1_templates__template_id__clone_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloneRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/chessboards":{"get":{"tags":["chessboard"],"summary":"Get Chessboard","operationId":"get_chessboard_api_v1_chessboards_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"query","required":true,"schema":{"type":"integer","title":"Template Id"}},{"name":"object_id","in":"query","required":true,"schema":{"type":"integer","title":"Object Id"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"current","title":"Mode"}},{"name":"snapshot_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Snapshot Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Chessboard Api V1 Chessboards Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cells":{"post":{"tags":["chessboard"],"summary":"Upsert Cell","operationId":"upsert_cell_api_v1_cells_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CellUpsertRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Upsert Cell Api V1 Cells Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cells/bulk":{"post":{"tags":["chessboard"],"summary":"Bulk Update Cells","operationId":"bulk_update_cells_api_v1_cells_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CellBulkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CellBulkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cells/{cell_id}":{"get":{"tags":["chessboard"],"summary":"Get Cell","operationId":"get_cell_api_v1_cells__cell_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cell_id","in":"path","required":true,"schema":{"type":"integer","title":"Cell Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CellDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["chessboard"],"summary":"Patch Cell","operationId":"patch_cell_api_v1_cells__cell_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cell_id","in":"path","required":true,"schema":{"type":"integer","title":"Cell Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CellPatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Patch Cell Api V1 Cells  Cell Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cells/{cell_id}/history":{"get":{"tags":["chessboard"],"summary":"Get Cell History","operationId":"get_cell_history_api_v1_cells__cell_id__history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cell_id","in":"path","required":true,"schema":{"type":"integer","title":"Cell Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_CellHistoryItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cells/{cell_id}/comments":{"get":{"tags":["media"],"summary":"List Comments","operationId":"list_comments_api_v1_cells__cell_id__comments_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cell_id","in":"path","required":true,"schema":{"type":"integer","title":"Cell Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CommentRead"},"title":"Response List Comments Api V1 Cells  Cell Id  Comments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["media"],"summary":"Create Comment","operationId":"create_comment_api_v1_cells__cell_id__comments_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cell_id","in":"path","required":true,"schema":{"type":"integer","title":"Cell Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/comments/{comment_id}":{"delete":{"tags":["media"],"summary":"Delete Comment","operationId":"delete_comment_api_v1_comments__comment_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"integer","title":"Comment Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cells/{cell_id}/photos":{"post":{"tags":["media"],"summary":"Upload Photo","operationId":"upload_photo_api_v1_cells__cell_id__photos_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cell_id","in":"path","required":true,"schema":{"type":"integer","title":"Cell Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_photo_api_v1_cells__cell_id__photos_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["media"],"summary":"List Photos","operationId":"list_photos_api_v1_cells__cell_id__photos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cell_id","in":"path","required":true,"schema":{"type":"integer","title":"Cell Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhotoRead"},"title":"Response List Photos Api V1 Cells  Cell Id  Photos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/photos/{photo_id}":{"get":{"tags":["media"],"summary":"Get Photo","operationId":"get_photo_api_v1_photos__photo_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"photo_id","in":"path","required":true,"schema":{"type":"integer","title":"Photo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["media"],"summary":"Delete Photo","operationId":"delete_photo_api_v1_photos__photo_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"photo_id","in":"path","required":true,"schema":{"type":"integer","title":"Photo Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/photos/{photo_id}/thumbnail":{"get":{"tags":["media"],"summary":"Get Photo Thumbnail","operationId":"get_photo_thumbnail_api_v1_photos__photo_id__thumbnail_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"photo_id","in":"path","required":true,"schema":{"type":"integer","title":"Photo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cells/{cell_id}/attachments":{"get":{"tags":["media"],"summary":"List Attachments","operationId":"list_attachments_api_v1_cells__cell_id__attachments_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cell_id","in":"path","required":true,"schema":{"type":"integer","title":"Cell Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentRead"},"title":"Response List Attachments Api V1 Cells  Cell Id  Attachments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["media"],"summary":"Upload Attachment","operationId":"upload_attachment_api_v1_cells__cell_id__attachments_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cell_id","in":"path","required":true,"schema":{"type":"integer","title":"Cell Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_attachment_api_v1_cells__cell_id__attachments_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/attachments/{attachment_id}":{"get":{"tags":["media"],"summary":"Get Attachment","operationId":"get_attachment_api_v1_attachments__attachment_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"attachment_id","in":"path","required":true,"schema":{"type":"integer","title":"Attachment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["media"],"summary":"Delete Attachment","operationId":"delete_attachment_api_v1_attachments__attachment_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"attachment_id","in":"path","required":true,"schema":{"type":"integer","title":"Attachment Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/snapshots":{"post":{"tags":["snapshots"],"summary":"Publish Snapshot","operationId":"publish_snapshot_api_v1_snapshots_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["snapshots"],"summary":"List Snapshots","operationId":"list_snapshots_api_v1_snapshots_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"query","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"object_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Object Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SnapshotRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/snapshots/{snapshot_id}":{"get":{"tags":["snapshots"],"summary":"Get Snapshot","operationId":"get_snapshot_api_v1_snapshots__snapshot_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"snapshot_id","in":"path","required":true,"schema":{"type":"integer","title":"Snapshot Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/projects-summary":{"get":{"tags":["dashboard"],"summary":"Projects Summary","operationId":"projects_summary_api_v1_dashboard_projects_summary_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Projects Summary Api V1 Dashboard Projects Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/reports/generate":{"post":{"tags":["reports"],"summary":"Generate Report","operationId":"generate_report_api_v1_reports_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/audit-log":{"get":{"tags":["audit"],"summary":"List Audit Log","operationId":"list_audit_log_api_v1_audit_log_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Actor Id"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_AuditLogItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AssignEngineerRequest":{"properties":{"user_id":{"type":"integer","title":"User Id"}},"type":"object","required":["user_id"],"title":"AssignEngineerRequest"},"AttachmentRead":{"properties":{"id":{"type":"integer","title":"Id"},"url":{"type":"string","title":"Url"},"original_name":{"type":"string","title":"Original Name"},"mime_type":{"type":"string","title":"Mime Type"},"size_bytes":{"type":"integer","title":"Size Bytes"},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"},"uploaded_by":{"$ref":"#/components/schemas/UserBrief"},"uploaded_at":{"type":"string","title":"Uploaded At"}},"type":"object","required":["id","url","original_name","mime_type","size_bytes","kind","uploaded_by","uploaded_at"],"title":"AttachmentRead"},"AuditLogItem":{"properties":{"id":{"type":"integer","title":"Id"},"actor":{"$ref":"#/components/schemas/UserBrief"},"action":{"type":"string","title":"Action"},"target_type":{"type":"string","title":"Target Type"},"target_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target Id"},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","actor","action","target_type","target_id","payload","created_at"],"title":"AuditLogItem"},"Body_upload_attachment_api_v1_cells__cell_id__attachments_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},"type":"object","required":["file"],"title":"Body_upload_attachment_api_v1_cells__cell_id__attachments_post"},"Body_upload_photo_api_v1_cells__cell_id__photos_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"gps_lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gps Lat"},"gps_lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gps Lon"},"taken_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Taken At"}},"type":"object","required":["file"],"title":"Body_upload_photo_api_v1_cells__cell_id__photos_post"},"CellBulkRequest":{"properties":{"template_id":{"type":"integer","title":"Template Id"},"coordinates":{"items":{"$ref":"#/components/schemas/CellKeyBody"},"type":"array","title":"Coordinates"},"values":{"additionalProperties":true,"type":"object","title":"Values"}},"type":"object","required":["template_id","coordinates","values"],"title":"CellBulkRequest"},"CellBulkResponse":{"properties":{"updated":{"type":"integer","title":"Updated"},"cells":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Cells"}},"type":"object","required":["updated","cells"],"title":"CellBulkResponse"},"CellDetailResponse":{"properties":{"id":{"type":"integer","title":"Id"},"row_key":{"additionalProperties":true,"type":"object","title":"Row Key"},"column_key":{"additionalProperties":true,"type":"object","title":"Column Key"},"current":{"$ref":"#/components/schemas/CellValueState"},"published":{"$ref":"#/components/schemas/CellValueState"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"has_draft":{"type":"boolean","title":"Has Draft"},"updated_by":{"anyOf":[{"$ref":"#/components/schemas/UserBrief"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"comments_count":{"type":"integer","title":"Comments Count"},"photos_count":{"type":"integer","title":"Photos Count"},"attachments_count":{"type":"integer","title":"Attachments Count"}},"type":"object","required":["id","row_key","column_key","current","published","unit","has_draft","updated_by","updated_at","comments_count","photos_count","attachments_count"],"title":"CellDetailResponse"},"CellHistoryItem":{"properties":{"id":{"type":"integer","title":"Id"},"field":{"type":"string","title":"Field"},"old_value":{"title":"Old Value"},"new_value":{"title":"New Value"},"author":{"$ref":"#/components/schemas/UserBrief"},"snapshot_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Snapshot Id"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","field","old_value","new_value","author","snapshot_id","created_at"],"title":"CellHistoryItem"},"CellKeyBody":{"properties":{"row_key":{"additionalProperties":true,"type":"object","title":"Row Key"},"column_key":{"additionalProperties":true,"type":"object","title":"Column Key"}},"type":"object","required":["row_key","column_key"],"title":"CellKeyBody"},"CellPatchRequest":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"percent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Percent"},"volume":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Volume"}},"type":"object","title":"CellPatchRequest"},"CellUpsertRequest":{"properties":{"row_key":{"additionalProperties":true,"type":"object","title":"Row Key"},"column_key":{"additionalProperties":true,"type":"object","title":"Column Key"},"template_id":{"type":"integer","title":"Template Id"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"percent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Percent"},"volume":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Volume"}},"type":"object","required":["row_key","column_key","template_id"],"title":"CellUpsertRequest"},"CellValueState":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"percent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Percent"},"volume":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Volume"}},"type":"object","required":["status","percent","volume"],"title":"CellValueState"},"ChangePasswordRequest":{"properties":{"current_password":{"type":"string","title":"Current Password"},"new_password":{"type":"string","minLength":8,"title":"New Password"}},"type":"object","required":["current_password","new_password"],"title":"ChangePasswordRequest"},"CloneRequest":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"CloneRequest"},"CommentCreate":{"properties":{"text":{"type":"string","minLength":1,"title":"Text"}},"type":"object","required":["text"],"title":"CommentCreate"},"CommentRead":{"properties":{"id":{"type":"integer","title":"Id"},"text":{"type":"string","title":"Text"},"author":{"$ref":"#/components/schemas/UserBrief"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","text","author","created_at"],"title":"CommentRead"},"EngineerAssignment":{"properties":{"user_id":{"type":"integer","title":"User Id"},"username":{"type":"string","title":"Username"},"full_name":{"type":"string","title":"Full Name"},"assigned_at":{"type":"string","title":"Assigned At"},"assigned_by":{"$ref":"#/components/schemas/UserBrief"}},"type":"object","required":["user_id","username","full_name","assigned_at","assigned_by"],"title":"EngineerAssignment"},"FloorCreate":{"properties":{"kind":{"type":"string","pattern":"^(floor|zone)$","title":"Kind"},"code":{"type":"string","minLength":1,"title":"Code"},"name":{"type":"string","minLength":1,"title":"Name"},"order_idx":{"type":"integer","title":"Order Idx","default":0}},"type":"object","required":["kind","code","name"],"title":"FloorCreate"},"FloorRead":{"properties":{"id":{"type":"integer","title":"Id"},"object_id":{"type":"integer","title":"Object Id"},"kind":{"type":"string","title":"Kind"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"order_idx":{"type":"integer","title":"Order Idx"}},"type":"object","required":["id","object_id","kind","code","name","order_idx"],"title":"FloorRead"},"FloorUpdate":{"properties":{"kind":{"anyOf":[{"type":"string","pattern":"^(floor|zone)$"},{"type":"null"}],"title":"Kind"},"code":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"order_idx":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order Idx"}},"type":"object","title":"FloorUpdate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LoginRequest":{"properties":{"username":{"type":"string","maxLength":64,"minLength":1,"title":"Username"},"password":{"type":"string","minLength":1,"title":"Password"}},"type":"object","required":["username","password"],"title":"LoginRequest"},"MeResponse":{"properties":{"id":{"type":"integer","title":"Id"},"username":{"type":"string","title":"Username"},"full_name":{"type":"string","title":"Full Name"},"role":{"type":"string","title":"Role"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["id","username","full_name","role","is_active"],"title":"MeResponse"},"ObjectCreate":{"properties":{"name":{"type":"string","minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["name"],"title":"ObjectCreate"},"ObjectRead":{"properties":{"id":{"type":"integer","title":"Id"},"project_id":{"type":"integer","title":"Project Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","project_id","name","description","created_at"],"title":"ObjectRead"},"ObjectSectionCreate":{"properties":{"code":{"type":"string","minLength":1,"title":"Code"},"name":{"type":"string","minLength":1,"title":"Name"},"order_idx":{"type":"integer","title":"Order Idx","default":0}},"type":"object","required":["code","name"],"title":"ObjectSectionCreate"},"ObjectSectionRead":{"properties":{"id":{"type":"integer","title":"Id"},"object_id":{"type":"integer","title":"Object Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"order_idx":{"type":"integer","title":"Order Idx"}},"type":"object","required":["id","object_id","code","name","order_idx"],"title":"ObjectSectionRead"},"ObjectSectionUpdate":{"properties":{"code":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"order_idx":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order Idx"}},"type":"object","title":"ObjectSectionUpdate"},"ObjectUpdate":{"properties":{"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","title":"ObjectUpdate"},"PaginatedResponse_AuditLogItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AuditLogItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[AuditLogItem]"},"PaginatedResponse_CellHistoryItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CellHistoryItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[CellHistoryItem]"},"PaginatedResponse_ProjectListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ProjectListItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[ProjectListItem]"},"PaginatedResponse_SnapshotRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SnapshotRead"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[SnapshotRead]"},"PaginatedResponse_UserListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UserListItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[UserListItem]"},"PhotoRead":{"properties":{"id":{"type":"integer","title":"Id"},"url":{"type":"string","title":"Url"},"thumbnail_url":{"type":"string","title":"Thumbnail Url"},"mime_type":{"type":"string","title":"Mime Type"},"size_bytes":{"type":"integer","title":"Size Bytes"},"gps":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Gps"},"taken_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Taken At"},"uploaded_by":{"$ref":"#/components/schemas/UserBrief"},"uploaded_at":{"type":"string","title":"Uploaded At"}},"type":"object","required":["id","url","thumbnail_url","mime_type","size_bytes","uploaded_by","uploaded_at"],"title":"PhotoRead"},"ProjectCreate":{"properties":{"name":{"type":"string","minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["name"],"title":"ProjectCreate"},"ProjectListItem":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","title":"Created At"},"objects_count":{"type":"integer","title":"Objects Count"}},"type":"object","required":["id","name","description","created_at","objects_count"],"title":"ProjectListItem"},"ProjectRead":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","title":"Created At"},"objects_count":{"type":"integer","title":"Objects Count","default":0}},"type":"object","required":["id","name","description","created_at"],"title":"ProjectRead"},"ProjectUpdate":{"properties":{"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","title":"ProjectUpdate"},"ReportGenerateRequest":{"properties":{"type":{"type":"string","title":"Type"},"format":{"type":"string","title":"Format"},"filters":{"additionalProperties":true,"type":"object","title":"Filters"}},"type":"object","required":["type","format","filters"],"title":"ReportGenerateRequest"},"ResetPasswordResponse":{"properties":{"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["new_password"],"title":"ResetPasswordResponse"},"SectionsCatalogCreate":{"properties":{"code":{"type":"string","minLength":1,"title":"Code"},"name":{"type":"string","minLength":1,"title":"Name"},"order_idx":{"type":"integer","title":"Order Idx","default":0}},"type":"object","required":["code","name"],"title":"SectionsCatalogCreate"},"SectionsCatalogRead":{"properties":{"id":{"type":"integer","title":"Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"order_idx":{"type":"integer","title":"Order Idx"}},"type":"object","required":["id","code","name","order_idx"],"title":"SectionsCatalogRead"},"SectionsCatalogUpdate":{"properties":{"code":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"order_idx":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order Idx"}},"type":"object","title":"SectionsCatalogUpdate"},"SnapshotCreate":{"properties":{"project_id":{"type":"integer","title":"Project Id"},"object_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Object Id"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["project_id"],"title":"SnapshotCreate"},"SnapshotRead":{"properties":{"id":{"type":"integer","title":"Id"},"project_id":{"type":"integer","title":"Project Id"},"object_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Object Id"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_by":{"$ref":"#/components/schemas/UserBrief"},"created_at":{"type":"string","title":"Created At"},"changes_count":{"type":"integer","title":"Changes Count","default":0}},"type":"object","required":["id","project_id","object_id","description","created_by","created_at"],"title":"SnapshotRead"},"StatusRead":{"properties":{"id":{"type":"integer","title":"Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"color_hex":{"type":"string","title":"Color Hex"},"order_idx":{"type":"integer","title":"Order Idx"}},"type":"object","required":["id","code","name","color_hex","order_idx"],"title":"StatusRead"},"TemplateCreate":{"properties":{"sections_catalog_id":{"type":"integer","title":"Sections Catalog Id"},"name":{"type":"string","minLength":1,"title":"Name"},"config":{"additionalProperties":true,"type":"object","title":"Config"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["sections_catalog_id","name","config"],"title":"TemplateCreate"},"TemplateRead":{"properties":{"id":{"type":"integer","title":"Id"},"sections_catalog_id":{"type":"integer","title":"Sections Catalog Id"},"name":{"type":"string","title":"Name"},"config":{"additionalProperties":true,"type":"object","title":"Config"},"is_active":{"type":"boolean","title":"Is Active"},"created_by":{"$ref":"#/components/schemas/UserBrief"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","sections_catalog_id","name","config","is_active","created_by","created_at"],"title":"TemplateRead"},"TemplateUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"TemplateUpdate"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["access_token","expires_in"],"title":"TokenResponse"},"UserBrief":{"properties":{"id":{"type":"integer","title":"Id"},"full_name":{"type":"string","title":"Full Name"}},"type":"object","required":["id","full_name"],"title":"UserBrief"},"UserCreate":{"properties":{"username":{"type":"string","maxLength":64,"minLength":1,"title":"Username"},"password":{"type":"string","minLength":8,"title":"Password"},"full_name":{"type":"string","minLength":1,"title":"Full Name"},"role":{"type":"string","pattern":"^(admin|engineer)$","title":"Role"}},"type":"object","required":["username","password","full_name","role"],"title":"UserCreate"},"UserDetail":{"properties":{"id":{"type":"integer","title":"Id"},"username":{"type":"string","title":"Username"},"full_name":{"type":"string","title":"Full Name"},"role":{"type":"string","title":"Role"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","username","full_name","role","is_active","created_at"],"title":"UserDetail"},"UserListItem":{"properties":{"id":{"type":"integer","title":"Id"},"username":{"type":"string","title":"Username"},"full_name":{"type":"string","title":"Full Name"},"role":{"type":"string","title":"Role"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","username","full_name","role","is_active","created_at"],"title":"UserListItem"},"UserProjectItem":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["id","name","description"],"title":"UserProjectItem"},"UserUpdate":{"properties":{"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"role":{"anyOf":[{"type":"string","pattern":"^(admin|engineer)$"},{"type":"null"}],"title":"Role"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"UserUpdate"},"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"},"WorkTypeCreate":{"properties":{"sections_catalog_id":{"type":"integer","title":"Sections Catalog Id"},"code":{"type":"string","minLength":1,"title":"Code"},"name":{"type":"string","minLength":1,"title":"Name"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"order_idx":{"type":"integer","title":"Order Idx","default":0}},"type":"object","required":["sections_catalog_id","code","name"],"title":"WorkTypeCreate"},"WorkTypeRead":{"properties":{"id":{"type":"integer","title":"Id"},"sections_catalog_id":{"type":"integer","title":"Sections Catalog Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"order_idx":{"type":"integer","title":"Order Idx"}},"type":"object","required":["id","sections_catalog_id","code","name","parent_id","unit","order_idx"],"title":"WorkTypeRead"},"WorkTypeUpdate":{"properties":{"sections_catalog_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sections Catalog Id"},"code":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"order_idx":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order Idx"}},"type":"object","title":"WorkTypeUpdate"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}