{"openapi":"3.1.0","info":{"title":"FastCognito","description":"FastAPI Cognito API authentication service","version":"1.0.0"},"paths":{"/":{"get":{"summary":"Index","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health Check","description":"Health check for AWS.","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/master-admins":{"get":{"tags":["Master Admin"],"summary":"Get Master Admins","operationId":"get_master_admins_api_master_admins_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Master Admin"],"summary":"Add Master Admins","operationId":"add_master_admins_api_master_admins_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MasterAdminCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/master-admins/{master_admin_id}":{"get":{"tags":["Master Admin"],"summary":"Get Master Admin","operationId":"get_master_admin_api_master_admins__master_admin_id__get","parameters":[{"name":"master_admin_id","in":"path","required":true,"schema":{"type":"integer","title":"Master Admin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Master Admin"],"summary":"Update Master Admins","operationId":"update_master_admins_api_master_admins__master_admin_id__put","parameters":[{"name":"master_admin_id","in":"path","required":true,"schema":{"type":"integer","title":"Master Admin Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MasterAdminUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Master Admin"],"summary":"Delete Master Admins","operationId":"delete_master_admins_api_master_admins__master_admin_id__delete","parameters":[{"name":"master_admin_id","in":"path","required":true,"schema":{"type":"integer","title":"Master Admin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/master-admin/push-test/accounts":{"get":{"tags":["Master Admin"],"summary":"List Push Test Accounts","description":"Accounts with registered devices, for the push-test target dropdown.","operationId":"list_push_test_accounts_api_master_admin_push_test_accounts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/master-admin/push-test":{"post":{"tags":["Master Admin"],"summary":"Test Push Notification","description":"Send a test SNS push to every registered device, or to one\naccount's devices when `email` is provided. Returns a per-device\ndelivery report.","operationId":"test_push_notification_api_master_admin_push_test_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushTestRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/signup":{"post":{"tags":["Auth"],"summary":"Signup User","operationId":"signup_user_api_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignup"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/register":{"post":{"tags":["Auth"],"summary":"Register","operationId":"register_api_register_post","parameters":[{"name":"lang","in":"query","required":true,"schema":{"type":"string","title":"Lang"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegisterAccount"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/verify-account":{"get":{"tags":["Auth"],"summary":"Verify Email","operationId":"verify_email_api_verify_account_get","parameters":[{"name":"username","in":"query","required":true,"schema":{"type":"string","title":"Username"}},{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/send_signup_email":{"post":{"tags":["Auth"],"summary":"Send Signup Email","operationId":"send_signup_email_api_send_signup_email_post","parameters":[{"name":"lang","in":"query","required":true,"schema":{"type":"string","title":"Lang"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignup"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/check_invitation_status":{"get":{"tags":["Auth"],"summary":"Check Invitation Status","operationId":"check_invitation_status_api_check_invitation_status_get","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}},{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/set_password":{"post":{"tags":["Auth"],"summary":"Set Password","operationId":"set_password_api_set_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPassword"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reset_password":{"post":{"tags":["Auth"],"summary":"Reset Password","operationId":"reset_password_api_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPassword"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/verify_account":{"post":{"tags":["Auth"],"summary":"Verify Account","operationId":"verify_account_api_verify_account_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserVerify"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/resend_confirmation_code":{"post":{"tags":["Auth"],"summary":"Resend Confirmation Code","operationId":"resend_confirmation_code_api_resend_confirmation_code_post","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","format":"email","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/signin":{"post":{"tags":["Auth"],"summary":"Signin","operationId":"signin_api_signin_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignin"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/forgot_password":{"post":{"tags":["Auth"],"summary":"Forgot Password","operationId":"forgot_password_api_forgot_password_post","parameters":[{"name":"lang","in":"query","required":true,"schema":{"type":"string","title":"Lang"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserVerify"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/confirm_forgot_password":{"post":{"tags":["Auth"],"summary":"Confirm Forgot Password","operationId":"confirm_forgot_password_api_confirm_forgot_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmForgotPassword"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/change_password":{"post":{"tags":["Auth"],"summary":"Change Password","operationId":"change_password_api_change_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePassword"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/new_token":{"post":{"tags":["Auth"],"summary":"New Access Token","operationId":"new_access_token_api_new_token_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshToken"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/logout":{"post":{"tags":["Auth"],"summary":"Logout","operationId":"logout_api_logout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogoutRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/logout_all_sessions":{"post":{"tags":["Auth"],"summary":"Logout All Sessions","operationId":"logout_all_sessions_api_logout_all_sessions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/sessions":{"get":{"tags":["Auth"],"summary":"List Sessions","operationId":"list_sessions_api_sessions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/sessions/heartbeat":{"post":{"tags":["Auth"],"summary":"Heartbeat Session","operationId":"heartbeat_session_api_sessions_heartbeat_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/sessions/{session_id}":{"delete":{"tags":["Auth"],"summary":"Revoke Session","operationId":"revoke_session_api_sessions__session_id__delete","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user_details":{"get":{"tags":["Auth"],"summary":"User Details","operationId":"user_details_api_user_details_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/update_user":{"post":{"tags":["Auth"],"summary":"Update User","operationId":"update_user_api_update_user_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/server-api-key":{"get":{"tags":["Auth"],"summary":"Get Server Apikey","operationId":"get_server_apikey_api_server_api_key_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth-config":{"get":{"tags":["Auth"],"summary":"Get Auth Config","operationId":"get_auth_config_api_auth_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/dev-login":{"post":{"tags":["Auth"],"summary":"Dev Login Post","operationId":"dev_login_post_api_dev_login_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DevLoginRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Auth"],"summary":"Dev Login","operationId":"dev_login_api_dev_login_get","parameters":[{"name":"username","in":"query","required":true,"schema":{"type":"string","title":"Username"}},{"name":"password","in":"query","required":true,"schema":{"type":"string","title":"Password"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/companies":{"get":{"tags":["Company"],"summary":"Get Companies","operationId":"get_companies_api_companies_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Company"],"summary":"Add Company","operationId":"add_company_api_companies_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/companies/{company_id}":{"get":{"tags":["Company"],"summary":"Get Company","operationId":"get_company_api_companies__company_id__get","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Company"],"summary":"Update Company","operationId":"update_company_api_companies__company_id__put","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Company"],"summary":"Delete Company","operationId":"delete_company_api_companies__company_id__delete","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/companies/{company_id}/detail":{"get":{"tags":["Company"],"summary":"Get Company Detail","operationId":"get_company_detail_api_companies__company_id__detail_get","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDetailRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/plan-usage":{"get":{"tags":["Company"],"summary":"Get My Plan Usage","operationId":"get_my_plan_usage_api_plan_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/companies/{company_id}/upload-logo":{"post":{"tags":["Company"],"summary":"Upload Logo","operationId":"upload_logo_api_companies__company_id__upload_logo_post","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_logo_api_companies__company_id__upload_logo_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/companies/{company_id}/logo":{"delete":{"tags":["Company"],"summary":"Delete Logo","operationId":"delete_logo_api_companies__company_id__logo_delete","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/address/{pincode}":{"get":{"tags":["Company"],"summary":"Get Address By Pincode","operationId":"get_address_by_pincode_api_address__pincode__get","parameters":[{"name":"pincode","in":"path","required":true,"schema":{"type":"string","title":"Pincode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/address-required":{"get":{"tags":["Company"],"summary":"Check Company Address Required","operationId":"check_company_address_required_api_address_required_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Check Company Address Required Api Address Required Get"}}}}}}},"/api/companies/{company_id}/address":{"put":{"tags":["Company"],"summary":"Update Company Address","description":"Update company address information.\nOnly company admins can update their company's address.","operationId":"update_company_address_api_companies__company_id__address_put","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyAddressUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/companies/{company_id}/basic":{"put":{"tags":["Company"],"summary":"Update Company Basic","description":"Update basic company information (name, license number, address).\nOnly company admins can update their company's basic information.","operationId":"update_company_basic_api_companies__company_id__basic_put","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyBasicUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-members/{company_id}":{"get":{"tags":["Company Member"],"summary":"Get All Members","operationId":"get_all_members_api_company_members__company_id__get","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompanyMemberRead"},"title":"Response Get All Members Api Company Members  Company Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-members":{"post":{"tags":["Company Member"],"summary":"Create Company Member","operationId":"create_company_member_api_company_members_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyMemberCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyMemberRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-members/{company_member_id}":{"put":{"tags":["Company Member"],"summary":"Update Company Member","operationId":"update_company_member_api_company_members__company_member_id__put","parameters":[{"name":"company_member_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyMemberUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyMemberRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Company Member"],"summary":"Delete Company Member","operationId":"delete_company_member_api_company_members__company_member_id__delete","parameters":[{"name":"company_member_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Member Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-members/{company_member_id}/permanent":{"delete":{"tags":["Company Member"],"summary":"Permanently Delete Company Member","operationId":"permanently_delete_company_member_api_company_members__company_member_id__permanent_delete","parameters":[{"name":"company_member_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Member Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sites/create":{"post":{"tags":["Sites"],"summary":"Create Site","operationId":"create_site_api_sites_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sites/sites/":{"get":{"tags":["Sites"],"summary":"Get All Sites","description":"Global list of sites across companies. Only available to high-level admins.","operationId":"get_all_sites_api_sites_sites__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SiteResponse"},"type":"array","title":"Response Get All Sites Api Sites Sites  Get"}}}}}}},"/api/sites/company/{company_id}":{"get":{"tags":["Sites"],"summary":"Get Sites By Company","description":"Returns all sites for a company for master/company admins.\nFor site_admin / company_member / foreman / worker: return only the site assigned to the requester.","operationId":"get_sites_by_company_api_sites_company__company_id__get","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SiteResponse"},"title":"Response Get Sites By Company Api Sites Company  Company Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sites/{site_id}":{"put":{"tags":["Sites"],"summary":"Update Site","operationId":"update_site_api_sites__site_id__put","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Sites"],"summary":"Delete Site","operationId":"delete_site_api_sites__site_id__delete","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sites/safety-insights":{"get":{"tags":["Sites"],"summary":"Get Safety Insights","description":"Returns safety insights for a specific site.\n- company_admin: can specify site_id.\n- others: uses their assigned site_id.","operationId":"get_safety_insights_api_sites_safety_insights_get","parameters":[{"name":"site_id","in":"query","required":false,"schema":{"type":"integer","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SafetyInsightsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sites/{site_id}/safety-insights/weather":{"get":{"tags":["Sites"],"summary":"Get Site Weather","operationId":"get_site_weather_api_sites__site_id__safety_insights_weather_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WeatherInsights"},{"type":"null"}],"title":"Response Get Site Weather Api Sites  Site Id  Safety Insights Weather Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sites/{site_id}/safety-insights/wow-trend":{"get":{"tags":["Sites"],"summary":"Get Site Wow Trend","operationId":"get_site_wow_trend_api_sites__site_id__safety_insights_wow_trend_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WowTrend"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sites/{site_id}/safety-insights/hot-spot":{"get":{"tags":["Sites"],"summary":"Get Site Hot Spot","operationId":"get_site_hot_spot_api_sites__site_id__safety_insights_hot_spot_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/HotSpotZone"},{"type":"null"}],"title":"Response Get Site Hot Spot Api Sites  Site Id  Safety Insights Hot Spot Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sites/{site_id}/safety-insights/top-issue":{"get":{"tags":["Sites"],"summary":"Get Site Top Issue","operationId":"get_site_top_issue_api_sites__site_id__safety_insights_top_issue_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/TopIssueCategory"},{"type":"null"}],"title":"Response Get Site Top Issue Api Sites  Site Id  Safety Insights Top Issue Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-payment/invoice/{payment_id}":{"get":{"tags":["Payments"],"summary":"Download Invoice","operationId":"download_invoice_api_company_payment_invoice__payment_id__get","parameters":[{"name":"payment_id","in":"path","required":true,"schema":{"type":"integer","title":"Payment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-payment/{company_id}":{"get":{"tags":["Payments"],"summary":"Get All Payment","operationId":"get_all_payment_api_company_payment__company_id__get","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentRead"},"title":"Response Get All Payment Api Company Payment  Company Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-payment/":{"post":{"tags":["Payments"],"summary":"Create Company Payment","operationId":"create_company_payment_api_company_payment__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-payment/session":{"post":{"tags":["Payments"],"summary":"Create Checkout Session","operationId":"create_checkout_session_api_company_payment_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStripePaymentSession"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StripeCheckoutSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-payment/cancel":{"post":{"tags":["Payments"],"summary":"Cancel Subscription","operationId":"cancel_subscription_api_company_payment_cancel_post","parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-payment/subscription-status/{company_id}":{"get":{"tags":["Payments"],"summary":"Subscription Status","operationId":"subscription_status_api_company_payment_subscription_status__company_id__get","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stripe/webhook":{"post":{"tags":["Payments"],"summary":"Stripe Webhook Handler","operationId":"stripe_webhook_handler_api_stripe_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/stripe/plans":{"get":{"tags":["Payments"],"summary":"Get Payment Plans","operationId":"get_payment_plans_api_stripe_plans_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"include_trial","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Trial"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlanRead"},"title":"Response Get Payment Plans Api Stripe Plans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stripe/custom-plans":{"get":{"tags":["Payments"],"summary":"Get Custom Payment Plans","operationId":"get_custom_payment_plans_api_stripe_custom_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CustomPlanRead"},"type":"array","title":"Response Get Custom Payment Plans Api Stripe Custom Plans Get"}}}}}}},"/api/custom-plan/create":{"post":{"tags":["Payments"],"summary":"Create Custom Plan","operationId":"create_custom_plan_api_custom_plan_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomPlanCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/custom-plan/update":{"put":{"tags":["Payments"],"summary":"Update Custom Plan Route","operationId":"update_custom_plan_route_api_custom_plan_update_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomPlanUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Update Custom Plan Route Api Custom Plan Update Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/custom-plan/{stripe_price_id}/delete-preview":{"get":{"tags":["Payments"],"summary":"Preview Custom Plan Delete","operationId":"preview_custom_plan_delete_api_custom_plan__stripe_price_id__delete_preview_get","parameters":[{"name":"stripe_price_id","in":"path","required":true,"schema":{"type":"string","title":"Stripe Price Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Preview Custom Plan Delete Api Custom Plan  Stripe Price Id  Delete Preview Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/custom-plan/{stripe_price_id}":{"delete":{"tags":["Payments"],"summary":"Remove Custom Plan","operationId":"remove_custom_plan_api_custom_plan__stripe_price_id__delete","parameters":[{"name":"stripe_price_id","in":"path","required":true,"schema":{"type":"string","title":"Stripe Price Id"}},{"name":"force_downgrade","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force Downgrade"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-payment/verify-session/{session_id}":{"get":{"tags":["Payments"],"summary":"Verify Session","operationId":"verify_session_api_company_payment_verify_session__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company-payment/select-plan":{"post":{"tags":["Payments"],"summary":"Select Plan","operationId":"select_plan_api_company_payment_select_plan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanSelectionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/master-admin/company-payment/assign-plan":{"post":{"tags":["Payments"],"summary":"Master Admin Assign Plan","operationId":"master_admin_assign_plan_api_master_admin_company_payment_assign_plan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanSelectionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/master-admin/company-payment/send-manual-invoice":{"post":{"tags":["Payments"],"summary":"Send Manual Invoice","operationId":"send_manual_invoice_api_master_admin_company_payment_send_manual_invoice_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualInvoiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/master-admin/companies/{company_id}/finance/reset":{"post":{"tags":["Payments"],"summary":"Master Admin Reset Company Finance","operationId":"master_admin_reset_company_finance_api_master_admin_companies__company_id__finance_reset_post","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinanceResetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/master-admin/company-payment/restore-overdue":{"post":{"tags":["Payments"],"summary":"Master Admin Restore Overdue Payment","operationId":"master_admin_restore_overdue_payment_api_master_admin_company_payment_restore_overdue_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestoreOverduePaymentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/master-admin/company-payment/invoice-pdf-preview-jp":{"get":{"tags":["Payments"],"summary":"Invoice Pdf Preview Jp","description":"Return a Japanese sample invoice PDF inline. Use to verify font/layout rendering.","operationId":"invoice_pdf_preview_jp_api_master_admin_company_payment_invoice_pdf_preview_jp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/master-admin/company-payment/invoice-html-preview-jp":{"get":{"tags":["Payments"],"summary":"Invoice Html Preview Jp","description":"Render the same Japanese sample invoice as HTML.\nIf browser shows the Japanese text correctly here but the PDF endpoint shows\ntofu, the issue is font loading inside WeasyPrint, not Unicode in the data.","operationId":"invoice_html_preview_jp_api_master_admin_company_payment_invoice_html_preview_jp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/master-admin/company-payment/invoice-pdf-font-diagnostics":{"get":{"tags":["Payments"],"summary":"Invoice Pdf Font Diagnostics","description":"Return font availability info inside the running process.","operationId":"invoice_pdf_font_diagnostics_api_master_admin_company_payment_invoice_pdf_font_diagnostics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/me/allowed-features":{"get":{"tags":["Payments"],"summary":"Get My Allowed Features","operationId":"get_my_allowed_features_api_me_allowed_features_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/images":{"get":{"tags":["Images"],"summary":"Get All","operationId":"get_all_api_images_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company/images":{"get":{"tags":["Images"],"summary":"Get Images By Company","operationId":"get_images_by_company_api_company_images_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"user_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by user IDs (AWS IDs)","title":"User Ids"},"description":"Filter by user IDs (AWS IDs)"},{"name":"scenario_names","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by scenario/category names","title":"Scenario Names"},"description":"Filter by scenario/category names"},{"name":"site_names","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by site names","title":"Site Names"},"description":"Filter by site names"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/images/{image_id}":{"get":{"tags":["Images"],"summary":"Get Image","operationId":"get_image_api_images__image_id__get","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"string","title":"Image Id"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","description":"Preferred display language: 'en' or 'jp'","default":"en","title":"Lang"},"description":"Preferred display language: 'en' or 'jp'"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Images"],"summary":"Update","operationId":"update_api_images__image_id__put","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"string","title":"Image Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Images"],"summary":"Delete","operationId":"delete_api_images__image_id__delete","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"string","title":"Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/images/create":{"post":{"tags":["Images"],"summary":"Create","operationId":"create_api_images_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/images/upload-logo":{"post":{"tags":["Images"],"summary":"Upload Image To S3","operationId":"upload_image_to_s3_api_images_upload_logo_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_image_to_s3_api_images_upload_logo_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company/images-summary":{"get":{"tags":["Images"],"summary":"Get Images Summary By Company","operationId":"get_images_summary_by_company_api_company_images_summary_get","parameters":[{"name":"start","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"End"}},{"name":"site_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by site name (company admin only)","title":"Site Name"},"description":"Filter by site name (company admin only)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/company/images/{guideline_name}/non-compliance":{"get":{"tags":["Images"],"summary":"Get Images By Company By Guideline Non Compliant","operationId":"get_images_by_company_by_guideline_non_compliant_api_company_images__guideline_name__non_compliance_get","parameters":[{"name":"guideline_name","in":"path","required":true,"schema":{"type":"string","title":"Guideline Name"}},{"name":"start","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"End"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/s3/webhook":{"post":{"tags":["Images"],"summary":"S3 Webhook","description":"BEST PRACTICE: Handles S3 Event Notifications (ObjectCreated).\nThis ensures we only trigger AI analysis when the file is FOR SURE ready on S3.","operationId":"s3_webhook_api_s3_webhook_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/images/resolve":{"post":{"tags":["Images"],"summary":"Resolve Image","description":"Resolve a source image with optional evidence file uploads.","operationId":"resolve_image_api_images_resolve_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_resolve_image_api_images_resolve_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/images/status-update":{"post":{"tags":["Images"],"summary":"Update Image Status","description":"Dedicated endpoint for AI server or Lambda to push image status updates.","operationId":"update_image_status_api_images_status_update_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/assign":{"post":{"tags":["Image Assignment"],"summary":"Assign Image","description":"Assigns an image to a member for review.","operationId":"assign_image_api_assignment_assign_post","parameters":[{"name":"image_id","in":"query","required":true,"schema":{"type":"integer","title":"Image Id"}},{"name":"assigned_to_id","in":"query","required":true,"schema":{"type":"integer","title":"Assigned To Id"}},{"name":"guideline_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Guideline Id"}},{"name":"report_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Explicit report context the assignment was made from","title":"Report Id"},"description":"Explicit report context the assignment was made from"},{"name":"notify","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Notify"}},{"name":"due_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional due date for the task","title":"Due Date"},"description":"Optional due date for the task"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageAssignmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/assignable-members/{image_id}":{"get":{"tags":["Image Assignment"],"summary":"Get Assignable Members","description":"Get list of all active company members who can be assigned.\nReturns all active members from the same company.","operationId":"get_assignable_members_api_assignment_assignable_members__image_id__get","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompanyMemberRead"},"title":"Response Get Assignable Members Api Assignment Assignable Members  Image Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/failed":{"get":{"tags":["Image Assignment"],"summary":"Get Failed Images","description":"Lists failed images visible to the current member.","operationId":"get_failed_images_api_assignment_failed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ImageRead"},"type":"array","title":"Response Get Failed Images Api Assignment Failed Get"}}}}}}},"/api/assignment/stats":{"get":{"tags":["Image Assignment"],"summary":"Get Assignment Stats","description":"Returns general assignment stats for the dashboard or assignment center.","operationId":"get_assignment_stats_api_assignment_stats_get","parameters":[{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"period","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AssignmentStatsResponse"},{"$ref":"#/components/schemas/AssignmentCenterStatsResponse"}],"title":"Response Get Assignment Stats Api Assignment Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/cards":{"get":{"tags":["Image Assignment"],"summary":"Get Assignment Cards","description":"Returns a paginated flat card list for the assignment center.","operationId":"get_assignment_cards_api_assignment_cards_get","parameters":[{"name":"site_id","in":"query","required":true,"schema":{"type":"integer","description":"Site ID to fetch assignment cards for","title":"Site Id"},"description":"Site ID to fetch assignment cards for"},{"name":"status","in":"query","required":false,"schema":{"type":"string","description":"Card status filter: all | open | assigned | resolved","default":"all","title":"Status"},"description":"Card status filter: all | open | assigned | resolved"},{"name":"type","in":"query","required":false,"schema":{"type":"string","description":"Media type filter: all | image | video | longform_video","default":"all","title":"Type"},"description":"Media type filter: all | image | video | longform_video"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number (1-indexed)","default":1,"title":"Page"},"description":"Page number (1-indexed)"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":20,"title":"Page Size"},"description":"Items per page"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Sort order: uploaded_at_desc | uploaded_at_asc","default":"uploaded_at_desc","title":"Sort"},"description":"Sort order: uploaded_at_desc | uploaded_at_asc"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentCardListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/":{"get":{"tags":["Image Assignment"],"summary":"Get Grouped Failed Images","description":"Returns failed images grouped by Category and Violation with nested stats.\nSupports optional filters as a multiselect list (statuses and risk levels).\nCompany admins can optionally filter by site_id.\nSupports cursor/limit for guideline infinite scroll and page/page_size for date/upload modes.\nReturns a maximum of 4 images per violation for efficiency.","operationId":"get_grouped_failed_images_api_assignment__get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"scenario_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Exact scenario identity for date-grouped history","title":"Scenario Key"},"description":"Exact scenario identity for date-grouped history"},{"name":"filters","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Media type filter: image | video | longform_video | all","title":"Type"},"description":"Media type filter: image | video | longform_video | all"},{"name":"group_by","in":"query","required":false,"schema":{"type":"string","description":"Grouping mode: 'guideline', 'date', or 'upload'","default":"guideline","title":"Group By"},"description":"Grouping mode: 'guideline', 'date', or 'upload'"},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by site (for company_admin)","title":"Site Id"},"description":"Filter by site (for company_admin)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number (1-indexed)","default":1,"title":"Page"},"description":"Page number (1-indexed)"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":20,"title":"Page Size"},"description":"Items per page"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Infinite-scroll cursor offset for guideline grouping","title":"Cursor"},"description":"Infinite-scroll cursor offset for guideline grouping"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":1},{"type":"null"}],"description":"Infinite-scroll batch size for guideline grouping","title":"Limit"},"description":"Infinite-scroll batch size for guideline grouping"},{"name":"preview_category_limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":0},{"type":"null"}],"description":"Only include signed preview images for the first N category groups","title":"Preview Category Limit"},"description":"Only include signed preview images for the first N category groups"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Grouped Failed Images Api Assignment  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/images":{"get":{"tags":["Image Assignment"],"summary":"Get Violation Images","description":"Returns a flat list of images for a specific violation rule (UUID).","operationId":"get_violation_images_api_assignment_images_get","parameters":[{"name":"guideline_id_ai","in":"query","required":true,"schema":{"type":"string","description":"Unique identifier for the violation rule (UUID)","title":"Guideline Id Ai"},"description":"Unique identifier for the violation rule (UUID)"},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by site_id","title":"Site Id"},"description":"Filter by site_id"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"filters","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Media type filter: image | video | longform_video | all","title":"Type"},"description":"Media type filter: image | video | longform_video | all"},{"name":"guideline_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Displayed guideline label guard","title":"Guideline Name"},"description":"Displayed guideline label guard"},{"name":"scenario_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Displayed scenario/category label guard","title":"Scenario Name"},"description":"Displayed scenario/category label guard"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number (1-indexed)","default":1,"title":"Page"},"description":"Page number (1-indexed)"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Items per page","default":100,"title":"Page Size"},"description":"Items per page"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor offset for infinite scroll","title":"Cursor"},"description":"Cursor offset for infinite scroll"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":1},{"type":"null"}],"description":"Cursor page size","title":"Limit"},"description":"Cursor page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Violation Images Api Assignment Images Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/site-stats":{"get":{"tags":["Image Assignment"],"summary":"Get Company Site Stats","description":"Returns overall statistics for all sites in the company (all-time data).","operationId":"get_company_site_stats_api_assignment_site_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanySiteStatsResponse"}}}}}}},"/api/assignment/sites-info":{"get":{"tags":["Image Assignment"],"summary":"Get Company Sites Info","description":"Returns per-site info and health score for all sites in the company.","operationId":"get_company_sites_info_api_assignment_sites_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanySitesInfoResponse"}}}}}}},"/api/assignment/site-health-history/{site_id}":{"get":{"tags":["Image Assignment"],"summary":"Get Site Health History","operationId":"get_site_health_history_api_assignment_site_health_history__site_id__get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":8,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteHealthHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/company-health-history":{"get":{"tags":["Image Assignment"],"summary":"Get Company Health History","operationId":"get_company_health_history_api_assignment_company_health_history_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":8,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteHealthHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/site-top-categories/{site_id}":{"get":{"tags":["Image Assignment"],"summary":"Get Site Top Categories","operationId":"get_site_top_categories_api_assignment_site_top_categories__site_id__get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteTopCategoriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/company-top-categories":{"get":{"tags":["Image Assignment"],"summary":"Get Company Top Categories","operationId":"get_company_top_categories_api_assignment_company_top_categories_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteTopCategoriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/violation-trends":{"get":{"tags":["Image Assignment"],"summary":"Get Category Violation Trends","description":"Up to 5 categories: FAIL counts this calendar week vs last calendar week (JST Monday week boundary, UTC+9).","operationId":"get_category_violation_trends_api_assignment_violation_trends_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryTrendResponse"}}}}}}},"/api/assignment/sites-list":{"get":{"tags":["Image Assignment"],"summary":"Get Company Sites List","description":"Returns a lightweight list of sites with today's health score.","operationId":"get_company_sites_list_api_assignment_sites_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteListResponse"}}}}}}},"/api/assignment/zone-breakdown/{site_id}":{"get":{"tags":["Image Assignment"],"summary":"Get Site Zone Breakdown","description":"Returns folder names and critical image counts for a site today.","operationId":"get_site_zone_breakdown_api_assignment_zone_breakdown__site_id__get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneCriticalBreakdownResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/assignment-center-stats":{"get":{"tags":["Image Assignment"],"summary":"Get Assignment Center Stats By Site","description":"Returns assignment center statistics for a specific site.\nSupports optional date and severity filtering.","operationId":"get_assignment_center_stats_by_site_api_assignment_assignment_center_stats_get","parameters":[{"name":"site_id","in":"query","required":true,"schema":{"type":"integer","description":"Site ID to get statistics for","title":"Site Id"},"description":"Site ID to get statistics for"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"period","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period"}},{"name":"filters","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Severity/status filters to apply to center statistics","title":"Filters"},"description":"Severity/status filters to apply to center statistics"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentCenterStatsBySiteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/assignment/resolve/{image_id}":{"post":{"tags":["Image Assignment"],"summary":"Resolve Hazard","description":"Marks a hazard as resolved with an optional comment.","operationId":"resolve_hazard_api_assignment_resolve__image_id__post","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}},{"name":"comment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageAssignmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/image-scenarios/{image_id}":{"get":{"tags":["Scenarios"],"summary":"Get All","operationId":"get_all_api_image_scenarios__image_id__get","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/image-scenarios/create":{"post":{"tags":["Scenarios"],"summary":"Create","operationId":"create_api_image_scenarios_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageScenariosCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/image-scenarios/{image_scenar_id}":{"put":{"tags":["Scenarios"],"summary":"Update","operationId":"update_api_image_scenarios__image_scenar_id__put","parameters":[{"name":"image_scenar_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Scenar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageScenariosUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Scenarios"],"summary":"Delete","operationId":"delete_api_image_scenarios__image_scenar_id__delete","parameters":[{"name":"image_scenar_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Scenar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/guidelines/{image_id}":{"get":{"tags":["Guidelines"],"summary":"Get All By Image","operationId":"get_all_by_image_api_guidelines__image_id__get","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/guidelines/{image_id}/resolved":{"get":{"tags":["Guidelines"],"summary":"Get Resolved Guidelines","operationId":"get_resolved_guidelines_api_guidelines__image_id__resolved_get","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/guidelines/create":{"post":{"tags":["Guidelines"],"summary":"Create","operationId":"create_api_guidelines_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuidelinesCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/guidelines/{guideline_id}":{"put":{"tags":["Guidelines"],"summary":"Update","operationId":"update_api_guidelines__guideline_id__put","parameters":[{"name":"guideline_id","in":"path","required":true,"schema":{"type":"integer","title":"Guideline Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuidelinesUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Guidelines"],"summary":"Delete","operationId":"delete_api_guidelines__guideline_id__delete","parameters":[{"name":"guideline_id","in":"path","required":true,"schema":{"type":"integer","title":"Guideline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/guidelines/bulk-resolve":{"post":{"tags":["Guidelines"],"summary":"Bulk Resolve","description":"Bulk resolve multiple guidelines at once with optional evidence file uploads.\nUsed by the Patrol Report Action Center for:\n- Resolving individual findings\n- Resolving all findings in a category\n- Resolving all duplicate findings\n- Resolving all findings in a report\n\n`create_comment` opts in to persisting the resolution evidence as an\nImageComment on each resolved guideline so the comment surfaces in the\nPatrol Report Detail comment section (the report only renders comments\nfrom the image_comments table, never from GuidelineResolution).\nOnly the notification/task-flow resolve sends this flag, so existing\ndirect report flows keep their current comment behaviour.","operationId":"bulk_resolve_api_guidelines_bulk_resolve_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_bulk_resolve_api_guidelines_bulk_resolve_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/guidelines/ai-suggestions":{"post":{"tags":["Guidelines"],"summary":"Get Ai Suggestions","description":"Generate AI-powered suggestions for resolving violations.\n\nCalls the ANZEN AI server's Gemini-powered /ai-suggestions endpoint to\ngenerate LLM-driven corrective actions. There is intentionally no local\nfallback: if the ANZEN server is unavailable or returns an error, an empty\nresult is returned so the UI surfaces a clear \"suggestions unavailable\"\nstate.\n\nNon-empty results are cached in Redis (per report + violation + language)\nwith a TTL so that subsequent requests for the same report/violation are\nserved from cache without re-generating.","operationId":"get_ai_suggestions_api_guidelines_ai_suggestions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISuggestionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/guidelines-history":{"get":{"tags":["Guideline History"],"summary":"Get All","operationId":"get_all_api_guidelines_history_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/guidelines-history/{guideline_history_id}":{"get":{"tags":["Guideline History"],"summary":"Get By Id","operationId":"get_by_id_api_guidelines_history__guideline_history_id__get","parameters":[{"name":"guideline_history_id","in":"path","required":true,"schema":{"type":"integer","title":"Guideline History Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Guideline History"],"summary":"Update","operationId":"update_api_guidelines_history__guideline_history_id__put","parameters":[{"name":"guideline_history_id","in":"path","required":true,"schema":{"type":"integer","title":"Guideline History Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuidelinesHistoryCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Guideline History"],"summary":"Delete","operationId":"delete_api_guidelines_history__guideline_history_id__delete","parameters":[{"name":"guideline_history_id","in":"path","required":true,"schema":{"type":"integer","title":"Guideline History Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/guidelines-history/create":{"post":{"tags":["Guideline History"],"summary":"Create","operationId":"create_api_guidelines_history_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuidelinesHistoryCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evidence-images/{image_id}":{"get":{"tags":["Evidence Images"],"summary":"Get All By Image","operationId":"get_all_by_image_api_evidence_images__image_id__get","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evidence-images/create":{"post":{"tags":["Evidence Images"],"summary":"Create","operationId":"create_api_evidence_images_create_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_api_evidence_images_create_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evidence-images/{evidence_image_id}":{"put":{"tags":["Evidence Images"],"summary":"Update","operationId":"update_api_evidence_images__evidence_image_id__put","parameters":[{"name":"evidence_image_id","in":"path","required":true,"schema":{"type":"integer","title":"Evidence Image Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceImagesUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Evidence Images"],"summary":"Delete","operationId":"delete_api_evidence_images__evidence_image_id__delete","parameters":[{"name":"evidence_image_id","in":"path","required":true,"schema":{"type":"integer","title":"Evidence Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evidence-review":{"get":{"tags":["Evidence Review"],"summary":"Get All","operationId":"get_all_api_evidence_review_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/evidence-review/{evidence_review_id}":{"get":{"tags":["Evidence Review"],"summary":"Get By Id","operationId":"get_by_id_api_evidence_review__evidence_review_id__get","parameters":[{"name":"evidence_review_id","in":"path","required":true,"schema":{"type":"integer","title":"Evidence Review Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Evidence Review"],"summary":"Update","operationId":"update_api_evidence_review__evidence_review_id__put","parameters":[{"name":"evidence_review_id","in":"path","required":true,"schema":{"type":"integer","title":"Evidence Review Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceReviewUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Evidence Review"],"summary":"Delete","operationId":"delete_api_evidence_review__evidence_review_id__delete","parameters":[{"name":"evidence_review_id","in":"path","required":true,"schema":{"type":"integer","title":"Evidence Review Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evidence-review/create":{"post":{"tags":["Evidence Review"],"summary":"Create","operationId":"create_api_evidence_review_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceReviewCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user-profile-image/{aws_id}":{"get":{"tags":["Profile Image"],"summary":"Get All Members","operationId":"get_all_members_api_user_profile_image__aws_id__get","parameters":[{"name":"aws_id","in":"path","required":true,"schema":{"type":"string","title":"Aws Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user-profile-image/":{"post":{"tags":["Profile Image"],"summary":"Create Company Member","operationId":"create_company_member_api_user_profile_image__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileImageCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user-profile-image/{user_profile_image_id}":{"put":{"tags":["Profile Image"],"summary":"Update Company Member","operationId":"update_company_member_api_user_profile_image__user_profile_image_id__put","parameters":[{"name":"user_profile_image_id","in":"path","required":true,"schema":{"type":"integer","title":"User Profile Image Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileImageCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Profile Image"],"summary":"Delete Company Member","operationId":"delete_company_member_api_user_profile_image__user_profile_image_id__delete","parameters":[{"name":"user_profile_image_id","in":"path","required":true,"schema":{"type":"integer","title":"User Profile Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/revenues/":{"get":{"tags":["Revenue"],"summary":"Get Revenue Details","description":"get combined monthly revenue from all companies","operationId":"get_revenue_details_api_revenues__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CombinedRevenueData"}}}}}}},"/api/revenues/bills":{"get":{"tags":["Revenue"],"summary":"Get Paid Bills","operationId":"get_paid_bills_api_revenues_bills_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BillRead"},"type":"array","title":"Response Get Paid Bills Api Revenues Bills Get"}}}}}}},"/api/revenues/{company_id}":{"get":{"tags":["Revenue"],"summary":"Get Company Revenue Details","operationId":"get_company_revenue_details_api_revenues__company_id__get","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyRevenueData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/platform-stats":{"get":{"tags":["Platform Stats"],"summary":"Get Platform Stats","description":"get overall platform statistics","operationId":"get_platform_stats_api_platform_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/conversations":{"get":{"tags":["Chat"],"summary":"Get All Conversations","operationId":"get_all_conversations_api_conversations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConversationListResponse"},"title":"Response Get All Conversations Api Conversations Get"}}}}}},"post":{"tags":["Chat"],"summary":"Create Conversation","operationId":"create_conversation_api_conversations_post","parameters":[{"name":"ai_rag_corpus_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"List of AI RAG corpus ids","title":"Ai Rag Corpus Ids"},"description":"List of AI RAG corpus ids"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/conversations/{conversation_id}":{"get":{"tags":["Chat"],"summary":"Get Conversation","operationId":"get_conversation_api_conversations__conversation_id__get","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Chat"],"summary":"Update Conversation","operationId":"update_conversation_api_conversations__conversation_id__put","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Chat"],"summary":"Delete Conversation","operationId":"delete_conversation_api_conversations__conversation_id__delete","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/conversations/{conversation_id}/messages":{"get":{"tags":["Chat"],"summary":"Get All Messages","operationId":"get_all_messages_api_conversations__conversation_id__messages_get","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponse"},"title":"Response Get All Messages Api Conversations  Conversation Id  Messages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Chat"],"summary":"Create Message","operationId":"create_message_api_conversations__conversation_id__messages_post","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}},{"name":"ai_rag_corpus_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"List of AI RAG corpus ids","title":"Ai Rag Corpus Ids"},"description":"List of AI RAG corpus ids"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageReplyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/messages/{message_id}":{"get":{"tags":["Chat"],"summary":"Get Message","operationId":"get_message_api_messages__message_id__get","parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"integer","title":"Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Chat"],"summary":"Update Message","operationId":"update_message_api_messages__message_id__put","parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"integer","title":"Message Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Chat"],"summary":"Delete Message","operationId":"delete_message_api_messages__message_id__delete","parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"integer","title":"Message Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/kenshu-tools/catalog":{"get":{"tags":["KenshuAI Internal"],"summary":"Get Kenshu Tools Catalog","description":"Tool name/description catalog the agent binds one LangChain tool per.","operationId":"get_kenshu_tools_catalog_internal_kenshu_tools_catalog_get","parameters":[{"name":"server-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/kenshu-tools/call":{"post":{"tags":["KenshuAI Internal"],"summary":"Call Kenshu Tool","operationId":"call_kenshu_tool_internal_kenshu_tools_call_post","parameters":[{"name":"server-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KenshuToolCallRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KenshuToolCallResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/roles/create/":{"post":{"tags":["Roles"],"summary":"Create User Role","operationId":"create_user_role_api_roles_create__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/roles/":{"get":{"tags":["Roles"],"summary":"Get All Roles","operationId":"get_all_roles_api_roles__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UserRoleRead"},"type":"array","title":"Response Get All Roles Api Roles  Get"}}}}}}},"/api/roles/{role_id}":{"put":{"tags":["Roles"],"summary":"Update Role","operationId":"update_role_api_roles__role_id__put","parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"integer","title":"Role Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Roles"],"summary":"Delete Role","operationId":"delete_role_api_roles__role_id__delete","parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"integer","title":"Role Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/server/companies":{"get":{"tags":["Server Lookup"],"summary":"Search Companies By Name","operationId":"search_companies_by_name_api_server_companies_get","parameters":[{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompanyLookupResponse"},"title":"Response Search Companies By Name Api Server Companies Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/server/search":{"get":{"tags":["Server Lookup"],"summary":"Search Site Or Camera By Name","operationId":"search_site_or_camera_by_name_api_server_search_get","parameters":[{"name":"site","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Site"}},{"name":"camera","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Camera"}},{"name":"site_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Site Ids"}},{"name":"camera_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Camera Ids"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/position/create/":{"post":{"tags":["Position"],"summary":"Create Position","operationId":"create_position_api_position_create__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyPositionCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyPositionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/position/":{"get":{"tags":["Position"],"summary":"Get All Positions","operationId":"get_all_positions_api_position__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CompanyPositionRead"},"type":"array","title":"Response Get All Positions Api Position  Get"}}}}}}},"/api/position/{position_id}":{"get":{"tags":["Position"],"summary":"Get Position By Id","operationId":"get_position_by_id_api_position__position_id__get","parameters":[{"name":"position_id","in":"path","required":true,"schema":{"type":"integer","title":"Position Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyPositionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Position"],"summary":"Update Position","operationId":"update_position_api_position__position_id__put","parameters":[{"name":"position_id","in":"path","required":true,"schema":{"type":"integer","title":"Position Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyPositionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyPositionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Position"],"summary":"Delete Position","operationId":"delete_position_api_position__position_id__delete","parameters":[{"name":"position_id","in":"path","required":true,"schema":{"type":"integer","title":"Position Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cookies":{"get":{"tags":["Cookie Consent"],"summary":"Retrieve Cookie Consent","operationId":"retrieve_cookie_consent_api_cookies_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CookieConsentResponse"}}}}}},"post":{"tags":["Cookie Consent"],"summary":"Store Cookie Consent","operationId":"store_cookie_consent_api_cookies_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CookieConsentCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/process-image":{"post":{"tags":["AI Server"],"summary":"Analyze Image Backend","operationId":"analyze_image_backend_api_process_image_post","parameters":[{"name":"s3_path","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Path"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_analyze_image_backend_api_process_image_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evidence-image":{"post":{"tags":["AI Server"],"summary":"Evidence Image Backend","operationId":"evidence_image_backend_api_evidence_image_post","parameters":[{"name":"s3_path","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Path"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_evidence_image_backend_api_evidence_image_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reanalyze-image":{"post":{"tags":["AI Server"],"summary":"Reanalyze Image Route","operationId":"reanalyze_image_route_api_reanalyze_image_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_reanalyze_image_route_api_reanalyze_image_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/process-video":{"post":{"tags":["AI Server"],"summary":"Analyze Video Backend","operationId":"analyze_video_backend_api_process_video_post","parameters":[{"name":"s3_path","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Path"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_analyze_video_backend_api_process_video_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evidence-video":{"post":{"tags":["AI Server"],"summary":"Evidence Video Backend","operationId":"evidence_video_backend_api_evidence_video_post","parameters":[{"name":"s3_path","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Path"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_evidence_video_backend_api_evidence_video_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reanalyze-video":{"post":{"tags":["AI Server"],"summary":"Reanalyze Video Route","operationId":"reanalyze_video_route_api_reanalyze_video_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_reanalyze_video_route_api_reanalyze_video_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/folders/create":{"post":{"tags":["Folder"],"summary":"Create Folder","operationId":"create_folder_api_folders_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/folders/get":{"get":{"tags":["Folder"],"summary":"Get My Folders","operationId":"get_my_folders_api_folders_get_get","parameters":[{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FolderResponse"},"title":"Response Get My Folders Api Folders Get Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/folders/{folder_id}/invite-user":{"post":{"tags":["Folder"],"summary":"Invite User","operationId":"invite_user_api_folders__folder_id__invite_user_post","parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"integer","title":"Folder Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderInviteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/folders/{folder_id}/remove-user":{"post":{"tags":["Folder"],"summary":"Remove User","operationId":"remove_user_api_folders__folder_id__remove_user_post","parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"integer","title":"Folder Id"}},{"name":"company_member_id","in":"query","required":true,"schema":{"type":"integer","title":"Company Member Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/folders/{folder_id}/images":{"get":{"tags":["Folder"],"summary":"Get Folder Images","operationId":"get_folder_images_api_folders__folder_id__images_get","parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"integer","title":"Folder Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ImageRead"},"title":"Response Get Folder Images Api Folders  Folder Id  Images Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/folders/{company_member_id}/active":{"get":{"tags":["Folder"],"summary":"Check User Active Folder","operationId":"check_user_active_folder_api_folders__company_member_id__active_get","parameters":[{"name":"company_member_id","in":"path","required":true,"schema":{"type":"integer","title":"Company Member Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/folders/delete/{folder_id}":{"delete":{"tags":["Folder"],"summary":"Delete Folder","operationId":"delete_folder_api_folders_delete__folder_id__delete","parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"integer","title":"Folder Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/folders/update/{folder_id}":{"put":{"tags":["Folder"],"summary":"Update Folder","operationId":"update_folder_api_folders_update__folder_id__put","parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"integer","title":"Folder Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/folders/company-members/{folder_id}":{"get":{"tags":["Folder"],"summary":"Get Assignable Members By Folder","operationId":"get_assignable_members_by_folder_api_folders_company_members__folder_id__get","parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"integer","title":"Folder Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompanyMemberFolderStatus"},"title":"Response Get Assignable Members By Folder Api Folders Company Members  Folder Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/training-times/":{"get":{"tags":["KY Training"],"summary":"Get Training Times","operationId":"get_training_times_api_training_times__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/KYTrainingTimeRead"},"type":"array","title":"Response Get Training Times Api Training Times  Get"}}}}}},"post":{"tags":["KY Training"],"summary":"Create Training Time","operationId":"create_training_time_api_training_times__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingTimeCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingTimeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/training-times/{training_id}":{"put":{"tags":["KY Training"],"summary":"Update Training Time","operationId":"update_training_time_api_training_times__training_id__put","parameters":[{"name":"training_id","in":"path","required":true,"schema":{"type":"integer","title":"Training Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingTimeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["KY Training"],"summary":"Delete Training Time","operationId":"delete_training_time_api_training_times__training_id__delete","parameters":[{"name":"training_id","in":"path","required":true,"schema":{"type":"integer","title":"Training Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-training/conversations":{"get":{"tags":["KY Training"],"summary":"Get All My Conversations","operationId":"get_all_my_conversations_api_ky_training_conversations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/KYTrainingConversationResponse"},"type":"array","title":"Response Get All My Conversations Api Ky Training Conversations Get"}}}}}},"post":{"tags":["KY Training"],"summary":"Create Conversation","operationId":"create_conversation_api_ky_training_conversations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingConversationCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingConversationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-training/conversations/{ky_conversation_id}":{"get":{"tags":["KY Training"],"summary":"Get Conversation","operationId":"get_conversation_api_ky_training_conversations__ky_conversation_id__get","parameters":[{"name":"ky_conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingConversationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["KY Training"],"summary":"Update Conversation","operationId":"update_conversation_api_ky_training_conversations__ky_conversation_id__put","parameters":[{"name":"ky_conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingConversationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingConversationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["KY Training"],"summary":"Delete Conversation","operationId":"delete_conversation_api_ky_training_conversations__ky_conversation_id__delete","parameters":[{"name":"ky_conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-training/conversations/{ky_conversation_id}/summary":{"get":{"tags":["KY Training"],"summary":"Get Conversation Summary","operationId":"get_conversation_summary_api_ky_training_conversations__ky_conversation_id__summary_get","parameters":[{"name":"ky_conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Conversation Id"}},{"name":"language","in":"query","required":true,"schema":{"type":"string","title":"Language"}},{"name":"feedback","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feedback"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingConversationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-training/conversations/{ky_conversation_id}/perform":{"post":{"tags":["KY Training"],"summary":"Perform Ky","operationId":"perform_ky_api_ky_training_conversations__ky_conversation_id__perform_post","parameters":[{"name":"ky_conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYPerformKYPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingConversationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-training/conversations/{ky_conversation_id}/complete":{"post":{"tags":["KY Training"],"summary":"Complete Ky","operationId":"complete_ky_api_ky_training_conversations__ky_conversation_id__complete_post","parameters":[{"name":"ky_conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingConversationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-training/conversations/{ky_conversation_id}/approve":{"post":{"tags":["KY Training"],"summary":"Approve Ky","operationId":"approve_ky_api_ky_training_conversations__ky_conversation_id__approve_post","parameters":[{"name":"ky_conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-training/conversations/{ky_conversation_id}/messages":{"get":{"tags":["KY Training"],"summary":"Get All Messages","operationId":"get_all_messages_api_ky_training_conversations__ky_conversation_id__messages_get","parameters":[{"name":"ky_conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KYTrainingMessageResponse"},"title":"Response Get All Messages Api Ky Training Conversations  Ky Conversation Id  Messages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["KY Training"],"summary":"Create Message","operationId":"create_message_api_ky_training_conversations__ky_conversation_id__messages_post","parameters":[{"name":"ky_conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingMessageCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KYTrainingMessageResponse"},"title":"Response Create Message Api Ky Training Conversations  Ky Conversation Id  Messages Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-training/messages/{ky_message_id}":{"get":{"tags":["KY Training"],"summary":"Get Message","operationId":"get_message_api_ky_training_messages__ky_message_id__get","parameters":[{"name":"ky_message_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["KY Training"],"summary":"Update Message","operationId":"update_message_api_ky_training_messages__ky_message_id__put","parameters":[{"name":"ky_message_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Message Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYTrainingMessageUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KYTrainingMessageResponse"},"title":"Response Update Message Api Ky Training Messages  Ky Message Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["KY Training"],"summary":"Delete Message","operationId":"delete_message_api_ky_training_messages__ky_message_id__delete","parameters":[{"name":"ky_message_id","in":"path","required":true,"schema":{"type":"string","title":"Ky Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-folder/":{"get":{"tags":["KY Training"],"summary":"Get Ky Folders","operationId":"get_ky_folders_api_ky_folder__get","parameters":[{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KYFolderResponse"},"title":"Response Get Ky Folders Api Ky Folder  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-folder/my":{"get":{"tags":["KY Training"],"summary":"Get My Ky Folders","operationId":"get_my_ky_folders_api_ky_folder_my_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/KYFolderResponse"},"type":"array","title":"Response Get My Ky Folders Api Ky Folder My Get"}}}}}}},"/api/ky-folder/{folder_id}":{"put":{"tags":["KY Training"],"summary":"Update Folder","operationId":"update_folder_api_ky_folder__folder_id__put","parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYFolderUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYFolderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ky-folder/{foreman_member_id}":{"get":{"tags":["KY Training"],"summary":"Get Folder","operationId":"get_folder_api_ky_folder__foreman_member_id__get","parameters":[{"name":"foreman_member_id","in":"path","required":true,"schema":{"type":"integer","title":"Foreman Member Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYFolderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/foremen":{"get":{"tags":["KY Training"],"summary":"Get Foremen","description":"Get list of all foremen for the company with their site information.\nRespects role-based access:\n- company_admin: sees all foremen in the company\n- site_admin: sees foremen only from their site\n- company_member: sees foremen only from their site","operationId":"get_foremen_api_foremen_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ForemanResponse"},"type":"array","title":"Response Get Foremen Api Foremen Get"}}}}}}},"/api/notes":{"get":{"tags":["Notes"],"summary":"Get All Notes","operationId":"get_all_notes_api_notes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/NoteListItem"},"type":"array","title":"Response Get All Notes Api Notes Get"}}}}}}},"/api/notes/{id}":{"get":{"tags":["Notes"],"summary":"Get Note","operationId":"get_note_api_notes__id__get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Notes"],"summary":"Delete Note","operationId":"delete_note_api_notes__id__delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notes/summarize":{"post":{"tags":["Notes"],"summary":"Summarize Notes","operationId":"summarize_notes_api_notes_summarize_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummarizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notes/{id}/visibility":{"patch":{"tags":["Notes"],"summary":"Update Note Visibility","operationId":"update_note_visibility_api_notes__id__visibility_patch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}},{"name":"visibility","in":"query","required":true,"schema":{"type":"boolean","title":"Visibility"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notes/upload":{"post":{"tags":["Notes"],"summary":"Upload Notes","operationId":"upload_notes_api_notes_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_notes_api_notes_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rag/create_rag_corpus":{"post":{"tags":["RAG"],"summary":"Create Rag Corpus Route","operationId":"create_rag_corpus_route_api_rag_create_rag_corpus_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_create_rag_corpus_route_api_rag_create_rag_corpus_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RAGCorpusRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rag/upload_files_to_rag":{"post":{"tags":["RAG"],"summary":"Upload Files Route","operationId":"upload_files_route_api_rag_upload_files_to_rag_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_files_route_api_rag_upload_files_to_rag_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rag/rag_corpus":{"get":{"tags":["RAG"],"summary":"List Rag Corpora Route","operationId":"list_rag_corpora_route_api_rag_rag_corpus_get","parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"integer","title":"Company Id"}},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rag/rag_corpus/{rag_corpus_id}":{"get":{"tags":["RAG"],"summary":"Get Rag Corpus Route","operationId":"get_rag_corpus_route_api_rag_rag_corpus__rag_corpus_id__get","parameters":[{"name":"rag_corpus_id","in":"path","required":true,"schema":{"type":"string","title":"Rag Corpus Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["RAG"],"summary":"Delete Rag Corpus Route","operationId":"delete_rag_corpus_route_api_rag_rag_corpus__rag_corpus_id__delete","parameters":[{"name":"rag_corpus_id","in":"path","required":true,"schema":{"type":"string","title":"Rag Corpus Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rag/rag_file/{rag_file_id}":{"delete":{"tags":["RAG"],"summary":"Delete Rag File Route","operationId":"delete_rag_file_route_api_rag_rag_file__rag_file_id__delete","parameters":[{"name":"rag_file_id","in":"path","required":true,"schema":{"type":"string","title":"Rag File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rag/rag-mapping":{"get":{"tags":["RAG"],"summary":"Get Rag Mapping Route","description":"Get RAG mapping list for a company from the AI dev server.\nFetches site IDs from https://devai.avete.ai/rag-mapping/{company_id}\nand returns them with their corresponding site names from the database.","operationId":"get_rag_mapping_route_api_rag_rag_mapping_get","parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"integer","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/box/site-context":{"get":{"tags":["Box"],"summary":"Get Site Admin Site","operationId":"get_site_admin_site_api_box_site_context_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteAdminContext"}}}}}}},"/api/box/oauth/url":{"get":{"tags":["Box"],"summary":"Get Box Authorization Url","operationId":"get_box_authorization_url_api_box_oauth_url_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/box/folders":{"get":{"tags":["Box"],"summary":"List Box Folder Contents","operationId":"list_box_folder_contents_api_box_folders_get","parameters":[{"name":"folder_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Box folder ID. Defaults to root.","title":"Folder Id"},"description":"Box folder ID. Defaults to root."},{"name":"marker","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Pagination marker from Box API.","title":"Marker"},"description":"Pagination marker from Box API."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Max items per page.","default":500,"title":"Limit"},"description":"Max items per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/box/connection":{"delete":{"tags":["Box"],"summary":"Disconnect Box Account","operationId":"disconnect_box_account_api_box_connection_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/box/file/ai-selection":{"put":{"tags":["Box"],"summary":"Update File Ai Selection","operationId":"update_file_ai_selection_api_box_file_ai_selection_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoxFileAISelectionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/box/file/{box_file_id}":{"get":{"tags":["Box"],"summary":"Get File From S3","description":"Get file from S3 by box_file_id.\nReturns the file as a streaming response with appropriate content type.","operationId":"get_file_from_s3_api_box_file__box_file_id__get","parameters":[{"name":"box_file_id","in":"path","required":true,"schema":{"type":"string","title":"Box File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chat/chat_with_audio":{"post":{"tags":["Chat"],"summary":"Chat With Audio","description":"Forwards the request with files and form data to the AI server.\n\nParameters match the ANZEN_API_SERVER endpoint:\n- conversation_id: Conversation identifier\n- language: Language code (\"en\" or \"jp\")\n- question: Optional text question\n- files: Optional list of audio/video/document files","operationId":"chat_with_audio_api_chat_chat_with_audio_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_chat_with_audio_api_chat_chat_with_audio_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notification-settings/members":{"get":{"tags":["Notification Settings"],"summary":"Get Members With Notification Status","operationId":"get_members_with_notification_status_api_notification_settings_members_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/notification-settings/members/{member_id}":{"put":{"tags":["Notification Settings"],"summary":"Update Member Notification Interval","operationId":"update_member_notification_interval_api_notification_settings_members__member_id__put","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationIntervalUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/uploads":{"get":{"tags":["Uploads"],"summary":"List My Uploads","operationId":"list_my_uploads_api_uploads_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":5,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UploadJobRead"},"title":"Response List My Uploads Api Uploads Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/uploads/preview":{"get":{"tags":["Uploads"],"summary":"List My Uploads Preview","operationId":"list_my_uploads_preview_api_uploads_preview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadPreviewResponse"}}}}}}},"/api/uploads/paged":{"get":{"tags":["Uploads"],"summary":"List My Uploads Paged","operationId":"list_my_uploads_paged_api_uploads_paged_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadPageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/uploads/{job_id}/cancel":{"post":{"tags":["Uploads"],"summary":"Cancel Upload","operationId":"cancel_upload_api_uploads__job_id__cancel_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/billing/request-plan":{"post":{"tags":["Billing"],"summary":"Request Plan","operationId":"request_plan_api_billing_request_plan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/zone-sites":{"get":{"tags":["Zone Sites"],"summary":"Get Zone Sites","operationId":"get_zone_sites_api_zone_sites_get","parameters":[{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ZoneRead"},"title":"Response Get Zone Sites Api Zone Sites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Zone Sites"],"summary":"Upsert Zone Sites","operationId":"upsert_zone_sites_api_zone_sites_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneBulkUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras":{"post":{"tags":["Cameras"],"summary":"Create Camera","operationId":"create_camera_api_cameras_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Cameras"],"summary":"List Cameras","operationId":"list_cameras_api_cameras_get","parameters":[{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CameraDetailResponse"},"title":"Response List Cameras Api Cameras Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/site/{site_id}/timeline":{"get":{"tags":["Cameras"],"summary":"Get Site Camera Timeline","operationId":"get_site_camera_timeline_api_cameras_site__site_id__timeline_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},{"name":"include_in_progress","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include In Progress"}},{"name":"camera_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Camera Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraSiteTimelineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/site/{site_id}/clips":{"get":{"tags":["Cameras"],"summary":"Get Site Camera Clips","operationId":"get_site_camera_clips_api_cameras_site__site_id__clips_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}},{"name":"camera_id","in":"query","required":true,"schema":{"type":"integer","title":"Camera Id"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},{"name":"include_in_progress","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include In Progress"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":96,"minimum":1,"default":24,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraSiteTimelineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/site/{site_id}/events":{"get":{"tags":["Cameras"],"summary":"Get Site Camera Events","operationId":"get_site_camera_events_api_cameras_site__site_id__events_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"integer","title":"Site Id"}},{"name":"camera_id","in":"query","required":true,"schema":{"type":"integer","title":"Camera Id"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},{"name":"recording_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recording Id"}},{"name":"max_failed_guidelines_per_report","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":12,"title":"Max Failed Guidelines Per Report"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraSiteEventsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/{camera_id}":{"get":{"tags":["Cameras"],"summary":"Get Camera","operationId":"get_camera_api_cameras__camera_id__get","parameters":[{"name":"camera_id","in":"path","required":true,"schema":{"type":"integer","title":"Camera Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Cameras"],"summary":"Update Camera","operationId":"update_camera_api_cameras__camera_id__put","parameters":[{"name":"camera_id","in":"path","required":true,"schema":{"type":"integer","title":"Camera Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Cameras"],"summary":"Delete Camera","operationId":"delete_camera_api_cameras__camera_id__delete","parameters":[{"name":"camera_id","in":"path","required":true,"schema":{"type":"integer","title":"Camera Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/{camera_id}/snapshot":{"get":{"tags":["Cameras"],"summary":"Get Camera Snapshot","description":"Proxy a single frame snapshot from the camera.\nAllows the frontend to show a 'live' view without exposing credentials\nor hitting CORS issues.","operationId":"get_camera_snapshot_api_cameras__camera_id__snapshot_get","parameters":[{"name":"camera_id","in":"path","required":true,"schema":{"type":"integer","title":"Camera Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/{camera_id}/live/playlist.m3u8":{"get":{"tags":["Cameras"],"summary":"Get Camera Live Playlist","operationId":"get_camera_live_playlist_api_cameras__camera_id__live_playlist_m3u8_get","parameters":[{"name":"camera_id","in":"path","required":true,"schema":{"type":"integer","title":"Camera Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/{camera_id}/live/segment":{"get":{"tags":["Cameras"],"summary":"Get Camera Live Segment","operationId":"get_camera_live_segment_api_cameras__camera_id__live_segment_get","parameters":[{"name":"camera_id","in":"path","required":true,"schema":{"type":"integer","title":"Camera Id"}},{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/{camera_id}/snapshot-stream":{"get":{"tags":["Cameras"],"summary":"Stream Camera Snapshots","description":"Stream repeated camera snapshots over one multipart response.\nThis keeps the live player responsive without opening a new browser\nrequest for every frame. The single-frame snapshot endpoint remains\nthe fallback for thumbnails and browsers/proxies that reject MJPEG.","operationId":"stream_camera_snapshots_api_cameras__camera_id__snapshot_stream_get","parameters":[{"name":"camera_id","in":"path","required":true,"schema":{"type":"integer","title":"Camera Id"}},{"name":"fps","in":"query","required":false,"schema":{"type":"number","maximum":5.0,"minimum":0.25,"default":2.0,"title":"Fps"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/{camera_id}/recordings":{"get":{"tags":["Cameras"],"summary":"Get Camera Recordings","operationId":"get_camera_recordings_api_cameras__camera_id__recordings_get","parameters":[{"name":"camera_id","in":"path","required":true,"schema":{"type":"integer","title":"Camera Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CameraRecordingRead"},"title":"Response Get Camera Recordings Api Cameras  Camera Id  Recordings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/recordings/{recording_id}/playback-url":{"get":{"tags":["Cameras"],"summary":"Get Playback Url","operationId":"get_playback_url_api_cameras_recordings__recording_id__playback_url_get","parameters":[{"name":"recording_id","in":"path","required":true,"schema":{"type":"integer","title":"Recording Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cameras/recordings/{recording_id}":{"delete":{"tags":["Cameras"],"summary":"Delete Recording","operationId":"delete_recording_api_cameras_recordings__recording_id__delete","parameters":[{"name":"recording_id","in":"path","required":true,"schema":{"type":"integer","title":"Recording Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/longform-video/upload":{"post":{"tags":["Longform Video"],"summary":"Upload Longform Video","operationId":"upload_longform_video_api_longform_video_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_longform_video_api_longform_video_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/longform-video/members":{"get":{"tags":["Longform Video"],"summary":"Get Longform Video Members","description":"Fetch members who have access to the site and folder for longform video.\nThis is separated from general folder members to allow for future adaptations\nspecific to notification selection.","operationId":"get_longform_video_members_api_longform_video_members_get","parameters":[{"name":"folder_id","in":"query","required":true,"schema":{"type":"integer","title":"Folder Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompanyMemberFolderStatus"},"title":"Response Get Longform Video Members Api Longform Video Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Longform Video"],"summary":"Update Longform Video Members","description":"Persist the notification list for a specific folder.","operationId":"update_longform_video_members_api_longform_video_members_post","parameters":[{"name":"folder_id","in":"query","required":true,"schema":{"type":"integer","title":"Folder Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderMembersUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/longform-video/status-update":{"post":{"tags":["Longform Video"],"summary":"Update Video Status","description":"Internal endpoint for AI server or Lambda to push status updates.","operationId":"update_video_status_api_longform_video_status_update_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/longform-video/notify-report":{"post":{"tags":["Longform Video"],"summary":"Notify Report Recipients","description":"Send bilingual email notifications to all folder recipients\nwith the report summary.","operationId":"notify_report_recipients_api_longform_video_notify_report_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotifyReportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/longform-video/processing/status":{"get":{"tags":["Longform Video"],"summary":"Get Processing Status","operationId":"get_processing_status_api_longform_video_processing_status_get","parameters":[{"name":"site_id","in":"query","required":false,"schema":{"type":"integer","title":"Site Id"}},{"name":"zone_id","in":"query","required":false,"schema":{"type":"string","title":"Zone Id"}},{"name":"folder_id","in":"query","required":false,"schema":{"type":"string","title":"Folder Id"}},{"name":"camera_id","in":"query","required":false,"schema":{"type":"string","title":"Camera Id"}},{"name":"date","in":"query","required":false,"schema":{"type":"string","title":"Date"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date To"}},{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Filter"}},{"name":"risk_score","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Score"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},{"name":"camera_filter_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Camera Filter Id"}},{"name":"min_violations","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Violations"}},{"name":"max_violations","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Violations"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":9,"title":"Page Size"}},{"name":"debug","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Debug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/longform-video/{video_ref}/pdf":{"get":{"tags":["Longform Video"],"summary":"Get Longform Analysis Pdf","operationId":"get_longform_analysis_pdf_api_longform_video__video_ref__pdf_get","parameters":[{"name":"video_ref","in":"path","required":true,"schema":{"type":"string","title":"Video Ref"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"jp","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/longform-video/{video_id}":{"delete":{"tags":["Longform Video"],"summary":"Delete Longform Video","operationId":"delete_longform_video_api_longform_video__video_id__delete","parameters":[{"name":"video_id","in":"path","required":true,"schema":{"type":"integer","title":"Video Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/longform-video/guideline-clips":{"get":{"tags":["Longform Video"],"summary":"Get Guideline Violation Clips","description":"Retrieve specific clips for a violated guideline.","operationId":"get_guideline_violation_clips_api_longform_video_guideline_clips_get","parameters":[{"name":"guideline_uuid","in":"query","required":true,"schema":{"type":"string","title":"Guideline Uuid"}},{"name":"guideline_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Text"}},{"name":"video_id","in":"query","required":false,"schema":{"type":"integer","title":"Video Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reports":{"get":{"tags":["Reports"],"summary":"List Reports","operationId":"list_reports_api_reports_get","parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Id"}},{"name":"camera_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Camera Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reports/lookup":{"get":{"tags":["Reports"],"summary":"Lookup Report","operationId":"lookup_report_api_reports_lookup_get","parameters":[{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Id"}},{"name":"camera_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Camera Id"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},{"name":"hour","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hour"}},{"name":"s3_path","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reports/{timestamp}":{"get":{"tags":["Reports"],"summary":"Report Detail","operationId":"report_detail_api_reports__timestamp__get","parameters":[{"name":"timestamp","in":"path","required":true,"schema":{"type":"string","title":"Timestamp"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports":{"post":{"tags":["Patrol Reports"],"summary":"Create Report","operationId":"create_report_api_patrol_reports_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatrolReportCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatrolReportRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Patrol Reports"],"summary":"List Reports","operationId":"list_reports_api_patrol_reports_get","parameters":[{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatrolReportListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/images":{"get":{"tags":["Patrol Reports"],"summary":"Get Report Images","operationId":"get_report_images_api_patrol_reports_images_get","parameters":[{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"End Date"}},{"name":"include_safe","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Safe"}},{"name":"media_source","in":"query","required":false,"schema":{"type":"string","pattern":"^(manual|cctv|both)$","default":"both","title":"Media Source"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ImageRead"},"title":"Response Get Report Images Api Patrol Reports Images Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/video-summary":{"get":{"tags":["Patrol Reports"],"summary":"Get Video Summary","description":"AI Preview (Step 3 of the Patrol Report Wizard): stats for the selected videos\nbefore the consolidated report is generated.","operationId":"get_video_summary_api_patrol_reports_video_summary_get","parameters":[{"name":"video_ids","in":"query","required":true,"schema":{"type":"array","items":{"type":"integer"},"description":"LongformVideo.id values selected in the wizard","title":"Video Ids"},"description":"LongformVideo.id values selected in the wizard"},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatrolReportVideoSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/notification-settings":{"get":{"tags":["Patrol Reports"],"summary":"Get Notification Settings","operationId":"get_notification_settings_api_patrol_reports_notification_settings_get","parameters":[{"name":"site_id","in":"query","required":true,"schema":{"type":"integer","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatrolReportNotificationSettingsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Patrol Reports"],"summary":"Upsert Notification Settings","operationId":"upsert_notification_settings_api_patrol_reports_notification_settings_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatrolReportNotificationSettingsUpsert"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatrolReportNotificationSettingsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/{id}":{"get":{"tags":["Patrol Reports"],"summary":"Get Report","operationId":"get_report_api_patrol_reports__id__get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatrolReportRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Patrol Reports"],"summary":"Delete Report","operationId":"delete_report_api_patrol_reports__id__delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/{id}/images":{"get":{"tags":["Patrol Reports"],"summary":"Get Report Images For Report","description":"Same bounds and row rules as PDF (longform aggregation, scenario/risk filters).","operationId":"get_report_images_for_report_api_patrol_reports__id__images_get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"condensed","title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PatrolReportRowRead"},"title":"Response Get Report Images For Report Api Patrol Reports  Id  Images Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/{report_id}/violations/{guideline_id}/source-images":{"get":{"tags":["Patrol Reports"],"summary":"Get Violation Source Images","description":"All source images across a report showing a given violation\n(guideline_id), pre-shaped for the Enhance Resolve Modal. Used by both\nthe Patrol Report row click and the Notification click so resolving a\nfinding always covers every instance of that violation in the report,\nregardless of entry point.","operationId":"get_violation_source_images_api_patrol_reports__report_id__violations__guideline_id__source_images_get","parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"integer","title":"Report Id"}},{"name":"guideline_id","in":"path","required":true,"schema":{"type":"integer","title":"Guideline Id"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/comments":{"post":{"tags":["Patrol Reports"],"summary":"Add Comment","operationId":"add_comment_api_patrol_reports_comments_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageCommentCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageCommentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/comments/resolve-row":{"post":{"tags":["Patrol Reports"],"summary":"Add Comment And Resolve Row","description":"Combined \"Add Comment and Mark Resolved\" action for a single patrol\nreport finding row: saves the inspector's comment AND resolves every\ncurrently-open guideline in that row, in ONE request/one DB transaction —\ninstead of 1 comment POST + N /images/resolve POSTs.","operationId":"add_comment_and_resolve_row_api_patrol_reports_comments_resolve_row_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCommentAndResolveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/comments/{image_id}":{"get":{"tags":["Patrol Reports"],"summary":"List Comments","operationId":"list_comments_api_patrol_reports_comments__image_id__get","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}},{"name":"guideline_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Guideline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ImageCommentRead"},"title":"Response List Comments Api Patrol Reports Comments  Image Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/comments/{comment_id}":{"put":{"tags":["Patrol Reports"],"summary":"Update Comment","operationId":"update_comment_api_patrol_reports_comments__comment_id__put","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"integer","title":"Comment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageCommentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageCommentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Patrol Reports"],"summary":"Delete Comment","operationId":"delete_comment_api_patrol_reports_comments__comment_id__delete","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"integer","title":"Comment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/resolve":{"post":{"tags":["Patrol Reports"],"summary":"Resolve Report","description":"Resolve a whole patrol report with optional evidence file uploads.","operationId":"resolve_report_api_patrol_reports_resolve_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_resolve_report_api_patrol_reports_resolve_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/{id}/pdf":{"get":{"tags":["Patrol Reports"],"summary":"Export Report Pdf","description":"Generate (or serve cached) a high-fidelity PDF report.\n- If the report already has a cached PDF in S3 and its manifest matches, redirect to S3.\n- Otherwise generate a fresh PDF, upload to S3, save the key, and return the bytes.","operationId":"export_report_pdf_api_patrol_reports__id__pdf_get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"jp","title":"Lang"}},{"name":"regenerate","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Regenerate"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"condensed","title":"Mode"}},{"name":"download","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Download"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patrol-reports/{id}/pdf-link":{"get":{"tags":["Patrol Reports"],"summary":"Get Report Pdf Link","operationId":"get_report_pdf_link_api_patrol_reports__id__pdf_link_get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"jp","title":"Lang"}},{"name":"regenerate","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Regenerate"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"condensed","title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/mobile/devices":{"post":{"tags":["Mobile Devices"],"summary":"Register Device","description":"Register the current device for the authenticated user.\n\nIf the device already exists (same user + deviceId), its token and\nnotification state are updated in place.","operationId":"register_device_api_mobile_devices_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileDeviceRegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileDeviceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/mobile/devices/{device_id}":{"delete":{"tags":["Mobile Devices"],"summary":"Remove Device","description":"Remove a registered device on logout (called by the mobile app).\n\nAlso revokes every active auth session bound to this device (via the\nX-Device-Id header sent on signin / new_token), so the logged-in data on\nthis device is signed out server-side as well.","operationId":"remove_device_api_mobile_devices__device_id__delete","parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/mobile/devices/{device_id}/notification-settings":{"patch":{"tags":["Mobile Devices"],"summary":"Update Notification Settings","description":"Update the assignment notification preference for a registered device.","operationId":"update_notification_settings_api_mobile_devices__device_id__notification_settings_patch","parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingsUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Mobile Devices"],"summary":"Get Notification Settings","description":"Return the current assignment notification preference for a device.","operationId":"get_notification_settings_api_mobile_devices__device_id__notification_settings_get","parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/test":{"get":{"tags":["Notifications"],"summary":"Test Endpoint","description":"Simple test endpoint to verify router is working","operationId":"test_endpoint_api_notifications_test_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/notifications/":{"get":{"tags":["Notifications"],"summary":"Get Notifications","description":"Get a page of notifications for the current user.\n\nSupports infinite scroll via ``limit``/``offset`` plus optional filters:\n``read`` state (true/false; omit for all), ``severity`` bucket\n(info/warning/danger/success) and ``search`` (case-insensitive substring\nover the bilingual title/message text). Returns per-page metadata\n(``total``, ``unread_count``, ``has_more``, ``next_offset``) so the panel\ncan page through results while keeping the bell badge accurate.","operationId":"get_notifications_api_notifications__get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"type":"integer","title":"User Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":30,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"read","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Read"}},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(info|warning|danger|success)$"},{"type":"null"}],"title":"Severity"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete Notifications","description":"Bulk-delete notifications owned by the current user.","operationId":"delete_notifications_api_notifications__delete","parameters":[{"name":"ids","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated notification IDs to delete","default":"","title":"Ids"},"description":"Comma-separated notification IDs to delete"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Notifications"],"summary":"Create Notification","description":"Create a new notification (internal use).","operationId":"create_notification_api_notifications__post","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"notification_type","in":"query","required":true,"schema":{"type":"string","title":"Notification Type"}},{"name":"title","in":"query","required":true,"schema":{"type":"string","title":"Title"}},{"name":"message","in":"query","required":true,"schema":{"type":"string","title":"Message"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Metadata"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/{notification_id}/read":{"put":{"tags":["Notifications"],"summary":"Mark Notification As Read","description":"Mark a specific notification as read.","operationId":"mark_notification_as_read_api_notifications__notification_id__read_put","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"integer","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/{notification_id}/unread":{"put":{"tags":["Notifications"],"summary":"Mark Notification As Unread","description":"Mark a specific notification as unread.","operationId":"mark_notification_as_unread_api_notifications__notification_id__unread_put","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"integer","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/mark-all-read":{"put":{"tags":["Notifications"],"summary":"Mark All Notifications As Read","description":"Mark all notifications for the current user as read.","operationId":"mark_all_notifications_as_read_api_notifications_mark_all_read_put","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/notifications/mark-all-unread":{"put":{"tags":["Notifications"],"summary":"Mark All Notifications As Unread","description":"Mark all notifications for the current user as unread.","operationId":"mark_all_notifications_as_unread_api_notifications_mark_all_unread_put","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/notifications/read":{"delete":{"tags":["Notifications"],"summary":"Delete Read Notifications","description":"Delete all read notifications for the current user (\"clear read\").","operationId":"delete_read_notifications_api_notifications_read_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/notifications/{notification_id}":{"delete":{"tags":["Notifications"],"summary":"Delete Notification","description":"Delete a single notification owned by the current user.","operationId":"delete_notification_api_notifications__notification_id__delete","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"integer","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mobile/ota/latest":{"get":{"tags":["Mobile OTA"],"summary":"Get Latest Ota Update","operationId":"get_latest_ota_update_mobile_ota_latest_get","parameters":[{"name":"platform","in":"query","required":true,"schema":{"enum":["android","ios"],"type":"string","title":"Platform"}},{"name":"appVersion","in":"query","required":true,"schema":{"type":"string","title":"Appversion"}},{"name":"currentOtaVersion","in":"query","required":true,"schema":{"type":"integer","minimum":0,"title":"Currentotaversion"}},{"name":"environment","in":"query","required":true,"schema":{"enum":["production","staging"],"type":"string","title":"Environment"}},{"name":"buildNumber","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Buildnumber"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtaLatestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mobile/ota/events":{"post":{"tags":["Mobile OTA"],"summary":"Track Ota Event","operationId":"track_ota_event_mobile_ota_events_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtaEventCreate"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtaEventResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/mobile/ota/releases":{"get":{"tags":["Mobile OTA"],"summary":"List Ota Releases","operationId":"list_ota_releases_api_mobile_ota_releases_get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"enum":["android","ios"],"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"environment","in":"query","required":false,"schema":{"anyOf":[{"enum":["production","staging"],"type":"string"},{"type":"null"}],"title":"Environment"}},{"name":"targetAppVersion","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Targetappversion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OtaReleaseRead"},"title":"Response List Ota Releases Api Mobile Ota Releases Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Mobile OTA"],"summary":"Create Ota Release","operationId":"create_ota_release_api_mobile_ota_releases_post","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_ota_release_api_mobile_ota_releases_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtaReleaseRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/mobile/ota/releases/{release_id}":{"patch":{"tags":["Mobile OTA"],"summary":"Update Ota Release","operationId":"update_ota_release_api_mobile_ota_releases__release_id__patch","parameters":[{"name":"release_id","in":"path","required":true,"schema":{"type":"integer","title":"Release Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtaReleaseUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtaReleaseRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Mobile OTA"],"summary":"Delete Ota Release","operationId":"delete_ota_release_api_mobile_ota_releases__release_id__delete","parameters":[{"name":"release_id","in":"path","required":true,"schema":{"type":"integer","title":"Release Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AISuggestionRequest":{"properties":{"guideline_ids":{"items":{"type":"integer"},"type":"array","title":"Guideline Ids"},"language":{"type":"string","title":"Language","default":"en"},"report_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Report Id"}},"type":"object","required":["guideline_ids"],"title":"AISuggestionRequest"},"AddCommentAndResolveRequest":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"guideline_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Guideline Id"},"comment_text":{"type":"string","title":"Comment Text"},"guideline_ids":{"items":{"type":"integer"},"type":"array","title":"Guideline Ids","default":[]},"source_image_ids":{"items":{"type":"integer"},"type":"array","title":"Source Image Ids","default":[]},"patrol_report_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Patrol Report Id"},"updated_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By"}},"type":"object","required":["image_id","comment_text"],"title":"AddCommentAndResolveRequest"},"AddressRead":{"properties":{"pincode":{"type":"string","title":"Pincode"},"prefecture_jp":{"type":"string","title":"Prefecture Jp"},"city_jp":{"type":"string","title":"City Jp"},"town_jp":{"type":"string","title":"Town Jp"},"prefecture_en":{"type":"string","title":"Prefecture En"},"city_en":{"type":"string","title":"City En"},"town_en":{"type":"string","title":"Town En"},"country_en":{"type":"string","title":"Country En"},"country_jp":{"type":"string","title":"Country Jp"}},"type":"object","required":["pincode","prefecture_jp","city_jp","town_jp","prefecture_en","city_en","town_en","country_en","country_jp"],"title":"AddressRead"},"AssignmentCardAnalysisRef":{"properties":{"image_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Image Id"},"longform_video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Id"},"ai_report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Report Id"},"guideline_uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Uuid"},"media_type":{"type":"string","title":"Media Type"}},"type":"object","required":["media_type"],"title":"AssignmentCardAnalysisRef"},"AssignmentCardItem":{"properties":{"card_key":{"type":"string","title":"Card Key"},"image_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Image Id"},"longform_video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Id"},"ai_report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Report Id"},"media_type":{"type":"string","title":"Media Type"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"preview_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Url"},"site_id":{"type":"integer","title":"Site Id"},"zone_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Zone Id"},"zone_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Name"},"uploaded_at":{"type":"string","format":"date-time","title":"Uploaded At"},"uploaded_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uploaded By"},"status":{"type":"string","title":"Status"},"assigned_to_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To Name"},"assigned_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned By Name"},"risk_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Score"},"safety_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Safety Score"},"guideline_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Name"},"guideline_uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Uuid"},"violation_frequency":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Violation Frequency"},"risk_counts":{"$ref":"#/components/schemas/AssignmentCardRiskCounts"},"scenario_labels":{"items":{"type":"string"},"type":"array","title":"Scenario Labels","default":[]},"evidence_count":{"type":"integer","title":"Evidence Count","default":0},"has_analysis":{"type":"boolean","title":"Has Analysis","default":false},"analysis_ref":{"anyOf":[{"$ref":"#/components/schemas/AssignmentCardAnalysisRef"},{"type":"null"}]}},"type":"object","required":["card_key","media_type","site_id","uploaded_at","status","risk_counts"],"title":"AssignmentCardItem"},"AssignmentCardListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AssignmentCardItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/AssignmentCardPagination"}},"type":"object","required":["items","pagination"],"title":"AssignmentCardListResponse"},"AssignmentCardPagination":{"properties":{"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total_items":{"type":"integer","title":"Total Items"},"total_pages":{"type":"integer","title":"Total Pages"},"has_next":{"type":"boolean","title":"Has Next"}},"type":"object","required":["page","page_size","total_items","total_pages","has_next"],"title":"AssignmentCardPagination"},"AssignmentCardRiskCounts":{"properties":{"critical":{"type":"integer","title":"Critical","default":0},"high":{"type":"integer","title":"High","default":0},"medium":{"type":"integer","title":"Medium","default":0},"low":{"type":"integer","title":"Low","default":0}},"type":"object","title":"AssignmentCardRiskCounts"},"AssignmentCenterStatsBySiteResponse":{"properties":{"open_count":{"type":"integer","title":"Open Count"},"critical_unassigned":{"type":"integer","title":"Critical Unassigned"},"high_priority":{"type":"integer","title":"High Priority"},"awaiting_action":{"type":"integer","title":"Awaiting Action"},"assigned_to_me_count":{"type":"integer","title":"Assigned To Me Count"},"overall_count":{"type":"integer","title":"Overall Count"},"safe_count":{"type":"integer","title":"Safe Count"},"total_media_count":{"type":"integer","title":"Total Media Count"}},"type":"object","required":["open_count","critical_unassigned","high_priority","awaiting_action","assigned_to_me_count","overall_count","safe_count","total_media_count"],"title":"AssignmentCenterStatsBySiteResponse"},"AssignmentCenterStatsResponse":{"properties":{"open_count":{"type":"integer","title":"Open Count"},"critical_unassigned":{"type":"integer","title":"Critical Unassigned"},"high_priority":{"type":"integer","title":"High Priority"},"awaiting_action":{"type":"integer","title":"Awaiting Action"},"assigned_to_me_count":{"type":"integer","title":"Assigned To Me Count"},"overall_count":{"type":"integer","title":"Overall Count"},"safe_count":{"type":"integer","title":"Safe Count"},"total_media_count":{"type":"integer","title":"Total Media Count"}},"type":"object","required":["open_count","critical_unassigned","high_priority","awaiting_action","assigned_to_me_count","overall_count","safe_count","total_media_count"],"title":"AssignmentCenterStatsResponse"},"AssignmentStatsResponse":{"properties":{"critical_count":{"type":"integer","title":"Critical Count"},"critical_unassigned":{"type":"integer","title":"Critical Unassigned"},"open_count":{"type":"integer","title":"Open Count"},"assigned_count":{"type":"integer","title":"Assigned Count"},"hot_zones_count":{"type":"integer","title":"Hot Zones Count"},"this_week_count":{"type":"integer","title":"This Week Count"},"unresolved_count":{"type":"integer","title":"Unresolved Count"},"completed_count":{"type":"integer","title":"Completed Count"},"assigned_to_me_count":{"type":"integer","title":"Assigned To Me Count"},"overall_count":{"type":"integer","title":"Overall Count"},"total_media_count":{"type":"integer","title":"Total Media Count"},"safe_count":{"type":"integer","title":"Safe Count"},"critical_new_this_week":{"type":"integer","title":"Critical New This Week","default":0},"active_new_this_week":{"type":"integer","title":"Active New This Week","default":0},"resolved_this_week":{"type":"integer","title":"Resolved This Week","default":0},"avg_resolution_days":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Resolution Days"},"overdue_count":{"type":"integer","title":"Overdue Count","default":0}},"type":"object","required":["critical_count","critical_unassigned","open_count","assigned_count","hot_zones_count","this_week_count","unresolved_count","completed_count","assigned_to_me_count","overall_count","total_media_count","safe_count"],"title":"AssignmentStatsResponse"},"BilingualString":{"properties":{"en":{"type":"string","title":"En"},"jp":{"type":"string","title":"Jp"}},"type":"object","required":["en","jp"],"title":"BilingualString"},"BillRead":{"properties":{"id":{"type":"integer","title":"Id"},"company_id":{"type":"integer","title":"Company Id"},"company_name":{"type":"string","title":"Company Name"},"amount":{"type":"integer","title":"Amount"},"status":{"$ref":"#/components/schemas/PaymentStatus"},"payment_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Method"},"invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Url"},"created_date":{"type":"string","format":"date-time","title":"Created Date"}},"type":"object","required":["id","company_id","company_name","amount","status","created_date"],"title":"BillRead"},"BillingAddress":{"properties":{"zip_code":{"type":"string","title":"Zip Code"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","default":"Japan"},"prefecture":{"type":"string","title":"Prefecture"},"city":{"type":"string","title":"City"},"street_address":{"type":"string","title":"Street Address"},"building_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Name"}},"type":"object","required":["zip_code","prefecture","city","street_address"],"title":"BillingAddress"},"BillingDetails":{"properties":{"company_name":{"type":"string","title":"Company Name"},"company_license_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company License Number"},"address":{"$ref":"#/components/schemas/BillingAddress"},"contact_name":{"type":"string","title":"Contact Name"},"contact_email":{"type":"string","title":"Contact Email"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"}},"type":"object","required":["company_name","address","contact_name","contact_email"],"title":"BillingDetails"},"Body_analyze_image_backend_api_process_image_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"lang":{"type":"string","enum":["en","jp"],"title":"Lang","default":"en"},"need_bbox":{"type":"boolean","title":"Need Bbox","default":false},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"camera_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Camera Id"},"folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Folder Id"}},"type":"object","title":"Body_analyze_image_backend_api_process_image_post"},"Body_analyze_video_backend_api_process_video_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"lang":{"type":"string","enum":["en","jp"],"title":"Lang","default":"en"},"need_bbox":{"type":"boolean","title":"Need Bbox","default":true},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"camera_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Camera Id"},"folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Folder Id"}},"type":"object","title":"Body_analyze_video_backend_api_process_video_post"},"Body_bulk_resolve_api_guidelines_bulk_resolve_post":{"properties":{"guideline_ids":{"type":"string","title":"Guideline Ids"},"status":{"type":"string","title":"Status"},"evidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence"},"updated_by":{"type":"string","title":"Updated By"},"evidence_files":{"anyOf":[{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array"},{"type":"null"}],"title":"Evidence Files"},"patrol_report_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Patrol Report Id"},"source_image_ids":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Image Ids"},"create_comment":{"type":"boolean","title":"Create Comment","default":false}},"type":"object","required":["guideline_ids","status","updated_by"],"title":"Body_bulk_resolve_api_guidelines_bulk_resolve_post"},"Body_chat_with_audio_api_chat_chat_with_audio_post":{"properties":{"conversation_id":{"type":"string","title":"Conversation Id"},"language":{"type":"string","enum":["en","jp"],"title":"Language"},"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question"},"files":{"anyOf":[{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array"},{"type":"null"}],"title":"Files"}},"type":"object","required":["conversation_id","language"],"title":"Body_chat_with_audio_api_chat_chat_with_audio_post"},"Body_create_api_evidence_images_create_post":{"properties":{"image_id_ai":{"type":"string","title":"Image Id Ai"},"guideline_id":{"type":"integer","title":"Guideline Id"},"guideline_uuids_ai":{"type":"string","title":"Guideline Uuids Ai","default":""},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["image_id_ai","guideline_id","file"],"title":"Body_create_api_evidence_images_create_post"},"Body_create_ota_release_api_mobile_ota_releases_post":{"properties":{"platform":{"type":"string","enum":["android","ios"],"title":"Platform"},"targetAppVersion":{"type":"string","maxLength":64,"title":"Targetappversion"},"version":{"type":"integer","exclusiveMinimum":0.0,"title":"Version"},"environment":{"type":"string","enum":["production","staging"],"title":"Environment"},"publishedAt":{"type":"string","format":"date-time","title":"Publishedat"},"bundleFile":{"type":"string","contentMediaType":"application/octet-stream","title":"Bundlefile"},"minBuildNumber":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Minbuildnumber"},"maxBuildNumber":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Maxbuildnumber"},"enabled":{"type":"boolean","title":"Enabled","default":false},"required":{"type":"boolean","title":"Required","default":false},"releaseNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Releasenotes"}},"type":"object","required":["platform","targetAppVersion","version","environment","publishedAt","bundleFile"],"title":"Body_create_ota_release_api_mobile_ota_releases_post"},"Body_create_rag_corpus_route_api_rag_create_rag_corpus_post":{"properties":{"company_id":{"type":"integer","title":"Company Id"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["company_id","display_name"],"title":"Body_create_rag_corpus_route_api_rag_create_rag_corpus_post"},"Body_evidence_image_backend_api_evidence_image_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"image_id_ai":{"type":"string","title":"Image Id Ai"},"guideline_uuids_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Uuids Ai"},"guideline_id":{"type":"integer","title":"Guideline Id"},"lang":{"type":"string","enum":["en","jp"],"title":"Lang","default":"en"}},"type":"object","required":["image_id_ai","guideline_id"],"title":"Body_evidence_image_backend_api_evidence_image_post"},"Body_evidence_video_backend_api_evidence_video_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"image_id_ai":{"type":"string","title":"Image Id Ai"},"guideline_uuids_ai":{"type":"string","title":"Guideline Uuids Ai"},"guideline_id":{"type":"integer","title":"Guideline Id"},"lang":{"type":"string","enum":["en","jp"],"title":"Lang","default":"en"}},"type":"object","required":["image_id_ai","guideline_uuids_ai","guideline_id"],"title":"Body_evidence_video_backend_api_evidence_video_post"},"Body_reanalyze_image_route_api_reanalyze_image_post":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"image_url":{"type":"string","title":"Image Url"},"lang":{"type":"string","enum":["en","jp"],"title":"Lang","default":"en"}},"type":"object","required":["image_id","image_url"],"title":"Body_reanalyze_image_route_api_reanalyze_image_post"},"Body_reanalyze_video_route_api_reanalyze_video_post":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"image_url":{"type":"string","title":"Image Url"},"lang":{"type":"string","enum":["en","jp"],"title":"Lang","default":"en"}},"type":"object","required":["image_id","image_url"],"title":"Body_reanalyze_video_route_api_reanalyze_video_post"},"Body_resolve_image_api_images_resolve_post":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"guideline_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Guideline Id"},"source_image_ids":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Image Ids"},"status":{"type":"string","title":"Status"},"evidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence"},"updated_by":{"type":"string","title":"Updated By"},"patrol_report_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Patrol Report Id"},"evidence_files":{"anyOf":[{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array"},{"type":"null"}],"title":"Evidence Files"}},"type":"object","required":["image_id","status","updated_by"],"title":"Body_resolve_image_api_images_resolve_post"},"Body_resolve_report_api_patrol_reports_resolve_post":{"properties":{"report_id":{"type":"integer","title":"Report Id"},"status":{"type":"string","title":"Status"},"evidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence"},"updated_by":{"type":"string","title":"Updated By"},"evidence_files":{"anyOf":[{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array"},{"type":"null"}],"title":"Evidence Files"}},"type":"object","required":["report_id","status","updated_by"],"title":"Body_resolve_report_api_patrol_reports_resolve_post"},"Body_upload_files_route_api_rag_upload_files_to_rag_post":{"properties":{"rag_corpus_id":{"type":"string","title":"Rag Corpus Id"},"files":{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array","title":"Files"}},"type":"object","required":["rag_corpus_id","files"],"title":"Body_upload_files_route_api_rag_upload_files_to_rag_post"},"Body_upload_image_to_s3_api_images_upload_logo_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_image_to_s3_api_images_upload_logo_post"},"Body_upload_logo_api_companies__company_id__upload_logo_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_logo_api_companies__company_id__upload_logo_post"},"Body_upload_longform_video_api_longform_video_upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"site_id":{"type":"integer","title":"Site Id"},"zone_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Zone Id"},"folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Folder Id"},"camera_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Camera Id"}},"type":"object","required":["file","site_id"],"title":"Body_upload_longform_video_api_longform_video_upload_post"},"Body_upload_notes_api_notes_upload_post":{"properties":{"galleryImageId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Galleryimageid"},"timeline":{"type":"string","title":"Timeline","default":"{}"},"mediaType":{"type":"string","title":"Mediatype"},"transcription":{"type":"string","title":"Transcription"},"summary":{"type":"string","title":"Summary"},"audio_file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"Audio File"}},"type":"object","title":"Body_upload_notes_api_notes_upload_post"},"BoxConnectionStatus":{"properties":{"is_connected":{"type":"boolean","title":"Is Connected"},"connected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Connected At"},"connected_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Connected By"},"box_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Box User Id"},"root_folder_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Root Folder Id"}},"type":"object","required":["is_connected"],"title":"BoxConnectionStatus"},"BoxFileAISelectionUpdate":{"properties":{"file_id":{"type":"string","title":"File Id"},"is_ai_selected":{"type":"boolean","title":"Is Ai Selected"}},"type":"object","required":["file_id","is_ai_selected"],"title":"BoxFileAISelectionUpdate"},"CameraCreate":{"properties":{"name":{"type":"string","title":"Name"},"site_id":{"type":"integer","title":"Site Id"},"zone_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Zone Id"},"hazard_folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hazard Folder Id"},"provider":{"type":"string","enum":["current","safie"],"title":"Provider","default":"current"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"safie_device_serial":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Device Serial"},"safie_api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Api Key"},"safie_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Base Url","default":"https://openapi.safie.link"},"clip_duration":{"type":"integer","title":"Clip Duration","default":1800},"is_enabled":{"type":"boolean","title":"Is Enabled","default":true},"recording_schedules":{"anyOf":[{"items":{"$ref":"#/components/schemas/CameraScheduleRule"},"type":"array"},{"type":"null"}],"title":"Recording Schedules","default":[]},"recording_interval":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recording Interval"}},"type":"object","required":["name","site_id"],"title":"CameraCreate"},"CameraDetailResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"site_id":{"type":"integer","title":"Site Id"},"zone_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Zone Id"},"hazard_folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hazard Folder Id"},"clip_duration":{"type":"integer","title":"Clip Duration"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"recording_schedules":{"anyOf":[{"items":{"$ref":"#/components/schemas/CameraScheduleRule"},"type":"array"},{"type":"null"}],"title":"Recording Schedules","default":[]},"recording_interval":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recording Interval"},"company_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Company Id"},"provider":{"type":"string","enum":["current","safie"],"title":"Provider","default":"current"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"safie_device_serial":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Device Serial"},"safie_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Base Url"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"},"zone_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Name"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"hazard_folder_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hazard Folder Name"}},"type":"object","required":["id","name","site_id","clip_duration","is_enabled","created_at"],"title":"CameraDetailResponse"},"CameraLookupItem":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"site_id":{"type":"integer","title":"Site Id"}},"type":"object","required":["id","name","site_id"],"title":"CameraLookupItem"},"CameraRead":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"site_id":{"type":"integer","title":"Site Id"},"zone_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Zone Id"},"hazard_folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hazard Folder Id"},"clip_duration":{"type":"integer","title":"Clip Duration"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"recording_schedules":{"anyOf":[{"items":{"$ref":"#/components/schemas/CameraScheduleRule"},"type":"array"},{"type":"null"}],"title":"Recording Schedules","default":[]},"recording_interval":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recording Interval"},"company_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Company Id"},"provider":{"type":"string","enum":["current","safie"],"title":"Provider","default":"current"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"safie_device_serial":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Device Serial"},"safie_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Base Url"}},"type":"object","required":["id","name","site_id","clip_duration","is_enabled","created_at"],"title":"CameraRead"},"CameraRecordingRead":{"properties":{"id":{"type":"integer","title":"Id"},"camera_id":{"type":"integer","title":"Camera Id"},"s3_key":{"type":"string","title":"S3 Key"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"longform_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Id"},"longform_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Longform Status"},"longform_progress":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Progress","default":0},"longform_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Longform Source"},"ai_report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Report Id"}},"type":"object","required":["id","camera_id","s3_key","timestamp","created_at"],"title":"CameraRecordingRead"},"CameraScheduleRule":{"properties":{"start_time":{"type":"string","title":"Start Time"},"end_time":{"type":"string","title":"End Time"},"weekdays":{"items":{"type":"integer"},"type":"array","title":"Weekdays"},"is_overnight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Overnight","default":false}},"type":"object","required":["start_time","end_time","weekdays"],"title":"CameraScheduleRule"},"CameraSearchResult":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"site_id":{"type":"integer","title":"Site Id"},"site_name":{"type":"string","title":"Site Name"},"company_id":{"type":"integer","title":"Company Id"},"company_name":{"type":"string","title":"Company Name"}},"type":"object","required":["id","name","site_id","site_name","company_id","company_name"],"title":"CameraSearchResult"},"CameraSiteEventsResponse":{"properties":{"site_id":{"type":"integer","title":"Site Id"},"camera_id":{"type":"integer","title":"Camera Id"},"date":{"type":"string","title":"Date"},"timezone":{"type":"string","title":"Timezone"},"day_start":{"type":"string","format":"date-time","title":"Day Start"},"day_end":{"type":"string","format":"date-time","title":"Day End"},"chunks":{"items":{"$ref":"#/components/schemas/CameraTimelineEventChunkRead"},"type":"array","title":"Chunks"},"violations":{"items":{"$ref":"#/components/schemas/CameraTimelineViolationRead"},"type":"array","title":"Violations"},"markers":{"items":{"$ref":"#/components/schemas/CameraTimelineMarkerRead"},"type":"array","title":"Markers"}},"type":"object","required":["site_id","camera_id","date","timezone","day_start","day_end","chunks","violations","markers"],"title":"CameraSiteEventsResponse"},"CameraSiteTimelineResponse":{"properties":{"site_id":{"type":"integer","title":"Site Id"},"date":{"type":"string","title":"Date"},"timezone":{"type":"string","title":"Timezone"},"day_start":{"type":"string","format":"date-time","title":"Day Start"},"day_end":{"type":"string","format":"date-time","title":"Day End"},"cameras":{"items":{"$ref":"#/components/schemas/CameraTimelineCameraRead"},"type":"array","title":"Cameras"},"chunks":{"items":{"$ref":"#/components/schemas/CameraTimelineChunkRead"},"type":"array","title":"Chunks"},"total_chunks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Chunks"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"has_more_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has More Chunks"}},"type":"object","required":["site_id","date","timezone","day_start","day_end","cameras","chunks"],"title":"CameraSiteTimelineResponse"},"CameraTimelineBboxItemRead":{"properties":{"timestamp_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp Seconds"},"chunk_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Number"},"source_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Image Url"},"gbbox_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gbbox Image Url"},"box_2d":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Box 2D"},"label":{"title":"Label"},"guideline_uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Uuid"},"riskLevel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risklevel"}},"type":"object","title":"CameraTimelineBboxItemRead"},"CameraTimelineCameraRead":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"site_id":{"type":"integer","title":"Site Id"},"zone_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Zone Id"},"hazard_folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hazard Folder Id"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"},"zone_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Name"},"hazard_folder_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hazard Folder Name"}},"type":"object","required":["id","name","site_id","is_enabled"],"title":"CameraTimelineCameraRead"},"CameraTimelineChunkRead":{"properties":{"recording_id":{"type":"integer","title":"Recording Id"},"camera_id":{"type":"integer","title":"Camera Id"},"camera_name":{"type":"string","title":"Camera Name"},"longform_video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Id"},"ai_report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Report Id"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"progress":{"type":"integer","title":"Progress","default":0},"current_stage":{"anyOf":[{},{"type":"null"}],"title":"Current Stage"},"start_at":{"type":"string","format":"date-time","title":"Start At"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"},"end_at":{"type":"string","format":"date-time","title":"End At"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"playback_url_available":{"type":"boolean","title":"Playback Url Available","default":false},"violation_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Violation Count"},"risk_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Score"},"scenario_categories":{"anyOf":[{},{"type":"null"}],"title":"Scenario Categories"},"is_ready":{"type":"boolean","title":"Is Ready","default":false},"is_processing":{"type":"boolean","title":"Is Processing","default":false},"is_disabled":{"type":"boolean","title":"Is Disabled","default":true}},"type":"object","required":["recording_id","camera_id","camera_name","start_at","end_at"],"title":"CameraTimelineChunkRead"},"CameraTimelineEventChunkRead":{"properties":{"recording_id":{"type":"integer","title":"Recording Id"},"longform_video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Id"},"ai_report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Report Id"},"start_at":{"type":"string","format":"date-time","title":"Start At"},"end_at":{"type":"string","format":"date-time","title":"End At"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"is_ready":{"type":"boolean","title":"Is Ready","default":false}},"type":"object","required":["recording_id","start_at","end_at"],"title":"CameraTimelineEventChunkRead"},"CameraTimelineMarkerRead":{"properties":{"id":{"type":"string","title":"Id"},"recording_id":{"type":"integer","title":"Recording Id"},"longform_video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Id"},"ai_report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Report Id"},"guideline_uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Uuid"},"timestamp_seconds":{"type":"number","title":"Timestamp Seconds"},"clip_timestamp_seconds":{"type":"number","title":"Clip Timestamp Seconds"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"chunk_number":{"type":"integer","title":"Chunk Number"},"bbox_items":{"items":{"$ref":"#/components/schemas/CameraTimelineBboxItemRead"},"type":"array","title":"Bbox Items"}},"type":"object","required":["id","recording_id","timestamp_seconds","clip_timestamp_seconds","chunk_number","bbox_items"],"title":"CameraTimelineMarkerRead"},"CameraTimelineViolationRead":{"properties":{"recording_id":{"type":"integer","title":"Recording Id"},"longform_video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Id"},"ai_report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Report Id"},"guideline_uuid":{"type":"string","title":"Guideline Uuid"},"guideline_text":{"title":"Guideline Text"},"risk_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"},"severity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"},"frequency":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frequency"},"scenario_name":{"title":"Scenario Name"},"risk_impact":{"title":"Risk Impact"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","required":["recording_id","guideline_uuid"],"title":"CameraTimelineViolationRead"},"CameraUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"zone_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Zone Id"},"hazard_folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hazard Folder Id"},"provider":{"anyOf":[{"type":"string","enum":["current","safie"]},{"type":"null"}],"title":"Provider"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"safie_device_serial":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Device Serial"},"safie_api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Api Key"},"safie_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safie Base Url"},"clip_duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Clip Duration"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"},"recording_schedules":{"anyOf":[{"items":{"$ref":"#/components/schemas/CameraScheduleRule"},"type":"array"},{"type":"null"}],"title":"Recording Schedules"},"recording_interval":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recording Interval"}},"type":"object","title":"CameraUpdate"},"CategoryTrendItem":{"properties":{"category_name":{"title":"Category Name"},"this_week_count":{"type":"integer","title":"This Week Count"},"last_week_count":{"type":"integer","title":"Last Week Count"},"week_change":{"type":"integer","title":"Week Change"},"week_trend":{"type":"string","title":"Week Trend"}},"type":"object","required":["category_name","this_week_count","last_week_count","week_change","week_trend"],"title":"CategoryTrendItem"},"CategoryTrendResponse":{"properties":{"trends":{"items":{"$ref":"#/components/schemas/CategoryTrendItem"},"type":"array","title":"Trends"},"trend_alert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trend Alert"}},"type":"object","required":["trends"],"title":"CategoryTrendResponse"},"ChangePassword":{"properties":{"old_password":{"type":"string","minLength":8,"title":"Old Password"},"new_password":{"type":"string","minLength":8,"title":"New Password"},"access_token":{"type":"string","title":"Access Token"}},"type":"object","required":["old_password","new_password","access_token"],"title":"ChangePassword"},"ChatResponse":{"properties":{"answer":{"type":"string","title":"Answer"},"transcript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript"}},"type":"object","required":["answer"],"title":"ChatResponse"},"CombinedRevenueData":{"properties":{"monthly_revenue":{"additionalProperties":{"$ref":"#/components/schemas/MonthlyRevenueData"},"type":"object","title":"Monthly Revenue","description":"monthly revenue breakdown"},"overall_revenue":{"type":"integer","title":"Overall Revenue","description":"total revenue across all time periods"},"current_month_revenue":{"type":"integer","title":"Current Month Revenue","description":"current month revenue from active companies"},"revenue_by_plan":{"additionalProperties":{"$ref":"#/components/schemas/PlanRevenueData"},"type":"object","title":"Revenue By Plan","description":"revenue grouped by plan"}},"type":"object","required":["monthly_revenue","overall_revenue","current_month_revenue","revenue_by_plan"],"title":"CombinedRevenueData","description":"comprehensive revenue data including monthly, current month, and plan breakdown"},"CompanyAddressUpdate":{"properties":{"zipcode":{"type":"string","title":"Zipcode"},"country":{"type":"string","title":"Country"},"prefecture":{"type":"string","title":"Prefecture"},"city":{"type":"string","title":"City"},"area":{"type":"string","title":"Area"},"block":{"type":"string","title":"Block"},"building":{"type":"string","title":"Building"}},"type":"object","required":["zipcode","country","prefecture","city","area","block","building"],"title":"CompanyAddressUpdate"},"CompanyBasicUpdate":{"properties":{"name":{"type":"string","title":"Name"},"company_number":{"type":"string","title":"Company Number"},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo"},"zipcode":{"type":"string","title":"Zipcode"},"country":{"type":"string","title":"Country"},"prefecture":{"type":"string","title":"Prefecture"},"city":{"type":"string","title":"City"},"area":{"type":"string","title":"Area"},"block":{"type":"string","title":"Block"},"building":{"type":"string","title":"Building"}},"type":"object","required":["name","company_number","zipcode","country","prefecture","city","area","block","building"],"title":"CompanyBasicUpdate"},"CompanyCreate":{"properties":{"name":{"type":"string","title":"Name"},"company_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Number"},"zipcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zipcode"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"prefecture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prefecture"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area"},"block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block"},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo"},"plan":{"type":"string","title":"Plan"},"plan_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Plan Id"},"stripe_price_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Price Id"},"plan_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Plan Period End"},"plan_period_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Plan Period Start"},"plan_selection_changed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Plan Selection Changed","default":false},"billing_recipient_member_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Billing Recipient Member Ids"}},"type":"object","required":["name","plan"],"title":"CompanyCreate"},"CompanyDetailRead":{"properties":{"total_images":{"type":"integer","title":"Total Images"},"total_videos":{"type":"integer","title":"Total Videos"},"total_images_this_month":{"type":"integer","title":"Total Images This Month"},"total_videos_this_month":{"type":"integer","title":"Total Videos This Month"},"total_ky":{"type":"integer","title":"Total Ky"},"total_ky_this_month":{"type":"integer","title":"Total Ky This Month"},"plan":{"$ref":"#/components/schemas/PlanReadDetail"}},"type":"object","required":["total_images","total_videos","total_images_this_month","total_videos_this_month","total_ky","total_ky_this_month","plan"],"title":"CompanyDetailRead"},"CompanyLookupResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"company_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Number"},"sites":{"items":{"$ref":"#/components/schemas/LookupItem"},"type":"array","title":"Sites"},"cameras":{"items":{"$ref":"#/components/schemas/CameraLookupItem"},"type":"array","title":"Cameras"}},"type":"object","required":["id","name","sites","cameras"],"title":"CompanyLookupResponse"},"CompanyMemberCreate":{"properties":{"aws_id":{"type":"string","maxLength":100,"minLength":1,"title":"Aws Id","description":"Aws id of the company member"},"company_id":{"type":"integer","title":"Company Id","description":"ID of the company the member belongs to"},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Name of the company member"},"email":{"type":"string","format":"email","title":"Email","description":"Valid email address of the member"},"role":{"type":"string","maxLength":50,"minLength":1,"title":"Role","description":"Role of the company member"},"status":{"type":"string","maxLength":100,"minLength":1,"title":"Status","description":"Status of the company member"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id","description":"ID of the site the member belongs to"},"position_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position Id","description":"Position id of company member"},"invited_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invited By Id","description":"CompanyMember.id of the inviter"},"default_folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Folder Id","description":"Default folder ID for uploads"}},"type":"object","required":["aws_id","company_id","name","email","role","status"],"title":"CompanyMemberCreate"},"CompanyMemberFolderStatus":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"role":{"type":"string","title":"Role"},"folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Folder Id"},"folder_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder Name"},"is_invited":{"type":"boolean","title":"Is Invited","default":false},"is_notified":{"type":"boolean","title":"Is Notified","default":false}},"type":"object","required":["id","name","email","role"],"title":"CompanyMemberFolderStatus"},"CompanyMemberRead":{"properties":{"id":{"type":"integer","title":"Id"},"company_id":{"type":"integer","title":"Company Id"},"aws_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"status":{"type":"string","title":"Status"},"role":{"type":"string","title":"Role"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"},"position_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position Id"},"position_name":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Position Name"},"last_login":{"type":"string","format":"date-time","title":"Last Login"},"joined":{"type":"string","format":"date-time","title":"Joined"},"invited_by_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invited By Email"},"longform_video_notification_interval":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Longform Video Notification Interval"},"default_folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Folder Id"}},"type":"object","required":["id","company_id","name","email","status","role","position_name","last_login","joined"],"title":"CompanyMemberRead"},"CompanyMemberUpdate":{"properties":{"company_id":{"type":"integer","title":"Company Id","description":"ID of the company the member belongs to"},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Name of the company member"},"email":{"type":"string","format":"email","title":"Email","description":"Valid email address of the member"},"role":{"type":"string","maxLength":50,"minLength":1,"title":"Role","description":"Role of the company member"},"status":{"type":"string","maxLength":100,"minLength":1,"title":"Status","description":"Status of the company member"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id","description":"ID of the site the member belongs to"},"position_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position Id","description":"Position id of company member"},"invited_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invited By Id","description":"CompanyMember.id of the inviter"},"default_folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Folder Id","description":"Default folder ID for uploads"}},"type":"object","required":["company_id","name","email","role","status"],"title":"CompanyMemberUpdate"},"CompanyPositionCreate":{"properties":{"position_jp":{"type":"string","title":"Position Jp"},"position_en":{"type":"string","title":"Position En"}},"type":"object","required":["position_jp","position_en"],"title":"CompanyPositionCreate"},"CompanyPositionRead":{"properties":{"position_jp":{"type":"string","title":"Position Jp"},"position_en":{"type":"string","title":"Position En"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["position_jp","position_en","id"],"title":"CompanyPositionRead"},"CompanyPositionUpdate":{"properties":{"position_jp":{"type":"string","title":"Position Jp"},"position_en":{"type":"string","title":"Position En"}},"type":"object","required":["position_jp","position_en"],"title":"CompanyPositionUpdate"},"CompanyRevenueData":{"properties":{"company_id":{"type":"integer","title":"Company Id"},"company_name":{"type":"string","title":"Company Name"},"current_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Plan"},"current_month_amount":{"type":"integer","title":"Current Month Amount","default":0},"total_payments":{"items":{"$ref":"#/components/schemas/RevenuePaymentSummary"},"type":"array","title":"Total Payments"},"total_revenue":{"type":"integer","title":"Total Revenue","default":0}},"type":"object","required":["company_id","company_name"],"title":"CompanyRevenueData","description":"revenue data for a specific company"},"CompanySiteStatsResponse":{"properties":{"active_sites":{"type":"integer","title":"Active Sites"},"total_failed_today":{"type":"integer","title":"Total Failed Today"},"resolved_today":{"type":"integer","title":"Resolved Today"},"critical_today":{"type":"integer","title":"Critical Today"}},"type":"object","required":["active_sites","total_failed_today","resolved_today","critical_today"],"title":"CompanySiteStatsResponse"},"CompanySitesInfoResponse":{"properties":{"sites":{"items":{"$ref":"#/components/schemas/SiteInfoDetail"},"type":"array","title":"Sites"}},"type":"object","required":["sites"],"title":"CompanySitesInfoResponse"},"ConfirmForgotPassword":{"properties":{"username":{"type":"string","title":"Username"},"token":{"type":"string","title":"Token"},"newPassword":{"type":"string","minLength":8,"title":"Newpassword"}},"type":"object","required":["username","token","newPassword"],"title":"ConfirmForgotPassword"},"ConversationCreate":{"properties":{"title":{"type":"string","title":"Title"},"email":{"type":"string","title":"Email"},"content":{"type":"string","maxLength":280,"minLength":1,"title":"Content"},"is_user":{"type":"integer","title":"Is User"},"language":{"type":"string","title":"Language"},"company_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Company Id"},"site_ids":{"items":{"type":"string"},"type":"array","title":"Site Ids"},"context_site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Context Site Id"},"context_video_ids":{"items":{"type":"integer"},"type":"array","title":"Context Video Ids"},"context_report_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Context Report Id"},"context_hazard_ids":{"items":{"type":"integer"},"type":"array","title":"Context Hazard Ids"}},"type":"object","required":["title","email","content","is_user","language"],"title":"ConversationCreate"},"ConversationListResponse":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","title","created_at"],"title":"ConversationListResponse"},"ConversationResponse":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"messages":{"items":{"$ref":"#/components/schemas/MessageResponse"},"type":"array","title":"Messages"},"answer_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answer Source"},"used_llm":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Llm"}},"type":"object","required":["id","title","created_at","messages"],"title":"ConversationResponse"},"CookieConsentCreate":{"properties":{"termsAccepted":{"type":"boolean","title":"Termsaccepted"},"dateTime":{"type":"string","format":"date-time","title":"Datetime"}},"type":"object","required":["termsAccepted","dateTime"],"title":"CookieConsentCreate"},"CookieConsentResponse":{"properties":{"termsAccepted":{"type":"boolean","title":"Termsaccepted"},"dateTime":{"type":"string","format":"date-time","title":"Datetime"}},"type":"object","required":["termsAccepted","dateTime"],"title":"CookieConsentResponse"},"CreateStripePaymentSession":{"properties":{"company_id":{"type":"integer","title":"Company Id"},"email":{"type":"string","title":"Email"},"name":{"type":"string","title":"Name"},"price_id":{"type":"string","title":"Price Id","description":"selected Stripe Price ID"}},"type":"object","required":["company_id","email","name","price_id"],"title":"CreateStripePaymentSession"},"CustomPlanCreate":{"properties":{"title":{"additionalProperties":{"type":"string"},"type":"object","title":"Title","description":"Plan title in English and Japanese"},"description":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Description","description":"Plan description in English and Japanese"},"tag":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Tag","description":"Optional tagline in English and Japanese for plan metadata"},"amount":{"type":"integer","minimum":0.0,"title":"Amount","description":"Price in yen (e.g., 60000)"},"image_limit":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Image Limit","description":"Image limit for this plan"},"video_limit":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Video Limit","description":"Video limit for this plan"},"features":{"items":{},"type":"array","title":"Features","description":"Optional marketing/feature list for metadata"},"allowed_features":{"items":{"$ref":"#/components/schemas/FeatureType"},"type":"array","title":"Allowed Features","description":"Allowed features for this plan"},"anzen_ai_batch_upload_enabled":{"type":"boolean","title":"Anzen Ai Batch Upload Enabled","description":"Allow Anzen AI batch uploads (multiple images/videos per action)","default":false},"interval":{"type":"string","enum":["day","month","year"],"title":"Interval","description":"Billing interval, e.g., 'day' or 'month'","default":"month"},"is_custom":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Custom","description":"Is this a custom plan","default":true},"display_in_billing":{"type":"boolean","title":"Display In Billing","description":"Display this plan in billing (making it an official plan)","default":false},"is_trial":{"type":"boolean","title":"Is Trial","description":"Use this plan as the free trial plan","default":false}},"type":"object","required":["title","amount","allowed_features"],"title":"CustomPlanCreate"},"CustomPlanRead":{"properties":{"id":{"type":"integer","title":"Id"},"stripe_price_id":{"type":"string","title":"Stripe Price Id"},"amount":{"type":"integer","title":"Amount"},"interval":{"type":"string","title":"Interval","default":"month"},"title":{"additionalProperties":{"type":"string"},"type":"object","title":"Title"},"description":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Description"},"tag":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Tag"},"features":{"items":{},"type":"array","title":"Features","description":"Features list for the plan"},"allowed_features":{"items":{"$ref":"#/components/schemas/FeatureType"},"type":"array","title":"Allowed Features","default":[]},"image_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Image Limit"},"video_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Limit"},"anzen_ai_batch_upload_enabled":{"type":"boolean","title":"Anzen Ai Batch Upload Enabled","default":false},"plan_features":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Plan Features"},"display_in_billing":{"type":"boolean","title":"Display In Billing","default":false},"is_trial":{"type":"boolean","title":"Is Trial","default":false}},"type":"object","required":["id","stripe_price_id","amount","title"],"title":"CustomPlanRead"},"CustomPlanUpdate":{"properties":{"stripe_price_id":{"type":"string","title":"Stripe Price Id","description":"Stripe Price ID of the plan to update"},"amount":{"type":"integer","minimum":0.0,"title":"Amount","description":"Price in yen (e.g., 60000)"},"features":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Features","description":"Features for this plan"},"allowed_features":{"items":{"$ref":"#/components/schemas/FeatureType"},"type":"array","title":"Allowed Features","description":"Allowed features for this plan"},"image_limit":{"type":"integer","minimum":0.0,"title":"Image Limit","description":"Image limit for this plan"},"title":{"additionalProperties":{"type":"string"},"type":"object","title":"Title","description":"Plan title in English and Japanese"},"description":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Description","description":"Plan description in English and Japanese"},"tag":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Tag","description":"Optional tagline in English and Japanese for plan metadata"},"video_limit":{"type":"integer","minimum":0.0,"title":"Video Limit","description":"Video limit for this plan"},"interval":{"anyOf":[{"type":"string","enum":["day","month","year"]},{"type":"null"}],"title":"Interval","description":"Billing interval; if changed, a new Stripe Price is created (prices are immutable)"},"anzen_ai_batch_upload_enabled":{"type":"boolean","title":"Anzen Ai Batch Upload Enabled","description":"Allow Anzen AI batch uploads (multiple images/videos per action)","default":false},"display_in_billing":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Display In Billing","description":"Display this plan in billing (making it an official plan)"},"is_trial":{"type":"boolean","title":"Is Trial","description":"Use this plan as the trial plan","default":false}},"type":"object","required":["stripe_price_id","amount","allowed_features","image_limit","title","video_limit"],"title":"CustomPlanUpdate"},"DevLoginRequest":{"properties":{"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"}},"type":"object","required":["username","password"],"title":"DevLoginRequest"},"EntitySearchResponse":{"properties":{"query_type":{"type":"string","enum":["site","camera"],"title":"Query Type"},"query":{"type":"string","title":"Query"},"results":{"items":{"anyOf":[{"$ref":"#/components/schemas/SiteSearchResult"},{"$ref":"#/components/schemas/CameraSearchResult"}]},"type":"array","title":"Results"}},"type":"object","required":["query_type","query","results"],"title":"EntitySearchResponse"},"EvidenceImageRead":{"properties":{"evidence_image_id":{"type":"integer","title":"Evidence Image Id"},"image_id":{"type":"integer","title":"Image Id"},"guideline_id":{"type":"integer","title":"Guideline Id"},"evidence_url":{"type":"string","title":"Evidence Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"uploaded_by":{"type":"string","title":"Uploaded By"},"uploaded_at":{"type":"string","format":"date-time","title":"Uploaded At"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type"},"media_type":{"type":"string","title":"Media Type"}},"type":"object","required":["evidence_image_id","image_id","guideline_id","evidence_url","uploaded_by","uploaded_at","media_type"],"title":"EvidenceImageRead"},"EvidenceImagesUpdate":{"properties":{"evidence_url":{"type":"string","title":"Evidence Url"},"uploaded_by":{"type":"string","title":"Uploaded By"}},"type":"object","required":["evidence_url","uploaded_by"],"title":"EvidenceImagesUpdate"},"EvidenceReviewCreate":{"properties":{"evidence_image_id":{"type":"integer","title":"Evidence Image Id"},"guideline_id":{"type":"integer","title":"Guideline Id"},"ai_status":{"type":"string","title":"Ai Status"}},"type":"object","required":["evidence_image_id","guideline_id","ai_status"],"title":"EvidenceReviewCreate"},"EvidenceReviewUpdate":{"properties":{"ai_status":{"type":"string","title":"Ai Status"}},"type":"object","required":["ai_status"],"title":"EvidenceReviewUpdate"},"FeatureType":{"type":"string","enum":["kenshuAI","anzenAI","kyTraining","anzenNotes","longformVideo","files","cameras"],"title":"FeatureType"},"FinanceResetResponse":{"properties":{"company_id":{"type":"integer","title":"Company Id"},"status":{"type":"string","title":"Status"},"deleted_invoice_count":{"type":"integer","title":"Deleted Invoice Count"},"assigned_plan_id":{"type":"integer","title":"Assigned Plan Id"},"stripe_records_modified":{"type":"boolean","title":"Stripe Records Modified","default":false},"audit_id":{"type":"integer","title":"Audit Id"},"details":{"additionalProperties":true,"type":"object","title":"Details"}},"type":"object","required":["company_id","status","deleted_invoice_count","assigned_plan_id","audit_id","details"],"title":"FinanceResetResponse"},"FolderCreate":{"properties":{"name":{"type":"string","title":"Name"},"site_id":{"type":"integer","title":"Site Id"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["name","site_id"],"title":"FolderCreate"},"FolderInviteRequest":{"properties":{"company_member_id":{"type":"integer","title":"Company Member Id"},"force":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Force","default":false}},"type":"object","required":["company_member_id"],"title":"FolderInviteRequest"},"FolderInvitedUserResponse":{"properties":{"folder_id":{"type":"integer","title":"Folder Id"},"company_member":{"$ref":"#/components/schemas/CompanyMemberRead"},"start_at":{"type":"string","format":"date-time","title":"Start At"},"end_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End At"},"status":{"$ref":"#/components/schemas/FolderUserStatus"}},"type":"object","required":["folder_id","company_member","start_at","status"],"title":"FolderInvitedUserResponse"},"FolderMembersUpdateRequest":{"properties":{"member_ids":{"items":{"type":"integer"},"type":"array","title":"Member Ids"}},"type":"object","required":["member_ids"],"title":"FolderMembersUpdateRequest"},"FolderResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"invited_users":{"items":{"$ref":"#/components/schemas/FolderInvitedUserResponse"},"type":"array","title":"Invited Users"},"created_by":{"anyOf":[{"$ref":"#/components/schemas/CompanyMemberRead"},{"type":"null"}]},"total_images":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Images","default":0},"active_member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Active Member Count","default":0},"longform_video_member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Member Count","default":0},"video_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Count","default":0},"processing_video_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Processing Video Count","default":0}},"type":"object","required":["id","name","created_at","invited_users"],"title":"FolderResponse"},"FolderUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","title":"FolderUpdate"},"FolderUserStatus":{"type":"string","enum":["active","removed"],"title":"FolderUserStatus"},"ForemanResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"}},"type":"object","required":["id","name"],"title":"ForemanResponse"},"GuidelineRead":{"properties":{"guideline_id":{"type":"integer","title":"Guideline Id"},"image_id":{"type":"integer","title":"Image Id"},"scenario_name":{"anyOf":[{"type":"string"},{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Scenario Name"},"guideline_name":{"anyOf":[{"type":"string"},{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Guideline Name"},"status":{"type":"string","title":"Status"},"evidence":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Evidence"},"guideline_id_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Id Ai"},"risk_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"},"updated_by":{"type":"string","title":"Updated By"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"bbox":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Bbox"}},"type":"object","required":["guideline_id","image_id","scenario_name","guideline_name","status","updated_by","updated_at"],"title":"GuidelineRead"},"GuidelinesCreate":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"scenario_name":{"type":"string","title":"Scenario Name"},"guideline_name":{"type":"string","title":"Guideline Name"},"status":{"type":"string","title":"Status"},"evidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence"},"guideline_id_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Id Ai"},"risk_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"},"updated_by":{"type":"string","title":"Updated By"}},"type":"object","required":["image_id","scenario_name","guideline_name","status","updated_by"],"title":"GuidelinesCreate"},"GuidelinesHistoryCreate":{"properties":{"guideline_id":{"type":"integer","title":"Guideline Id"},"old_status":{"type":"string","title":"Old Status"},"new_status":{"type":"string","title":"New Status"},"changed_by":{"type":"string","title":"Changed By"}},"type":"object","required":["guideline_id","old_status","new_status","changed_by"],"title":"GuidelinesHistoryCreate"},"GuidelinesUpdate":{"properties":{"scenario_name":{"type":"string","title":"Scenario Name"},"guideline_name":{"type":"string","title":"Guideline Name"},"status":{"type":"string","title":"Status"},"evidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence"},"guideline_id_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guideline Id Ai"},"risk_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"},"updated_by":{"type":"string","title":"Updated By"}},"type":"object","required":["scenario_name","guideline_name","status","updated_by"],"title":"GuidelinesUpdate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HotSpotZone":{"properties":{"folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Folder Id"},"folder_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder Name"},"violation_count":{"type":"integer","title":"Violation Count"}},"type":"object","required":["violation_count"],"title":"HotSpotZone"},"ImageAssignmentRead":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"guideline_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Guideline Id"},"assigned_to_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned To Id"},"assigned_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned By Id"},"status":{"type":"string","title":"Status","default":"open"},"id":{"type":"integer","title":"Id"},"resolve_comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolve Comment"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"assigned_to_aws_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To Aws Id"},"evidence_urls":{"items":{"type":"string"},"type":"array","title":"Evidence Urls","default":[]}},"type":"object","required":["image_id","id","created_at"],"title":"ImageAssignmentRead"},"ImageCommentCreate":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"guideline_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Guideline Id"},"comment_text":{"type":"string","title":"Comment Text"}},"type":"object","required":["image_id","comment_text"],"title":"ImageCommentCreate"},"ImageCommentRead":{"properties":{"id":{"type":"integer","title":"Id"},"image_id":{"type":"integer","title":"Image Id"},"guideline_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Guideline Id"},"user_id":{"type":"string","title":"User Id"},"company_id":{"type":"integer","title":"Company Id"},"comment_text":{"type":"string","title":"Comment Text"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","image_id","user_id","company_id","comment_text","created_at"],"title":"ImageCommentRead"},"ImageCommentUpdate":{"properties":{"comment_text":{"type":"string","title":"Comment Text"}},"type":"object","required":["comment_text"],"title":"ImageCommentUpdate"},"ImageCreate":{"properties":{"company_id":{"type":"integer","title":"Company Id"},"user_id":{"type":"string","title":"User Id"},"image_url":{"type":"string","title":"Image Url"},"uploaded_by":{"type":"string","title":"Uploaded By"},"image_id_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Id Ai"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type"},"media_type":{"type":"string","title":"Media Type"},"is_360":{"type":"boolean","title":"Is 360","default":false}},"type":"object","required":["company_id","user_id","image_url","uploaded_by","media_type"],"title":"ImageCreate"},"ImageRead":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"company_id":{"type":"integer","title":"Company Id"},"user_id":{"type":"string","title":"User Id"},"image_url":{"type":"string","title":"Image Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"visibility":{"type":"boolean","title":"Visibility"},"uploaded_by":{"type":"string","title":"Uploaded By"},"uploaded_at":{"type":"string","format":"date-time","title":"Uploaded At"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"image_id_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Id Ai"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type"},"media_type":{"type":"string","title":"Media Type"},"is_360":{"type":"boolean","title":"Is 360","default":false},"longform_video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Id"},"image_scenarios":{"items":{"$ref":"#/components/schemas/ImageScenarioRead"},"type":"array","title":"Image Scenarios","default":[]},"guidelines":{"items":{"$ref":"#/components/schemas/GuidelineRead"},"type":"array","title":"Guidelines","default":[]},"evidenceImages":{"items":{"$ref":"#/components/schemas/EvidenceImageRead"},"type":"array","title":"Evidenceimages","default":[]},"laws_and_categories":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Laws And Categories"},"assignment":{"anyOf":[{"$ref":"#/components/schemas/ImageAssignmentRead"},{"type":"null"}]},"inspection_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inspection Status"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"}},"type":"object","required":["image_id","company_id","user_id","image_url","visibility","uploaded_by","uploaded_at","media_type"],"title":"ImageRead"},"ImageScenarioRead":{"properties":{"image_scenar_id":{"type":"integer","title":"Image Scenar Id"},"image_id":{"type":"integer","title":"Image Id"},"scenario_name":{"anyOf":[{"type":"string"},{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"}],"title":"Scenario Name"}},"type":"object","required":["image_scenar_id","image_id","scenario_name"],"title":"ImageScenarioRead"},"ImageScenariosCreate":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"scenario_name":{"type":"string","title":"Scenario Name"}},"type":"object","required":["image_id","scenario_name"],"title":"ImageScenariosCreate"},"ImageScenariosUpdate":{"properties":{"scenario_name":{"type":"string","title":"Scenario Name"}},"type":"object","required":["scenario_name"],"title":"ImageScenariosUpdate"},"ImageUpdate":{"properties":{"company_id":{"type":"integer","title":"Company Id"},"user_id":{"type":"string","title":"User Id"},"image_url":{"type":"string","title":"Image Url"},"uploaded_by":{"type":"string","title":"Uploaded By"},"image_id_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Id Ai"}},"type":"object","required":["company_id","user_id","image_url","uploaded_by"],"title":"ImageUpdate"},"KYConductResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"conduct_date":{"type":"string","format":"date-time","title":"Conduct Date"},"analysis":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Analysis"},"attendee_members":{"items":{"$ref":"#/components/schemas/WorkerResponse"},"type":"array","title":"Attendee Members","default":[]}},"type":"object","required":["id","conduct_date"],"title":"KYConductResponse"},"KYFolderResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"folder_name":{"type":"string","title":"Folder Name"},"foreman":{"anyOf":[{"$ref":"#/components/schemas/CompanyMemberRead"},{"type":"null"}]},"conversations":{"items":{"$ref":"#/components/schemas/KYTrainingConversationResponse"},"type":"array","title":"Conversations","default":[]}},"type":"object","required":["id","folder_name"],"title":"KYFolderResponse"},"KYFolderUpdate":{"properties":{"folder_name":{"type":"string","title":"Folder Name"}},"type":"object","required":["folder_name"],"title":"KYFolderUpdate"},"KYPerformKYPayload":{"properties":{"attendees":{"items":{"type":"integer"},"type":"array","title":"Attendees"},"language":{"type":"string","enum":["en","jp"],"title":"Language"}},"type":"object","required":["attendees","language"],"title":"KYPerformKYPayload"},"KYTrainingConversationCreate":{"properties":{"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"language":{"type":"string","title":"Language"},"ky_training_time_id":{"type":"integer","title":"Ky Training Time Id"},"ky_folder_id":{"type":"string","title":"Ky Folder Id"}},"type":"object","required":["title","content","language","ky_training_time_id","ky_folder_id"],"title":"KYTrainingConversationCreate"},"KYTrainingConversationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"summary":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Summary"},"is_completed":{"type":"boolean","title":"Is Completed"},"time_taken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Taken"},"status":{"type":"string","title":"Status"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"ky_training_time_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ky Training Time Id"},"approved_by":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Approved By"},"ky_folder_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ky Folder Id"},"audit_trail":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Audit Trail"},"messages":{"items":{"$ref":"#/components/schemas/KYTrainingMessageResponse"},"type":"array","title":"Messages","default":[]},"conduct":{"anyOf":[{"$ref":"#/components/schemas/KYConductResponse"},{"type":"null"}]},"expected_attendees":{"items":{"$ref":"#/components/schemas/WorkerResponse"},"type":"array","title":"Expected Attendees","default":[]},"approver":{"anyOf":[{"$ref":"#/components/schemas/WorkerResponse"},{"type":"null"}]},"ky_training_time":{"anyOf":[{"$ref":"#/components/schemas/KYTrainingTimeRead"},{"type":"null"}]}},"type":"object","required":["id","title","created_at","is_completed","status"],"title":"KYTrainingConversationResponse"},"KYTrainingConversationUpdate":{"properties":{"title":{"type":"string","title":"Title"}},"type":"object","required":["title"],"title":"KYTrainingConversationUpdate"},"KYTrainingMessageCreate":{"properties":{"content":{"type":"string","title":"Content"},"language":{"type":"string","title":"Language"}},"type":"object","required":["content","language"],"title":"KYTrainingMessageCreate"},"KYTrainingMessageResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"conversation_id":{"type":"string","format":"uuid","title":"Conversation Id"},"content":{"type":"string","title":"Content"},"is_user":{"type":"boolean","title":"Is User"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"language":{"type":"string","title":"Language"}},"type":"object","required":["id","conversation_id","content","is_user","timestamp","language"],"title":"KYTrainingMessageResponse"},"KYTrainingMessageUpdate":{"properties":{"content":{"type":"string","title":"Content"},"language":{"type":"string","title":"Language"}},"type":"object","required":["content","language"],"title":"KYTrainingMessageUpdate"},"KYTrainingTimeCreate":{"properties":{"start_time":{"type":"string","format":"date-time","title":"Start Time"},"skip":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip","description":"Whether to skip this training time","default":false}},"type":"object","required":["start_time"],"title":"KYTrainingTimeCreate"},"KYTrainingTimeRead":{"properties":{"start_time":{"type":"string","format":"date-time","title":"Start Time"},"skip":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip","description":"Whether to skip this training time","default":false},"id":{"type":"integer","title":"Id"},"company_member_id":{"type":"integer","title":"Company Member Id"},"day_of_week":{"type":"string","title":"Day Of Week"}},"type":"object","required":["start_time","id","company_member_id"],"title":"KYTrainingTimeRead"},"KYTrainingTimeUpdate":{"properties":{"start_time":{"type":"string","format":"date-time","title":"Start Time"},"skip":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip","description":"Whether to skip this training time","default":false}},"type":"object","required":["start_time"],"title":"KYTrainingTimeUpdate"},"KenshuToolCallRequest":{"properties":{"tool_name":{"type":"string","title":"Tool Name"},"question":{"type":"string","title":"Question"},"company_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Company Id"},"member_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Id"},"language":{"type":"string","title":"Language","default":"en"},"site_ids":{"items":{"type":"string"},"type":"array","title":"Site Ids","default":[]},"context_site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Context Site Id"},"context_video_ids":{"items":{"type":"integer"},"type":"array","title":"Context Video Ids","default":[]},"context_hazard_ids":{"items":{"type":"integer"},"type":"array","title":"Context Hazard Ids","default":[]},"context_report_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Context Report Id"}},"type":"object","required":["tool_name","question"],"title":"KenshuToolCallRequest"},"KenshuToolCallResponse":{"properties":{"context":{"type":"string","title":"Context"}},"type":"object","required":["context"],"title":"KenshuToolCallResponse"},"LogoutRequest":{"properties":{"access_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"}},"type":"object","title":"LogoutRequest"},"LookupItem":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"LookupItem"},"ManualInvoiceRequest":{"properties":{"company_id":{"type":"integer","title":"Company Id"},"price_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Id","description":"Stripe price id to invoice; defaults to company's current plan"},"amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount","description":"Override amount in JPY; defaults to plan amount"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Invoice line description; defaults to plan description"},"due_in_days":{"type":"integer","maximum":90.0,"minimum":1.0,"title":"Due In Days","default":30},"send_now":{"type":"boolean","title":"Send Now","description":"If true, immediately send invoice email via Stripe","default":true},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","required":["company_id"],"title":"ManualInvoiceRequest"},"MasterAdminCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Name of the company member"},"email":{"type":"string","format":"email","title":"Email","description":"Valid email address of the member"},"password":{"type":"string","title":"Password"}},"type":"object","required":["name","email","password"],"title":"MasterAdminCreate"},"MasterAdminUpdate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Name of the company member"},"email":{"type":"string","format":"email","title":"Email","description":"Valid email address of the member"},"status":{"type":"string","title":"Status"}},"type":"object","required":["name","email","status"],"title":"MasterAdminUpdate"},"MessageAction":{"properties":{"type":{"type":"string","enum":["internal_link","navigation","create_report","export_pdf","export_today_report","report_generating","report_summary","site_summary"],"title":"Type","default":"internal_link"},"href":{"type":"string","title":"Href"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"}},"type":"object","required":["href"],"title":"MessageAction"},"MessageCreate":{"properties":{"content":{"type":"string","maxLength":280,"minLength":1,"title":"Content"},"is_user":{"type":"integer","title":"Is User"},"language":{"type":"string","title":"Language"},"company_id":{"type":"integer","title":"Company Id"},"site_ids":{"items":{"type":"string"},"type":"array","title":"Site Ids"},"context_site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Context Site Id"},"context_video_ids":{"items":{"type":"integer"},"type":"array","title":"Context Video Ids"},"context_report_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Context Report Id"},"context_hazard_ids":{"items":{"type":"integer"},"type":"array","title":"Context Hazard Ids"}},"type":"object","required":["content","is_user","language","company_id"],"title":"MessageCreate"},"MessageReplyResponse":{"properties":{"messages":{"items":{"$ref":"#/components/schemas/MessageResponse"},"type":"array","title":"Messages"},"answer_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answer Source"},"used_llm":{"type":"boolean","title":"Used Llm","default":true}},"type":"object","required":["messages"],"title":"MessageReplyResponse"},"MessageResponse":{"properties":{"id":{"type":"integer","title":"Id"},"conversation_id":{"type":"integer","title":"Conversation Id"},"content":{"type":"string","title":"Content"},"is_user":{"type":"boolean","title":"Is User"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"actions":{"items":{"$ref":"#/components/schemas/MessageAction"},"type":"array","title":"Actions"},"context_targets":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Context Targets"}},"type":"object","required":["id","conversation_id","content","is_user","timestamp"],"title":"MessageResponse"},"MobileDeviceRead":{"properties":{"deviceId":{"type":"string","title":"Deviceid"},"platform":{"type":"string","title":"Platform"},"language":{"type":"string","title":"Language","default":"en"},"notificationsEnabled":{"type":"boolean","title":"Notificationsenabled"},"assignmentNotificationsEnabled":{"type":"boolean","title":"Assignmentnotificationsenabled"}},"type":"object","required":["deviceId","platform","notificationsEnabled","assignmentNotificationsEnabled"],"title":"MobileDeviceRead"},"MobileDeviceRegisterRequest":{"properties":{"deviceToken":{"type":"string","title":"Devicetoken"},"deviceId":{"type":"string","title":"Deviceid"},"platform":{"type":"string","title":"Platform"},"notificationsEnabled":{"type":"boolean","title":"Notificationsenabled","default":true},"language":{"type":"string","title":"Language","default":"en"}},"type":"object","required":["deviceToken","deviceId","platform"],"title":"MobileDeviceRegisterRequest"},"MonthlyRevenueData":{"properties":{"total_amount":{"type":"integer","title":"Total Amount","description":"total revenue for the month"},"payment_count":{"type":"integer","title":"Payment Count","description":"number of payments in the month"},"payments":{"items":{"$ref":"#/components/schemas/RevenuePaymentSummary"},"type":"array","title":"Payments","description":"list of payments for the month"}},"type":"object","required":["total_amount","payment_count","payments"],"title":"MonthlyRevenueData","description":"monthly revenue breakdown data"},"NoteListItem":{"properties":{"id":{"type":"integer","title":"Id"},"url":{"type":"string","title":"Url"},"mediaType":{"type":"string","title":"Mediatype"},"transcription":{"type":"string","title":"Transcription"},"summary":{"type":"string","title":"Summary"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"galleryImageId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Galleryimageid"},"galleryImageVisibility":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Galleryimagevisibility"},"audio_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audio Url"}},"type":"object","required":["id","url","mediaType","transcription","summary","created_at","updated_at"],"title":"NoteListItem"},"NoteResponse":{"properties":{"id":{"type":"integer","title":"Id"},"url":{"type":"string","title":"Url"},"mediaType":{"type":"string","title":"Mediatype"},"timeline":{"additionalProperties":true,"type":"object","title":"Timeline"},"transcription":{"type":"string","title":"Transcription"},"summary":{"type":"string","title":"Summary"},"audio_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audio Url"}},"type":"object","required":["id","url","mediaType","timeline","transcription","summary"],"title":"NoteResponse"},"NotificationIntervalUpdate":{"properties":{"notification_interval":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notification Interval"}},"type":"object","title":"NotificationIntervalUpdate"},"NotificationSettingsResponse":{"properties":{"assignmentNotificationsEnabled":{"type":"boolean","title":"Assignmentnotificationsenabled"}},"type":"object","required":["assignmentNotificationsEnabled"],"title":"NotificationSettingsResponse"},"NotificationSettingsUpdateRequest":{"properties":{"assignmentNotificationsEnabled":{"type":"boolean","title":"Assignmentnotificationsenabled"}},"type":"object","required":["assignmentNotificationsEnabled"],"title":"NotificationSettingsUpdateRequest"},"NotifyReportRequest":{"properties":{"report_timestamp":{"type":"string","title":"Report Timestamp"},"folder_id":{"type":"integer","title":"Folder Id"}},"type":"object","required":["report_timestamp","folder_id"],"title":"NotifyReportRequest"},"OtaEventCreate":{"properties":{"platform":{"type":"string","enum":["android","ios"],"title":"Platform"},"appVersion":{"type":"string","maxLength":64,"minLength":1,"title":"Appversion"},"buildNumber":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Buildnumber"},"otaVersion":{"type":"integer","minimum":0.0,"title":"Otaversion"},"event":{"$ref":"#/components/schemas/OtaEventName"},"message":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Message"},"deviceId":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Deviceid"}},"type":"object","required":["platform","appVersion","otaVersion","event"],"title":"OtaEventCreate"},"OtaEventName":{"type":"string","enum":["check_started","update_available","download_started","download_success","download_failed","install_success","install_failed","rollback"],"title":"OtaEventName"},"OtaEventResponse":{"properties":{"accepted":{"type":"boolean","title":"Accepted"}},"type":"object","required":["accepted"],"title":"OtaEventResponse"},"OtaLatestResponse":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Required"},"version":{"type":"integer","title":"Version"},"targetAppVersion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Targetappversion"},"platform":{"anyOf":[{"type":"string","enum":["android","ios"]},{"type":"null"}],"title":"Platform"},"bundleUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundleurl"},"hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hash"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"},"releaseNotes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Releasenotes"},"publishedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Publishedat"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["enabled","version"],"title":"OtaLatestResponse"},"OtaReleaseRead":{"properties":{"id":{"type":"integer","title":"Id"},"platform":{"type":"string","enum":["android","ios"],"title":"Platform"},"targetAppVersion":{"type":"string","title":"Targetappversion"},"minBuildNumber":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minbuildnumber"},"maxBuildNumber":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Maxbuildnumber"},"version":{"type":"integer","title":"Version"},"enabled":{"type":"boolean","title":"Enabled"},"required":{"type":"boolean","title":"Required"},"environment":{"type":"string","enum":["production","staging"],"title":"Environment"},"bundleFilename":{"type":"string","title":"Bundlefilename"},"hash":{"type":"string","title":"Hash"},"size":{"type":"integer","title":"Size"},"releaseNotes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Releasenotes"},"publishedAt":{"type":"string","format":"date-time","title":"Publishedat"},"createdBy":{"type":"string","title":"Createdby"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["id","platform","targetAppVersion","minBuildNumber","maxBuildNumber","version","enabled","required","environment","bundleFilename","hash","size","releaseNotes","publishedAt","createdBy","createdAt"],"title":"OtaReleaseRead"},"OtaReleaseUpdate":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Required"},"releaseNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Releasenotes"},"publishedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Publishedat"}},"type":"object","title":"OtaReleaseUpdate"},"PatrolReportCreate":{"properties":{"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"inspector_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inspector Name"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"include_safe_images":{"type":"boolean","title":"Include Safe Images","description":"If true, include images and longform clips with no failing guidelines (no FAIL status and no actionable risk level on evaluated rules).","default":false},"media_source":{"type":"string","enum":["manual","cctv","both"],"title":"Media Source","default":"both"},"all_day":{"type":"boolean","title":"All Day","default":true},"capture_start_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Capture Start Time"},"capture_end_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Capture End Time"},"lang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang"},"source_video_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Source Video Ids"},"report_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Report Name"}},"type":"object","title":"PatrolReportCreate"},"PatrolReportListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PatrolReportRead"},"type":"array","title":"Items"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total":{"type":"integer","title":"Total"},"total_pages":{"type":"integer","title":"Total Pages"}},"type":"object","required":["items","page","page_size","total","total_pages"],"title":"PatrolReportListResponse"},"PatrolReportLongformSourceVideoRead":{"properties":{"id":{"type":"integer","title":"Id"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"ai_report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Report Id"}},"type":"object","required":["id"],"title":"PatrolReportLongformSourceVideoRead"},"PatrolReportNotificationRuleIn":{"properties":{"capture_start_time":{"type":"string","title":"Capture Start Time"},"capture_end_time":{"type":"string","title":"Capture End Time"},"send_day":{"type":"string","enum":["same_day","next_day"],"title":"Send Day"},"send_time":{"type":"string","title":"Send Time"},"report_language":{"type":"string","enum":["jp","en","both"],"title":"Report Language","default":"jp"},"send_weekdays":{"items":{"type":"integer"},"type":"array","title":"Send Weekdays","default":[1,2,3,4,5,6,0]},"include_safe_images":{"type":"boolean","title":"Include Safe Images","default":false},"media_source":{"type":"string","enum":["manual","cctv","both"],"title":"Media Source","default":"both"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"type":"object","required":["capture_start_time","capture_end_time","send_day","send_time"],"title":"PatrolReportNotificationRuleIn"},"PatrolReportNotificationRuleOut":{"properties":{"id":{"type":"integer","title":"Id"},"enabled":{"type":"boolean","title":"Enabled"},"capture_start_time":{"type":"string","format":"time","title":"Capture Start Time"},"capture_end_time":{"type":"string","format":"time","title":"Capture End Time"},"send_day":{"type":"string","title":"Send Day"},"send_time":{"type":"string","format":"time","title":"Send Time"},"report_language":{"type":"string","title":"Report Language","default":"jp"},"send_weekdays":{"items":{"type":"integer"},"type":"array","title":"Send Weekdays","default":[1,2,3,4,5,6,0]},"include_safe_images":{"type":"boolean","title":"Include Safe Images","default":false},"media_source":{"type":"string","title":"Media Source","default":"both"},"next_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Run At"},"last_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Run At"}},"type":"object","required":["id","enabled","capture_start_time","capture_end_time","send_day","send_time"],"title":"PatrolReportNotificationRuleOut"},"PatrolReportNotificationSettingsOut":{"properties":{"site_id":{"type":"integer","title":"Site Id"},"timezone":{"type":"string","title":"Timezone"},"recipient_ids":{"items":{"type":"integer"},"type":"array","title":"Recipient Ids"},"rules":{"items":{"$ref":"#/components/schemas/PatrolReportNotificationRuleOut"},"type":"array","title":"Rules"}},"type":"object","required":["site_id","timezone","recipient_ids","rules"],"title":"PatrolReportNotificationSettingsOut"},"PatrolReportNotificationSettingsUpsert":{"properties":{"site_id":{"type":"integer","title":"Site Id"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone","default":"Asia/Tokyo"},"recipient_ids":{"items":{"type":"integer"},"type":"array","title":"Recipient Ids"},"rules":{"items":{"$ref":"#/components/schemas/PatrolReportNotificationRuleIn"},"type":"array","title":"Rules"}},"type":"object","required":["site_id","recipient_ids","rules"],"title":"PatrolReportNotificationSettingsUpsert"},"PatrolReportRead":{"properties":{"id":{"type":"integer","title":"Id"},"company_id":{"type":"integer","title":"Company Id"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"inspector_name":{"type":"string","title":"Inspector Name"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"type":"string","format":"date-time","title":"End Date"},"include_safe_images":{"type":"boolean","title":"Include Safe Images"},"media_source":{"type":"string","title":"Media Source","default":"both"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"pdf_report_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pdf Report Url"},"capture_start_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Capture Start Time"},"capture_end_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Capture End Time"},"source_video_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Source Video Ids"},"report_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Report Name"},"total_reports":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Reports","default":0},"with_comments":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"With Comments","default":0},"critical_risks_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Critical Risks Count","default":0},"has_comments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Comments","default":false},"completion_percentage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Completion Percentage","default":0},"resolution_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution Status","default":"open"},"resolved_findings_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Resolved Findings Count","default":0},"total_findings_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Findings Count","default":0},"open_critical_risks_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Open Critical Risks Count","default":0}},"type":"object","required":["id","company_id","inspector_name","start_date","end_date","include_safe_images","created_at"],"title":"PatrolReportRead"},"PatrolReportRowRead":{"properties":{"image_id":{"type":"integer","title":"Image Id"},"company_id":{"type":"integer","title":"Company Id"},"user_id":{"type":"string","title":"User Id"},"image_url":{"type":"string","title":"Image Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"visibility":{"type":"boolean","title":"Visibility"},"uploaded_by":{"type":"string","title":"Uploaded By"},"uploaded_at":{"type":"string","format":"date-time","title":"Uploaded At"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"image_id_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Id Ai"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type"},"media_type":{"type":"string","title":"Media Type"},"is_360":{"type":"boolean","title":"Is 360","default":false},"longform_video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Id"},"image_scenarios":{"items":{"$ref":"#/components/schemas/ImageScenarioRead"},"type":"array","title":"Image Scenarios","default":[]},"guidelines":{"items":{"$ref":"#/components/schemas/GuidelineRead"},"type":"array","title":"Guidelines","default":[]},"evidenceImages":{"items":{"$ref":"#/components/schemas/EvidenceImageRead"},"type":"array","title":"Evidenceimages","default":[]},"laws_and_categories":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Laws And Categories"},"assignment":{"anyOf":[{"$ref":"#/components/schemas/ImageAssignmentRead"},{"type":"null"}]},"inspection_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inspection Status"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"},"entry_type":{"type":"string","title":"Entry Type","default":"standard"},"longform_total_clips":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Total Clips"},"longform_violation_clips":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Violation Clips"},"longform_source_video_ids":{"items":{"type":"integer"},"type":"array","title":"Longform Source Video Ids","default":[]},"longform_source_videos":{"items":{"$ref":"#/components/schemas/PatrolReportLongformSourceVideoRead"},"type":"array","title":"Longform Source Videos","default":[]},"source_image_ids":{"items":{"type":"integer"},"type":"array","title":"Source Image Ids","default":[]},"source_camera_ids":{"items":{"type":"integer"},"type":"array","title":"Source Camera Ids","default":[]},"rendered_guidelines":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Rendered Guidelines","default":[]},"bbox_images":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Bbox Images","default":[]},"display_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Key"},"comments":{"items":{"$ref":"#/components/schemas/ImageCommentRead"},"type":"array","title":"Comments","default":[]},"resolution_status":{"type":"string","title":"Resolution Status","default":"open"},"resolved_guideline_count":{"type":"integer","title":"Resolved Guideline Count","default":0},"total_guideline_count":{"type":"integer","title":"Total Guideline Count","default":0},"ai_suggestions":{"anyOf":[{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object"},{"type":"null"}],"title":"Ai Suggestions"}},"type":"object","required":["image_id","company_id","user_id","image_url","visibility","uploaded_by","uploaded_at","media_type"],"title":"PatrolReportRowRead","description":"Single row in patrol UI/PDF (standard image or longform aggregate)."},"PatrolReportVideoSummary":{"properties":{"videos_selected":{"type":"integer","title":"Videos Selected","default":0},"images_extracted":{"type":"integer","title":"Images Extracted","default":0},"total_violations":{"type":"integer","title":"Total Violations","default":0},"critical_risks":{"type":"integer","title":"Critical Risks","default":0},"categories":{"items":{"type":"string"},"type":"array","title":"Categories","default":[]},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"},"mixed_sites":{"type":"boolean","title":"Mixed Sites","default":false}},"type":"object","title":"PatrolReportVideoSummary","description":"AI Preview stats for the Patrol Report Wizard (Step 3)."},"PaymentCreate":{"properties":{"company_id":{"type":"integer","title":"Company Id","description":"ID of the company making the payment"},"plan_id":{"type":"integer","title":"Plan Id","description":"ID of the plan selected"},"amount":{"type":"integer","title":"Amount","description":"Total amount billed in yen"},"status":{"$ref":"#/components/schemas/PaymentStatus","description":"Payment status (e.g., paid, failed, etc.)"},"stripecustomerid":{"type":"string","title":"Stripecustomerid","description":"Stripe Customer ID"},"stripesubscriptionid":{"type":"string","title":"Stripesubscriptionid","description":"Stripe Subscription ID"},"invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Url","description":"Stripe-hosted invoice URL"},"stripe_invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Invoice Id","description":"Stripe invoice ID"},"payment_method":{"type":"string","enum":["stripe","bank_transfer","external_api"],"title":"Payment Method","description":"How this payment is settled","default":"stripe"},"external_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Provider","description":"External API provider when payment_method=external_api"},"billing_period_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Billing Period Start"},"billing_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Billing Period End"},"day_rate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day Rate"},"usage_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Usage Days"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["company_id","plan_id","amount","status","stripecustomerid","stripesubscriptionid"],"title":"PaymentCreate"},"PaymentRead":{"properties":{"id":{"type":"integer","title":"Id"},"company_id":{"type":"integer","title":"Company Id"},"plan_id":{"type":"integer","title":"Plan Id"},"amount":{"type":"integer","title":"Amount"},"status":{"$ref":"#/components/schemas/PaymentStatus"},"stripecustomerid":{"type":"string","title":"Stripecustomerid"},"stripesubscriptionid":{"type":"string","title":"Stripesubscriptionid"},"invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Url"},"stripe_invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Invoice Id"},"payment_method":{"anyOf":[{"type":"string","enum":["stripe","bank_transfer","external_api"]},{"type":"null"}],"title":"Payment Method"},"external_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Provider"},"billing_period_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Billing Period Start"},"billing_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Billing Period End"},"day_rate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day Rate"},"usage_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Usage Days"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"created_date":{"type":"string","format":"date-time","title":"Created Date"},"updated_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated Date"}},"type":"object","required":["id","company_id","plan_id","amount","status","stripecustomerid","stripesubscriptionid","created_date"],"title":"PaymentRead"},"PaymentStatus":{"type":"string","enum":["paid","pending","failed","cancelled","expired","invoiced"],"title":"PaymentStatus"},"PlanRead":{"properties":{"id":{"type":"integer","title":"Id"},"plan_key":{"type":"string","title":"Plan Key"},"amount":{"type":"integer","title":"Amount"},"currency":{"type":"string","title":"Currency"},"tax":{"type":"integer","title":"Tax","default":10},"interval":{"type":"string","title":"Interval"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"stripe_price_id":{"type":"string","title":"Stripe Price Id"},"stripe_product_id":{"type":"string","title":"Stripe Product Id"},"active":{"type":"boolean","title":"Active"},"is_custom":{"type":"boolean","title":"Is Custom"},"is_trial":{"type":"boolean","title":"Is Trial","default":false},"display_in_billing":{"type":"boolean","title":"Display In Billing","default":false},"plan_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Plan Metadata"}},"type":"object","required":["id","plan_key","amount","currency","interval","stripe_price_id","stripe_product_id","active","is_custom"],"title":"PlanRead"},"PlanReadDetail":{"properties":{"stripe_price_id":{"type":"string","title":"Stripe Price Id"},"title":{"additionalProperties":{"type":"string"},"type":"object","title":"Title"},"amount":{"type":"integer","title":"Amount"},"features":{"items":{"type":"string"},"type":"array","title":"Features"},"allowed_features":{"items":{"type":"string"},"type":"array","title":"Allowed Features"},"image_limit":{"type":"integer","title":"Image Limit"},"video_limit":{"type":"integer","title":"Video Limit"},"interval":{"type":"string","title":"Interval"}},"type":"object","required":["stripe_price_id","title","amount","features","allowed_features","image_limit","video_limit","interval"],"title":"PlanReadDetail"},"PlanRequest":{"properties":{"plan_id":{"type":"string","title":"Plan Id"},"plan_name":{"type":"string","title":"Plan Name"},"plan_amount":{"type":"number","title":"Plan Amount"},"billing_details":{"$ref":"#/components/schemas/BillingDetails"}},"type":"object","required":["plan_id","plan_name","plan_amount","billing_details"],"title":"PlanRequest"},"PlanRevenueData":{"properties":{"total_amount":{"type":"integer","title":"Total Amount","description":"total revenue for this plan"},"payment_count":{"type":"integer","title":"Payment Count","description":"number of payments for this plan"},"plan_name":{"type":"string","title":"Plan Name","description":"name of the plan"},"current_month_amount":{"type":"integer","title":"Current Month Amount","description":"current month revenue for this plan"}},"type":"object","required":["total_amount","payment_count","plan_name","current_month_amount"],"title":"PlanRevenueData","description":"revenue data grouped by plan"},"PlanSelectionRequest":{"properties":{"company_id":{"type":"integer","title":"Company Id"},"price_id":{"type":"string","title":"Price Id","description":"Selected Stripe price id from plans table"},"payment_method":{"type":"string","enum":["stripe","bank_transfer","external_api"],"title":"Payment Method","default":"stripe"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"external_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Provider"},"force_invoice":{"type":"boolean","title":"Force Invoice","description":"Force Stripe Invoice API billing instead of direct subscription charge","default":false}},"type":"object","required":["company_id","price_id"],"title":"PlanSelectionRequest"},"PushTestRequest":{"properties":{"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"},"titleEn":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Titleen"},"titleJp":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Titlejp"},"bodyEn":{"anyOf":[{"type":"string","maxLength":250},{"type":"null"}],"title":"Bodyen"},"bodyJp":{"anyOf":[{"type":"string","maxLength":250},{"type":"null"}],"title":"Bodyjp"}},"type":"object","title":"PushTestRequest","description":"Master-admin tool: publish a test SNS push.\n\n`email` targets one account's registered devices; omitted (or empty)\ntargets every registered device. `platform` optionally filters by\ndevice platform. The alert text is localized per device language; the\noptional title/body overrides let the admin customize the message."},"RAGCorpusRead":{"properties":{"id":{"type":"string","title":"Id"},"company_id":{"type":"integer","title":"Company Id"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"ai_corpus_id":{"type":"string","title":"Ai Corpus Id"},"ai_corpus_name":{"type":"string","title":"Ai Corpus Name"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"embedding_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Embedding Model"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"files":{"items":{"$ref":"#/components/schemas/RAGFileRead"},"type":"array","title":"Files","default":[]},"is_deleted":{"type":"boolean","title":"Is Deleted","default":false}},"type":"object","required":["id","company_id","ai_corpus_id","ai_corpus_name","display_name"],"title":"RAGCorpusRead"},"RAGFileRead":{"properties":{"id":{"type":"string","title":"Id"},"ai_file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai File Id"},"ai_file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai File Name"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size Bytes"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"is_deleted":{"type":"boolean","title":"Is Deleted","default":false}},"type":"object","required":["id"],"title":"RAGFileRead"},"RefreshToken":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"}},"type":"object","required":["refresh_token"],"title":"RefreshToken"},"ResetPassword":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"new_password":{"type":"string","minLength":8,"title":"New Password"}},"type":"object","required":["email","new_password"],"title":"ResetPassword"},"RestoreOverduePaymentRequest":{"properties":{"payment_id":{"type":"integer","title":"Payment Id","description":"ID of the overdue payment to restore"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional master admin note recorded on the payment"}},"type":"object","required":["payment_id"],"title":"RestoreOverduePaymentRequest"},"RevenuePaymentSummary":{"properties":{"id":{"type":"integer","title":"Id"},"amount":{"type":"integer","title":"Amount"},"status":{"$ref":"#/components/schemas/PaymentStatus"},"created_date":{"type":"string","format":"date-time","title":"Created Date"},"plan_id":{"type":"integer","title":"Plan Id"}},"type":"object","required":["id","amount","status","created_date","plan_id"],"title":"RevenuePaymentSummary","description":"summary of payment data for revenue calculations"},"SafetyInsightsResponse":{"properties":{"weather":{"anyOf":[{"$ref":"#/components/schemas/WeatherInsights"},{"type":"null"}]},"wow_trend":{"$ref":"#/components/schemas/WowTrend"},"hot_spot_zone":{"anyOf":[{"$ref":"#/components/schemas/HotSpotZone"},{"type":"null"}]},"top_issue_category":{"anyOf":[{"$ref":"#/components/schemas/TopIssueCategory"},{"type":"null"}]}},"type":"object","required":["wow_trend"],"title":"SafetyInsightsResponse"},"ScenarioRead":{"properties":{"en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"En"},"jp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jp"}},"type":"object","title":"ScenarioRead"},"SetPassword":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"new_password":{"type":"string","minLength":8,"title":"New Password"},"token":{"type":"string","title":"Token"}},"type":"object","required":["email","new_password","token"],"title":"SetPassword"},"SiteAdminContext":{"properties":{"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"site_name":{"type":"string","title":"Site Name"},"company_id":{"type":"integer","title":"Company Id"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"address":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Address"},"box":{"$ref":"#/components/schemas/BoxConnectionStatus"}},"type":"object","required":["site_id","site_name","company_id","company_name","address","box"],"title":"SiteAdminContext"},"SiteCreate":{"properties":{"site":{"type":"string","title":"Site"},"company_id":{"type":"integer","title":"Company Id"},"zipcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zipcode"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"prefecture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prefecture"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area"},"block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block"},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building"}},"additionalProperties":false,"type":"object","required":["site","company_id"],"title":"SiteCreate"},"SiteHealthHistoryPoint":{"properties":{"date":{"type":"string","title":"Date"},"health_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Health Score"},"resolution_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Resolution Rate"},"contributing_sites":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Contributing Sites"},"contributing_resolution_sites":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Contributing Resolution Sites"}},"type":"object","required":["date"],"title":"SiteHealthHistoryPoint"},"SiteHealthHistoryResponse":{"properties":{"points":{"items":{"$ref":"#/components/schemas/SiteHealthHistoryPoint"},"type":"array","title":"Points"},"change_7d":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Change 7D"},"trend_7d":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trend 7D"}},"type":"object","required":["points"],"title":"SiteHealthHistoryResponse"},"SiteInfoDetail":{"properties":{"site_id":{"type":"integer","title":"Site Id"},"name":{"type":"string","title":"Name"},"address":{"type":"string","title":"Address"},"active_risks":{"type":"integer","title":"Active Risks"},"critical_alerts":{"type":"integer","title":"Critical Alerts"},"health_score":{"type":"number","title":"Health Score"},"yesterday_change":{"type":"number","title":"Yesterday Change"},"yesterday_trend":{"type":"string","title":"Yesterday Trend"},"wow_change":{"type":"number","title":"Wow Change"},"wow_trend":{"type":"string","title":"Wow Trend"},"week_avg_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Week Avg Change"},"week_avg_trend":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Week Avg Trend"},"resolution_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Resolution Rate"},"resolution_rate_week_avg_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Resolution Rate Week Avg Change"},"resolution_rate_week_avg_trend":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution Rate Week Avg Trend"}},"type":"object","required":["site_id","name","address","active_risks","critical_alerts","health_score","yesterday_change","yesterday_trend","wow_change","wow_trend"],"title":"SiteInfoDetail"},"SiteListResponse":{"properties":{"sites":{"items":{"$ref":"#/components/schemas/SiteSimplified"},"type":"array","title":"Sites"}},"type":"object","required":["sites"],"title":"SiteListResponse"},"SiteResponse":{"properties":{"site":{"type":"string","title":"Site"},"company_id":{"type":"integer","title":"Company Id"},"zipcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zipcode"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"prefecture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prefecture"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area"},"block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block"},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building"},"id":{"type":"integer","title":"Id"},"member_count":{"type":"integer","title":"Member Count","default":0},"zone_count":{"type":"integer","title":"Zone Count","default":0},"created_date":{"type":"string","format":"date-time","title":"Created Date"},"updated_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated Date"}},"additionalProperties":false,"type":"object","required":["site","company_id","id","created_date"],"title":"SiteResponse"},"SiteSearchResult":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"company_id":{"type":"integer","title":"Company Id"},"company_name":{"type":"string","title":"Company Name"}},"type":"object","required":["id","name","company_id","company_name"],"title":"SiteSearchResult"},"SiteSimplified":{"properties":{"site_id":{"type":"integer","title":"Site Id"},"name":{"type":"string","title":"Name"},"health_score":{"type":"number","title":"Health Score"},"week_avg_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Week Avg Change"},"week_avg_trend":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Week Avg Trend"},"resolution_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Resolution Rate"},"resolution_rate_week_avg_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Resolution Rate Week Avg Change"},"resolution_rate_week_avg_trend":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution Rate Week Avg Trend"}},"type":"object","required":["site_id","name","health_score"],"title":"SiteSimplified"},"SiteTopCategoriesResponse":{"properties":{"categories":{"items":{"$ref":"#/components/schemas/SiteTopCategory"},"type":"array","title":"Categories"}},"type":"object","required":["categories"],"title":"SiteTopCategoriesResponse"},"SiteTopCategory":{"properties":{"category_name":{"title":"Category Name"},"open_count":{"type":"integer","title":"Open Count"},"this_week_count":{"type":"integer","title":"This Week Count"},"last_week_count":{"type":"integer","title":"Last Week Count"},"week_change":{"type":"integer","title":"Week Change"},"week_trend":{"type":"string","title":"Week Trend"}},"type":"object","required":["category_name","open_count","this_week_count","last_week_count","week_change","week_trend"],"title":"SiteTopCategory"},"SiteUpdate":{"properties":{"site":{"type":"string","title":"Site"},"company_id":{"type":"integer","title":"Company Id"},"zipcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zipcode"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"prefecture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prefecture"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area"},"block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block"},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building"}},"additionalProperties":false,"type":"object","required":["site","company_id"],"title":"SiteUpdate"},"StripeCheckoutSessionResponse":{"properties":{"checkout_session_url":{"type":"string","title":"Checkout Session Url"},"session_id":{"type":"string","title":"Session Id"}},"type":"object","required":["checkout_session_url","session_id"],"title":"StripeCheckoutSessionResponse"},"SummarizeRequest":{"properties":{"transcription":{"type":"string","title":"Transcription"}},"type":"object","required":["transcription"],"title":"SummarizeRequest"},"TopIssueCategory":{"properties":{"category_name":{"title":"Category Name"},"violation_count":{"type":"integer","title":"Violation Count"},"risk_level":{"type":"string","title":"Risk Level"}},"type":"object","required":["category_name","violation_count","risk_level"],"title":"TopIssueCategory"},"UpdateUserBase":{"properties":{"access_token":{"type":"string","title":"Access Token"},"full_name":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Full Name"},"default_folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Folder Id"}},"type":"object","required":["access_token"],"title":"UpdateUserBase"},"UploadJobRead":{"properties":{"id":{"type":"integer","title":"Id"},"company_id":{"type":"integer","title":"Company Id"},"user_id":{"type":"string","title":"User Id"},"media_type":{"type":"string","title":"Media Type"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"status":{"type":"string","title":"Status"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"image_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Image Id"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"scenarios":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScenarioRead"},"type":"array"},{"type":"null"}],"title":"Scenarios"},"risk_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"},"job_type":{"type":"string","title":"Job Type"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Site Id"},"folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Folder Id"},"longform_video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Longform Video Id"},"video_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Id"},"ai_report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Report Id"},"report_timestamp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Report Timestamp"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"},"zone_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Name"},"message":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Message"},"progress":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Progress"}},"type":"object","required":["id","company_id","user_id","media_type","status","created_at","updated_at","job_type"],"title":"UploadJobRead"},"UploadPageResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UploadJobRead"},"type":"array","title":"Items"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total_items":{"type":"integer","title":"Total Items"},"total_pages":{"type":"integer","title":"Total Pages"},"has_next":{"type":"boolean","title":"Has Next"},"has_prev":{"type":"boolean","title":"Has Prev"}},"type":"object","required":["items","page","page_size","total_items","total_pages","has_next","has_prev"],"title":"UploadPageResponse"},"UploadPreviewResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UploadJobRead"},"type":"array","title":"Items"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","has_more"],"title":"UploadPreviewResponse"},"UserProfileImageCreate":{"properties":{"user_id":{"type":"string","title":"User Id"},"path":{"type":"string","title":"Path"},"crop_zoom":{"type":"number","title":"Crop Zoom","default":1.0},"crop_offset_x":{"type":"number","title":"Crop Offset X","default":0.0},"crop_offset_y":{"type":"number","title":"Crop Offset Y","default":0.0}},"type":"object","required":["user_id","path"],"title":"UserProfileImageCreate"},"UserRegisterAccount":{"properties":{"full_name":{"type":"string","maxLength":50,"title":"Full Name"},"email":{"type":"string","format":"email","title":"Email"},"company_name":{"type":"string","title":"Company Name"},"company_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Number"},"password":{"type":"string","minLength":8,"title":"Password"},"role":{"type":"string","title":"Role"},"captcha_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Captcha Token"}},"type":"object","required":["full_name","email","company_name","password","role"],"title":"UserRegisterAccount"},"UserRoleCreate":{"properties":{"role":{"type":"string","title":"Role"},"label_en":{"type":"string","title":"Label En"},"label_jp":{"type":"string","title":"Label Jp"}},"type":"object","required":["role","label_en","label_jp"],"title":"UserRoleCreate"},"UserRoleRead":{"properties":{"role":{"type":"string","title":"Role"},"label_en":{"type":"string","title":"Label En"},"label_jp":{"type":"string","title":"Label Jp"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["role","label_en","label_jp","id"],"title":"UserRoleRead"},"UserRoleUpdate":{"properties":{"label_en":{"type":"string","title":"Label En"},"label_jp":{"type":"string","title":"Label Jp"}},"type":"object","required":["label_en","label_jp"],"title":"UserRoleUpdate"},"UserSignin":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","minLength":8,"title":"Password"}},"type":"object","required":["email","password"],"title":"UserSignin"},"UserSignup":{"properties":{"full_name":{"type":"string","maxLength":50,"title":"Full Name"},"email":{"type":"string","format":"email","title":"Email"},"role":{"type":"string","title":"Role"},"companyId":{"type":"string","title":"Companyid"}},"type":"object","required":["full_name","email","role","companyId"],"title":"UserSignup"},"UserVerify":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"UserVerify"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WeatherInsights":{"properties":{"temperature":{"type":"number","title":"Temperature"},"humidity":{"type":"number","title":"Humidity"},"windspeed":{"type":"number","title":"Windspeed"},"weather_code":{"type":"number","title":"Weather Code"},"summary":{"$ref":"#/components/schemas/BilingualString"}},"type":"object","required":["temperature","humidity","windspeed","weather_code","summary"],"title":"WeatherInsights"},"WorkerResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role"}},"type":"object","required":["id","name","email","role"],"title":"WorkerResponse"},"WowTrend":{"properties":{"current_week_violations":{"type":"integer","title":"Current Week Violations"},"last_week_violations":{"type":"integer","title":"Last Week Violations"},"percentage_change":{"type":"number","title":"Percentage Change"},"trend":{"type":"string","title":"Trend"}},"type":"object","required":["current_week_violations","last_week_violations","percentage_change","trend"],"title":"WowTrend"},"ZoneBulkUpdate":{"properties":{"site_id":{"type":"integer","title":"Site Id"},"zones":{"items":{"$ref":"#/components/schemas/ZoneUpsert"},"type":"array","title":"Zones"}},"type":"object","required":["site_id","zones"],"title":"ZoneBulkUpdate"},"ZoneCriticalBreakdownItem":{"properties":{"folder_id":{"type":"integer","title":"Folder Id"},"folder_name":{"type":"string","title":"Folder Name"},"critical_count":{"type":"integer","title":"Critical Count"},"active_risks":{"type":"integer","title":"Active Risks","default":0},"health_score":{"type":"number","title":"Health Score","default":100.0},"week_change":{"type":"integer","title":"Week Change","default":0},"week_trend":{"type":"string","title":"Week Trend","default":"stable"}},"type":"object","required":["folder_id","folder_name","critical_count"],"title":"ZoneCriticalBreakdownItem"},"ZoneCriticalBreakdownResponse":{"properties":{"zones":{"items":{"$ref":"#/components/schemas/ZoneCriticalBreakdownItem"},"type":"array","title":"Zones"}},"type":"object","required":["zones"],"title":"ZoneCriticalBreakdownResponse"},"ZoneRead":{"properties":{"site_id":{"type":"integer","title":"Site Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["site_id","name","id"],"title":"ZoneRead"},"ZoneUpsert":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["name"],"title":"ZoneUpsert"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"BearerAuth":[]}]}