{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.65"},"paths":{"/api/users/me":{"get":{"tags":["API","Users"],"summary":"Get Current User Profile","description":"Returns the current user profile","operationId":"API-get_current_user_profile","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/users/search":{"post":{"tags":["API","Users"],"summary":"Search Users","description":"Returns filtered list of users","operationId":"API-search_users","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"responses","in":"query","required":false,"schema":{"default":{"409":{"description":"Selected service not found"}},"title":"Responses"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSearchIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersSearchOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/users/{user_uuid}":{"get":{"tags":["API","Users"],"summary":"Get User Profile","description":"Returns the user profile","operationId":"API-get_user_profile","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_uuid","in":"path","required":true,"schema":{"type":"string","title":"User Uuid"}},{"name":"lang","in":"query","required":false,"schema":{"enum":["ua","en"],"type":"string","default":"ua","title":"Lang"}},{"name":"responses","in":"query","required":false,"schema":{"default":{"404":{"description":"User not found"}},"title":"Responses"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/users/search-public":{"post":{"tags":["API","Users"],"summary":"Public Search Users","description":"Returns filtered list of users","operationId":"API-public_search_users","parameters":[{"name":"responses","in":"query","required":false,"schema":{"default":{"409":{"description":"Selected service not found"}},"title":"Responses"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSearchIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicUsersSearchOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/users/public/{user_uuid}":{"get":{"tags":["API","Users"],"summary":"Get Public User Profile","description":"Returns the user profile for public view","operationId":"API-get_public_user_profile","parameters":[{"name":"user_uuid","in":"path","required":true,"schema":{"type":"string","title":"User Uuid"}},{"name":"lang","in":"query","required":false,"schema":{"enum":["ua","en"],"type":"string","default":"ua","title":"Lang"}},{"name":"responses","in":"query","required":false,"schema":{"default":{"404":{"description":"User not found"}},"title":"Responses"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicUserProfileOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/login":{"post":{"tags":["API","Auth"],"summary":"Login","description":"Logs in a user","operationId":"API-login","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_API-login"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/token":{"post":{"tags":["API","Auth"],"summary":"Get Token","description":"Logs in a user","operationId":"API-get_token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Auth"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/google":{"post":{"tags":["API","Auth"],"summary":"Google Auth","description":"Logs in a user with Google","operationId":"API-google_auth","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleAuth"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/apple":{"post":{"tags":["API","Auth"],"summary":"Apple Auth","description":"Logs in a user with Apple","operationId":"API-apple_auth","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppleAuth"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/registration/":{"post":{"tags":["API","Registration"],"summary":"Register User","description":"Logs in a user","operationId":"API-register_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrationIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"406":{"description":"This phone is already registered"},"409":{"description":"This email is already registered"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/registration/set-phone":{"post":{"tags":["API","Registration"],"summary":"Set Phone","description":"Sets phone for a user","operationId":"API-set_phone","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPhoneIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPhoneOut"}}}},"409":{"description":"This phone is already registered"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/registration/validate-phone":{"post":{"tags":["API","Registration"],"summary":"Validate Phone","description":"Sets phone for a user","operationId":"API-validate_phone","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatePhoneIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"409":{"description":"Phone validation failed"},"403":{"description":"User phone is validated already"},"406":{"description":"User phone not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/registration/set-otp":{"get":{"tags":["API","Registration"],"summary":"Set Otp","description":"Sets phone for a user","operationId":"API-set_otp","responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"403":{"description":"User phone is already validated"},"406":{"description":"User phone not found"}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/jobs/{job_id}":{"get":{"tags":["API","jobs"],"summary":"Get Job","operationId":"API-get_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["API","jobs"],"summary":"Put Job","operationId":"API-put_job","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobPut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/jobs/":{"get":{"tags":["API","jobs"],"summary":"Get Jobs","operationId":"API-get_jobs","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOutList"}}}}}},"post":{"tags":["API","jobs"],"summary":"Create Job","operationId":"API-create_job","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/jobs/search":{"post":{"tags":["API","jobs"],"summary":"Search Jobs","description":"Returns filtered list of jobs","operationId":"API-search_jobs","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"responses","in":"query","required":false,"schema":{"default":{"409":{"description":"Selected service not found"}},"title":"Responses"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSearchIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsSearchOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/jobs/home":{"post":{"tags":["API","jobs"],"summary":"Get Jobs On Home Page","description":"Returns jobs for home page","operationId":"API-get_jobs_on_home_page","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobHomePage"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsCardList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/jobs/public-job-statistics/":{"get":{"tags":["API","jobs"],"summary":"Get Public Job Statistics","description":"Get statistics for jobs and experts per location","operationId":"API-get_public_job_statistics","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicJobDict"}}}}}}},"/api/whoami/user":{"get":{"tags":["API","Whoami"],"summary":"Whoami","operationId":"API-whoami","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"app_version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoAmI"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/applications/{application_id}":{"get":{"tags":["API","applications"],"summary":"Get Application","operationId":"API-get_application","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"integer","title":"Application Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["API","applications"],"summary":"Update Application","operationId":"API-update_application","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"integer","title":"Application Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationPut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/applications/":{"get":{"tags":["API","applications"],"summary":"Get Applications","operationId":"API-get_applications","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationOutList"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"post":{"tags":["API","applications"],"summary":"Create Application","operationId":"API-create_application","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/locations":{"post":{"tags":["API","Location"],"summary":"Get Locations","operationId":"API-get_locations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationsIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/services":{"post":{"tags":["API","service"],"summary":"Get Services","operationId":"API-get_services","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicesIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicesOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/list-endpoints/":{"get":{"tags":["API"],"summary":"List Endpoints","operationId":"API-list_endpoints","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"tags":["root"],"summary":"Root","operationId":"root-root","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AppleAuth":{"properties":{"uid":{"type":"string","title":"Uid"},"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"}},"type":"object","required":["uid","email","first_name","last_name","display_name"],"title":"AppleAuth"},"ApplicationIn":{"properties":{"type":{"$ref":"#/components/schemas/ApplicationType"},"job_id":{"type":"integer","title":"Job Id"},"worker_id":{"type":"integer","title":"Worker Id"}},"type":"object","required":["type","job_id","worker_id"],"title":"ApplicationIn"},"ApplicationOut":{"properties":{"id":{"type":"integer","title":"Id"},"uuid":{"type":"string","title":"Uuid"},"worker_id":{"type":"integer","title":"Worker Id"},"job_id":{"type":"integer","title":"Job Id"},"type":{"$ref":"#/components/schemas/ApplicationType"},"status":{"$ref":"#/components/schemas/ApplicationStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"is_deleted":{"type":"boolean","title":"Is Deleted"}},"type":"object","required":["id","uuid","worker_id","job_id","type","status","created_at","is_deleted"],"title":"ApplicationOut"},"ApplicationOutList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ApplicationOut"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ApplicationOutList"},"ApplicationPut":{"properties":{"status":{"anyOf":[{"$ref":"#/components/schemas/ApplicationStatus"},{"type":"null"}]}},"type":"object","title":"ApplicationPut"},"ApplicationStatus":{"type":"string","enum":["pending","accepted","rejected"],"title":"ApplicationStatus"},"ApplicationType":{"type":"string","enum":["invite","apply"],"title":"ApplicationType"},"Auth":{"properties":{"phone":{"type":"string","title":"Phone"},"password":{"type":"string","title":"Password"}},"type":"object","required":["phone","password"],"title":"Auth"},"Body_API-login":{"properties":{"grant_type":{"anyOf":[{"type":"string","pattern":"password"},{"type":"null"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_API-login"},"GoogleAuth":{"properties":{"uid":{"type":"string","title":"Uid"},"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"}},"type":"object","required":["uid","email","first_name","last_name"],"title":"GoogleAuth"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JobCard":{"properties":{"id":{"type":"integer","title":"Id"},"uuid":{"type":"string","title":"Uuid"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"location":{"$ref":"#/components/schemas/LocationStrings"},"cost":{"type":"integer","title":"Cost"},"is_saved":{"type":"boolean","title":"Is Saved"}},"type":"object","required":["id","uuid","title","description","location","cost","is_saved"],"title":"JobCard"},"JobHomePage":{"properties":{"lang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang","default":"ua"},"location_uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Uuid"}},"type":"object","title":"JobHomePage"},"JobIn":{"properties":{"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"address_id":{"type":"integer","title":"Address Id"},"location_id":{"type":"integer","title":"Location Id"},"time":{"type":"string","title":"Time"},"is_public":{"type":"boolean","title":"Is Public"}},"type":"object","required":["title","description","address_id","location_id","time","is_public"],"title":"JobIn"},"JobOut":{"properties":{"id":{"type":"integer","title":"Id"},"uuid":{"type":"string","title":"Uuid"},"title":{"type":"string","title":"Title"},"address_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Address Id"},"location_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Location Id"},"owner_id":{"type":"integer","title":"Owner Id"},"worker_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Worker Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"is_deleted":{"type":"boolean","title":"Is Deleted","default":false},"description":{"type":"string","title":"Description","default":""},"time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time"},"status":{"$ref":"#/components/schemas/JobStatus"},"is_public":{"type":"boolean","title":"Is Public"}},"type":"object","required":["id","uuid","title","owner_id","created_at","updated_at","status","is_public"],"title":"JobOut"},"JobOutList":{"properties":{"jobs":{"items":{"$ref":"#/components/schemas/JobOut"},"type":"array","title":"Jobs"}},"type":"object","required":["jobs"],"title":"JobOutList"},"JobPut":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"address_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Address Id"},"location_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Location Id"},"time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"}},"type":"object","title":"JobPut"},"JobSearch":{"properties":{"id":{"type":"integer","title":"Id"},"uuid":{"type":"string","title":"Uuid"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"location":{"$ref":"#/components/schemas/LocationStrings"},"cost":{"type":"integer","title":"Cost"},"is_saved":{"type":"boolean","title":"Is Saved"}},"type":"object","required":["id","uuid","title","description","location","cost","is_saved"],"title":"JobSearch"},"JobSearchIn":{"properties":{"lang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang","default":"ua"},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":""},"selected_services":{"items":{"type":"string"},"type":"array","title":"Selected Services","default":[]},"selected_locations":{"items":{"type":"string"},"type":"array","title":"Selected Locations","default":[]}},"type":"object","title":"JobSearchIn"},"JobStatus":{"type":"string","enum":["pending","in_progress","completed"],"title":"JobStatus"},"JobsCardList":{"properties":{"lang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang","default":"ua"},"location_uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Uuid"},"recommended_jobs":{"items":{"$ref":"#/components/schemas/JobCard"},"type":"array","title":"Recommended Jobs","default":[]},"jobs_near_you":{"items":{"$ref":"#/components/schemas/JobCard"},"type":"array","title":"Jobs Near You","default":[]}},"type":"object","title":"JobsCardList"},"JobsSearchOut":{"properties":{"lang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang","default":"ua"},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":""},"jobs":{"items":{"$ref":"#/components/schemas/JobSearch"},"type":"array","title":"Jobs","default":[]}},"type":"object","title":"JobsSearchOut"},"Location":{"properties":{"uuid":{"type":"string","title":"Uuid"},"name":{"type":"string","title":"Name"},"svg":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Svg"}},"type":"object","required":["uuid","name"],"title":"Location"},"LocationStrings":{"properties":{"uuid":{"type":"string","title":"Uuid"},"name":{"type":"string","title":"Name"}},"type":"object","required":["uuid","name"],"title":"LocationStrings"},"LocationsIn":{"properties":{"lang":{"type":"string","title":"Lang"},"selected":{"items":{"type":"string"},"type":"array","title":"Selected"}},"type":"object","required":["lang","selected"],"title":"LocationsIn"},"LocationsOut":{"properties":{"lang":{"type":"string","title":"Lang"},"locations":{"items":{"$ref":"#/components/schemas/Location"},"type":"array","title":"Locations"},"selected":{"items":{"type":"string"},"type":"array","title":"Selected"}},"type":"object","required":["lang","locations","selected"],"title":"LocationsOut"},"PublicJobDict":{"properties":{"statistics":{"additionalProperties":{"$ref":"#/components/schemas/PublicJobStatistics"},"type":"object","title":"Statistics"}},"type":"object","required":["statistics"],"title":"PublicJobDict"},"PublicJobStatistics":{"properties":{"jobs_count":{"type":"integer","title":"Jobs Count"},"experts_count":{"type":"integer","title":"Experts Count"}},"type":"object","required":["jobs_count","experts_count"],"title":"PublicJobStatistics"},"PublicUserProfileOut":{"properties":{"id":{"type":"integer","title":"Id"},"uuid":{"type":"string","title":"Uuid"},"fullname":{"type":"string","title":"Fullname"},"owned_rates_count":{"type":"integer","title":"Owned Rates Count"},"average_rate":{"type":"number","title":"Average Rate"},"services":{"items":{"$ref":"#/components/schemas/Service"},"type":"array","title":"Services"},"locations":{"items":{"$ref":"#/components/schemas/LocationStrings"},"type":"array","title":"Locations"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","uuid","fullname","owned_rates_count","average_rate","services","locations","created_at"],"title":"PublicUserProfileOut"},"PublicUsersSearchOut":{"properties":{"lang":{"type":"string","title":"Lang","default":"ua"},"locations":{"items":{"$ref":"#/components/schemas/LocationStrings"},"type":"array","title":"Locations","default":[]},"selected_locations":{"items":{"type":"string"},"type":"array","title":"Selected Locations","default":[]},"top_users":{"items":{"$ref":"#/components/schemas/UserSearchOut"},"type":"array","title":"Top Users","default":[]},"query":{"type":"string","title":"Query","default":""}},"type":"object","title":"PublicUsersSearchOut"},"RegistrationIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"fullname":{"type":"string","title":"Fullname"},"phone":{"type":"string","title":"Phone"},"services":{"items":{"type":"string"},"type":"array","title":"Services","default":[]},"locations":{"items":{"type":"string"},"type":"array","title":"Locations","default":[]},"is_volunteer":{"type":"boolean","title":"Is Volunteer","default":false}},"type":"object","required":["email","password","fullname","phone"],"title":"RegistrationIn"},"Service":{"properties":{"uuid":{"type":"string","title":"Uuid"},"name":{"type":"string","title":"Name"}},"type":"object","required":["uuid","name"],"title":"Service"},"ServicesIn":{"properties":{"lang":{"type":"string","title":"Lang","default":"ua"},"selected":{"items":{"type":"string"},"type":"array","title":"Selected","default":[]}},"type":"object","title":"ServicesIn"},"ServicesOut":{"properties":{"lang":{"type":"string","title":"Lang"},"services":{"items":{"$ref":"#/components/schemas/Service"},"type":"array","title":"Services"},"selected":{"items":{"type":"string"},"type":"array","title":"Selected"}},"type":"object","required":["lang","services","selected"],"title":"ServicesOut"},"SetPhoneIn":{"properties":{"phone":{"type":"string","title":"Phone"}},"type":"object","required":["phone"],"title":"SetPhoneIn"},"SetPhoneOut":{"properties":{"phone":{"type":"string","title":"Phone"}},"type":"object","required":["phone"],"title":"SetPhoneOut"},"Token":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"}},"type":"object","required":["access_token"],"title":"Token"},"User":{"properties":{"id":{"type":"integer","title":"Id"},"fullname":{"type":"string","title":"Fullname"},"phone":{"type":"string","title":"Phone"},"email":{"type":"string","title":"Email"},"is_deleted":{"type":"boolean","title":"Is Deleted"}},"type":"object","required":["id","fullname","phone","email","is_deleted"],"title":"User"},"UserProfileOut":{"properties":{"id":{"type":"integer","title":"Id"},"uuid":{"type":"string","title":"Uuid"},"fullname":{"type":"string","title":"Fullname"},"phone":{"type":"string","title":"Phone"},"email":{"type":"string","title":"Email"},"is_deleted":{"type":"boolean","title":"Is Deleted"},"owned_rates_count":{"type":"integer","title":"Owned Rates Count"},"average_rate":{"type":"number","title":"Average Rate"},"services":{"items":{"$ref":"#/components/schemas/Service"},"type":"array","title":"Services"},"locations":{"items":{"$ref":"#/components/schemas/LocationStrings"},"type":"array","title":"Locations"}},"type":"object","required":["id","uuid","fullname","phone","email","is_deleted","owned_rates_count","average_rate","services","locations"],"title":"UserProfileOut"},"UserSearchIn":{"properties":{"lang":{"type":"string","title":"Lang","default":"ua"},"selected_locations":{"items":{"type":"string"},"type":"array","title":"Selected Locations","default":[]},"query":{"type":"string","title":"Query","default":""}},"type":"object","title":"UserSearchIn"},"UserSearchOut":{"properties":{"id":{"type":"integer","title":"Id"},"uuid":{"type":"string","title":"Uuid"},"fullname":{"type":"string","title":"Fullname"},"owned_rates_count":{"type":"integer","title":"Owned Rates Count"},"average_rate":{"type":"number","title":"Average Rate"},"services":{"items":{"$ref":"#/components/schemas/Service"},"type":"array","title":"Services"},"locations":{"items":{"$ref":"#/components/schemas/LocationStrings"},"type":"array","title":"Locations"}},"type":"object","required":["id","uuid","fullname","owned_rates_count","average_rate","services","locations"],"title":"UserSearchOut"},"UsersSearchOut":{"properties":{"lang":{"type":"string","title":"Lang","default":"ua"},"user_locations":{"items":{"$ref":"#/components/schemas/LocationStrings"},"type":"array","title":"User Locations","default":[]},"locations":{"items":{"$ref":"#/components/schemas/LocationStrings"},"type":"array","title":"Locations","default":[]},"selected_locations":{"items":{"type":"string"},"type":"array","title":"Selected Locations","default":[]},"top_users":{"items":{"$ref":"#/components/schemas/UserSearchOut"},"type":"array","title":"Top Users","default":[]},"near_users":{"items":{"$ref":"#/components/schemas/UserSearchOut"},"type":"array","title":"Near Users","default":[]},"query":{"type":"string","title":"Query","default":""}},"type":"object","title":"UsersSearchOut"},"ValidatePhoneIn":{"properties":{"code":{"type":"string","title":"Code"}},"type":"object","required":["code"],"title":"ValidatePhoneIn"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WhoAmI":{"properties":{"uuid":{"type":"string","title":"Uuid"},"is_auth_by_google":{"type":"boolean","title":"Is Auth By Google"},"is_auth_by_apple":{"type":"boolean","title":"Is Auth By Apple"},"phone_verified":{"type":"boolean","title":"Phone Verified"}},"type":"object","required":["uuid","is_auth_by_google","is_auth_by_apple","phone_verified"],"title":"WhoAmI"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/api/auth/login"}}}}}}