{"openapi":"3.0.0","paths":{"/health":{"get":{"operationId":"HealthController_health","parameters":[],"responses":{"200":{"description":""}},"tags":["Health"]}},"/admin/auth/password-login":{"post":{"operationId":"AdminAuthController_login","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPasswordLoginRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTokenPairResponseDto"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTokenPairResponseDto"}}}}},"security":[{"basic":[]}],"tags":["Admin Auth"]}},"/admin/auth/refresh":{"post":{"operationId":"AdminAuthController_refresh","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminRefreshTokenRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTokenPairResponseDto"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTokenPairResponseDto"}}}}},"security":[{"basic":[]}],"tags":["Admin Auth"]}},"/admin/me":{"get":{"operationId":"AdminMeController_getMe","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMeResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Admin Auth"]}},"/admin/me/password":{"patch":{"operationId":"AdminMeController_changePassword","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminChangePasswordRequestDto"}}}},"responses":{"200":{"description":""},"204":{"description":""}},"security":[{"bearer":[]}],"tags":["Admin Auth"]}},"/v1/auth/phone-verifications":{"post":{"operationId":"MobileAuthController_requestPhoneVerification_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestPhoneVerificationRequestDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneVerificationResponseDto"}}}}},"security":[{"basic":[]}],"tags":["Auth"]}},"/v1/auth/sessions":{"post":{"operationId":"MobileAuthController_createSession_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["method","phone","verificationCode"],"properties":{"method":{"type":"string","enum":["phone_verification"]},"phone":{"type":"string","example":"+420777123456","maxLength":45},"verificationCode":{"type":"string","example":"1111","pattern":"^\\d{4}$","minLength":4,"maxLength":4},"scope":{"type":"string","example":"user_identity","maxLength":255}}},{"type":"object","required":["method","username","password"],"properties":{"method":{"type":"string","enum":["password"]},"username":{"type":"string","example":"+420777123456","maxLength":45},"password":{"type":"string","maxLength":255},"scope":{"type":"string","example":"user_identity","maxLength":255}}}]}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenPairResponseDto"}}}}},"security":[{"basic":[]}],"tags":["Auth"]}},"/v1/auth/sessions/refresh":{"post":{"operationId":"MobileAuthController_refreshSession_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshSessionRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenPairResponseDto"}}}}},"security":[{"basic":[]}],"tags":["Auth"]}},"/v1/auth/sessions/current":{"delete":{"operationId":"MobileAuthController_revokeCurrentSession_v1","parameters":[],"responses":{"204":{"description":""}},"security":[{"bearer":[]}],"tags":["Auth"]}},"/v2/me/profile":{"get":{"operationId":"MeProfileController_getProfile[0]_v2","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/profile":{"get":{"operationId":"MeProfileController_getProfile[1]","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me":{"get":{"operationId":"CanonicalMeController_getMe_v1","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]},"patch":{"operationId":"CanonicalMeController_updateMe_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMeDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]},"delete":{"operationId":"CanonicalMeController_removeMe_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMeDto"}}}},"responses":{"204":{"description":""}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/areas":{"get":{"operationId":"CanonicalMeController_getMeAreas_v1","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileAreasResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]},"post":{"operationId":"CanonicalMeController_createMeArea_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAreaDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileAreaResponseDto"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileAreaResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/areas/{areaId}":{"patch":{"operationId":"CanonicalMeController_updateMeArea_v1","parameters":[{"name":"areaId","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAreaDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileAreaResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]},"delete":{"operationId":"CanonicalMeController_removeMeArea_v1","parameters":[{"name":"areaId","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"204":{"description":""}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/schools":{"get":{"operationId":"CanonicalMeController_getMeSchools_v1","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileSchoolsResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]},"post":{"operationId":"CanonicalMeController_addMeSchool_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddUserSchoolDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileUserSchoolResponseDto"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileUserSchoolResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/schools/{userSchoolId}":{"delete":{"operationId":"CanonicalMeController_removeMeSchool_v1","parameters":[{"name":"userSchoolId","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"204":{"description":""}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/devices":{"post":{"operationId":"CanonicalMeController_registerCurrentDevice_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterDeviceDto"}}}},"responses":{"204":{"description":""}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/devices/current":{"delete":{"operationId":"CanonicalMeController_removeCurrentDevice_v1","parameters":[],"responses":{"204":{"description":""}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/images/{slot}":{"put":{"operationId":"CanonicalMeController_uploadMeImage_v1","parameters":[{"name":"slot","required":true,"in":"path","schema":{"enum":["avatar","body","face","optional"],"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileImageResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]},"delete":{"operationId":"CanonicalMeController_removeMeImage_v1","parameters":[{"name":"slot","required":true,"in":"path","schema":{"enum":["avatar","body","face","optional"],"type":"string"}}],"responses":{"204":{"description":""}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/password":{"patch":{"operationId":"CanonicalMeController_changePassword_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordDto"}}}},"responses":{"204":{"description":""}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/me/reviews":{"get":{"operationId":"CanonicalMeController_getMeReviews_v1","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeProfileReviewsResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]}},"/webhooks/jobs/import":{"post":{"operationId":"JobsImportController_importJob","parameters":[{"name":"secret","required":false,"in":"query","description":"Shared secret fallback in query.","schema":{}},{"name":"token","required":false,"in":"query","description":"Shared secret fallback in query.","schema":{}},{"name":"X-JOB-IMPORT-SECRET","in":"header","description":"Shared secret for scraper/N8N ingestion.","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobRequestDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobResponseDto"}}}}},"tags":["webhooks"]}},"/v2/jobs/public":{"get":{"operationId":"PublicJobsController_getPublicJobs[0]_v2","parameters":[{"name":"lat","required":false,"in":"query","schema":{"type":"number"}},{"name":"lng","required":false,"in":"query","schema":{"type":"number"}},{"name":"term","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to one_time.","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicJobsListResponseDto"}}}}},"tags":["Jobs"]}},"/v1/jobs/public":{"get":{"operationId":"PublicJobsController_getPublicJobs[1]","parameters":[{"name":"lat","required":false,"in":"query","schema":{"type":"number"}},{"name":"lng","required":false,"in":"query","schema":{"type":"number"}},{"name":"term","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to one_time.","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicJobsListResponseDto"}}}}},"tags":["Jobs"]}},"/v2/jobs/public/company/{companyId}":{"get":{"operationId":"PublicJobsController_getCompanyJobs[0]_v2","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyJobsListResponseDto"}}}}},"tags":["Jobs"]}},"/v1/jobs/public/company/{companyId}":{"get":{"operationId":"PublicJobsController_getCompanyJobs[1]","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyJobsListResponseDto"}}}}},"tags":["Jobs"]}},"/v2/jobs/public/{id}":{"get":{"operationId":"PublicJobsController_getPublicJobDetail[0]_v2","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}},{"name":"X-QJ-Skip-Visit","in":"header","description":"Set to 1 to return public detail without recording an automatic visit.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicJobDetailResponseDto"}}}}},"tags":["Jobs"]}},"/v1/jobs/public/{id}":{"get":{"operationId":"PublicJobsController_getPublicJobDetail[1]","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}},{"name":"X-QJ-Skip-Visit","in":"header","description":"Set to 1 to return public detail without recording an automatic visit.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicJobDetailResponseDto"}}}}},"tags":["Jobs"]}},"/v1/jobs/{id}/visits":{"post":{"operationId":"JobVisitsController_recordPublicJobVisit_v1","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"204":{"description":""}},"tags":["Jobs"]}},"/v1/jobs":{"get":{"operationId":"CanonicalJobsController_getJobs_v1","parameters":[{"name":"term","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to one_time.","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}},{"name":"includeWiderAreas","required":false,"in":"query","description":"Expands area matching up to 50 km while preserving is_relevant.","schema":{"default":false,"type":"boolean"}},{"name":"fields","required":false,"in":"query","description":"Legacy compatibility parameter. Accepted but ignored.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanonicalJobsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Jobs"]}},"/v1/jobs/{id}":{"get":{"operationId":"CanonicalJobsController_getJobDetail_v1","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanonicalJobDetailResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Jobs"]}},"/v2/jobs/available":{"get":{"operationId":"AvailableJobsController_getAvailableJobs[0]_v2","parameters":[{"name":"term","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to one_time.","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}},{"name":"includeWiderAreas","required":false,"in":"query","description":"Expands area matching up to 50 km while preserving is_relevant.","schema":{"default":false,"type":"boolean"}},{"name":"fields","required":false,"in":"query","description":"Legacy compatibility parameter. Accepted but ignored by this implementation.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableJobsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Jobs"]}},"/v1/jobs/available":{"get":{"operationId":"AvailableJobsController_getAvailableJobs[1]","parameters":[{"name":"term","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to one_time.","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}},{"name":"includeWiderAreas","required":false,"in":"query","description":"Expands area matching up to 50 km while preserving is_relevant.","schema":{"default":false,"type":"boolean"}},{"name":"fields","required":false,"in":"query","description":"Legacy compatibility parameter. Accepted but ignored by this implementation.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableJobsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Jobs"]}},"/v1/external-jobs":{"get":{"operationId":"CanonicalExternalJobsController_getExternalJobs_v1","parameters":[{"name":"term","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to all terms.","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}},{"name":"limit","required":false,"in":"query","description":"Requested result size. Values above 100 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanonicalExternalJobsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["External Jobs"]}},"/v1/external-jobs/{id}":{"get":{"operationId":"CanonicalExternalJobsController_getExternalJobDetail_v1","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanonicalExternalJobDetailResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["External Jobs"]}},"/v2/jobs/external-applied":{"get":{"operationId":"ExternalJobsController_getExternalAppliedJobs[0]_v2","parameters":[{"name":"limit","required":false,"in":"query","description":"Requested result size. Values above 100 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalJobsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Jobs"]}},"/v1/jobs/external-applied":{"get":{"operationId":"ExternalJobsController_getExternalAppliedJobs[1]","parameters":[{"name":"limit","required":false,"in":"query","description":"Requested result size. Values above 100 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalJobsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Jobs"]}},"/v2/jobs/external-ignored":{"get":{"operationId":"ExternalJobsController_getExternalIgnoredJobs[0]_v2","parameters":[{"name":"limit","required":false,"in":"query","description":"Requested result size. Values above 100 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalJobsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Jobs"]}},"/v1/jobs/external-ignored":{"get":{"operationId":"ExternalJobsController_getExternalIgnoredJobs[1]","parameters":[{"name":"limit","required":false,"in":"query","description":"Requested result size. Values above 100 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalJobsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Jobs"]}},"/v1/me/external-job-reactions":{"get":{"operationId":"MeExternalJobReactionsController_getExternalJobReactions_v1","parameters":[{"name":"status","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to applied and ignored.","schema":{"type":"array","items":{"type":"string","enum":["applied","ignored"]}}},{"name":"page","required":false,"in":"query","description":"Zero-based page number. Defaults to 0.","schema":{"minimum":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Requested page size. Values above 100 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanonicalExternalJobReactionsResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Users"]}},"/v1/candidates":{"get":{"operationId":"CandidatesController_findCandidates[1]","parameters":[{"name":"keyword","required":false,"in":"query","schema":{"type":"string"}},{"name":"skills","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}},{"name":"jobTerms","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}},{"name":"lat","required":false,"in":"query","schema":{"type":"number"}},{"name":"lng","required":false,"in":"query","schema":{"type":"number"}},{"name":"showAll","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"gender","required":false,"in":"query","schema":{"enum":["male","female"],"type":"string"}},{"name":"schoolStatus","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","enum":["completed","in_progress","in_progress_1","in_progress_2","in_progress_3","in_progress_4","in_progress_5"]}}},{"name":"schoolIds","required":false,"in":"query","schema":{"type":"array","items":{"type":"number"}}},{"name":"schoolFacultyIds","required":false,"in":"query","schema":{"type":"array","items":{"type":"number"}}},{"name":"age","required":false,"in":"query","schema":{"minimum":1,"maximum":120,"type":"number"}},{"name":"page","required":false,"in":"query","schema":{"minimum":0,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":200,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateSearchResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Candidates"]}},"/v1/candidate-watchdogs":{"post":{"operationId":"WatchdogsController_createWatchdog[1]","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWatchdogDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateWatchdogDto"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateWatchdogDto"}}}}},"security":[{"bearer":[]}],"tags":["Candidate Watchdogs"]},"get":{"operationId":"WatchdogsController_listWatchdogs[1]","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CandidateWatchdogDto"}}}}}},"security":[{"bearer":[]}],"tags":["Candidate Watchdogs"]}},"/v1/candidate-watchdogs/{id}":{"patch":{"operationId":"WatchdogsController_updateWatchdog[1]","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWatchdogDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateWatchdogDto"}}}}},"security":[{"bearer":[]}],"tags":["Candidate Watchdogs"]}},"/v1/candidate-search/history":{"get":{"operationId":"WatchdogsController_getHistory[1]","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateSearchHistoryResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Candidate Watchdogs"]}},"/webhooks/fapi/invoice-paid":{"post":{"operationId":"FapiWebhookController_handleInvoicePaid","parameters":[{"name":"secret","required":false,"in":"query","description":"Shared secret for FAPI webhooks (query fallback).","schema":{}},{"name":"token","required":false,"in":"query","description":"Shared secret for FAPI webhooks (query fallback).","schema":{}},{"name":"X-FAPI-SECRET","in":"header","description":"Shared secret for FAPI webhooks.","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FapiInvoicePaidWebhookDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FapiWebhookResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["webhooks"]}},"/v1/schools":{"get":{"operationId":"SchoolsController_getSchools[1]","parameters":[{"name":"type","required":false,"in":"query","description":"Legacy parameter accepted for compatibility and ignored.","schema":{"type":"number"}},{"name":"includeFaculties","required":false,"in":"query","description":"Backward-compatible parameter accepted on this lookup endpoint and ignored.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchoolsLookupResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Schools"]}},"/v1/schools/{id}":{"get":{"operationId":"SchoolsController_getSchool[1]","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}},{"name":"includeFaculties","required":false,"in":"query","description":"When true, include faculties for each school in the response","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchoolDto"}}}}},"tags":["Schools"]}},"/v1/schools/{id}/faculties":{"get":{"operationId":"SchoolsController_getFacultiesForSchool[1]","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FacultyDto"}}}}}},"tags":["Schools"]}},"/v1/faculties":{"get":{"operationId":"FacultiesController_getFaculties[1]","parameters":[{"name":"schoolId","required":true,"in":"query","description":"School identifier used by the legacy faculties lookup.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacultiesLookupResponseDto"}}}},"400":{"description":"schoolId query parameter is required and must be a positive integer."}},"security":[{"bearer":[]}],"tags":["Faculties"]}},"/v1/faculties/{id}":{"get":{"operationId":"FacultiesController_getFaculty[1]","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacultyDto"}}}}},"tags":["Faculties"]}},"/v1/webhooks/teamio/feeds/{feedId}/import":{"post":{"operationId":"TeamioWebhookController_importTeamioFeed[0]_v1","parameters":[{"name":"feedId","required":true,"in":"path","description":"Teamio feed ID from teamio_feed.","schema":{"type":"number"}},{"name":"secret","required":false,"in":"query","description":"Shared secret fallback in query.","schema":{}},{"name":"token","required":false,"in":"query","description":"Shared secret fallback in query.","schema":{}},{"name":"X-TEAMIO-IMPORT-SECRET","in":"header","description":"Shared secret for Teamio/N8N ingestion.","required":false,"schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamioWebhookResponseDto"}}}}},"tags":["webhooks"]}},"/webhooks/teamio/feeds/{feedId}/import":{"post":{"operationId":"TeamioWebhookController_importTeamioFeed[1]","parameters":[{"name":"feedId","required":true,"in":"path","description":"Teamio feed ID from teamio_feed.","schema":{"type":"number"}},{"name":"secret","required":false,"in":"query","description":"Shared secret fallback in query.","schema":{}},{"name":"token","required":false,"in":"query","description":"Shared secret fallback in query.","schema":{}},{"name":"X-TEAMIO-IMPORT-SECRET","in":"header","description":"Shared secret for Teamio/N8N ingestion.","required":false,"schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamioWebhookResponseDto"}}}}},"tags":["webhooks"]}},"/v1/push-notifications/jobs/{jobId}/resend":{"post":{"operationId":"NotificationDispatchController_resendJobNotifications","parameters":[{"name":"jobId","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateResendRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDispatchesResponseDto"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDispatchesResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["push-notifications"]}},"/v1/push-notifications/jobs/{jobId}/dispatches":{"get":{"operationId":"NotificationDispatchController_getJobDispatches","parameters":[{"name":"jobId","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDispatchesResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["push-notifications"]}},"/v1/push-notifications/jobs/{jobId}/users/{userId}/send":{"post":{"operationId":"NotificationDispatchController_sendJobToUser","parameters":[{"name":"jobId","required":true,"in":"path","schema":{"type":"number"}},{"name":"userId","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendToUserRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDispatchesResponseDto"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDispatchesResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["push-notifications"]}},"/v1/companies":{"get":{"operationId":"CompaniesController_getCompanies[1]","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompaniesLookupResponseDto"}}}}},"tags":["Companies"]}},"/v1/companies/{id}":{"get":{"operationId":"CompaniesController_getCompanyDetail[1]","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDetailResponseDto"}}}}},"tags":["Companies"]}},"/v2/my-applications":{"get":{"operationId":"MyApplicationsController_getMyApplications[0]_v2","parameters":[{"name":"status","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string.","schema":{"type":"array","items":{"type":"string","enum":["applied","ignored","accepted","rejected"]}}},{"name":"expired","required":false,"in":"query","description":"Filters by job access expiry state.","schema":{"enum":["only","none","any"],"type":"string"}},{"name":"term","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to one_time.","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}},{"name":"page","required":false,"in":"query","description":"Zero-based page number. Defaults to 0.","schema":{"minimum":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Requested page size. Values above 100 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyApplicationsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Applications"]}},"/v1/my-applications":{"get":{"operationId":"MyApplicationsController_getMyApplications[1]","parameters":[{"name":"status","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string.","schema":{"type":"array","items":{"type":"string","enum":["applied","ignored","accepted","rejected"]}}},{"name":"expired","required":false,"in":"query","description":"Filters by job access expiry state.","schema":{"enum":["only","none","any"],"type":"string"}},{"name":"term","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to one_time.","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}},{"name":"page","required":false,"in":"query","description":"Zero-based page number. Defaults to 0.","schema":{"minimum":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Requested page size. Values above 100 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyApplicationsListResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Applications"]}},"/v1/me/applications":{"get":{"operationId":"CanonicalMyApplicationsController_getMyApplications_v1","parameters":[{"name":"status","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string.","schema":{"type":"array","items":{"type":"string","enum":["applied","ignored","accepted","rejected"]}}},{"name":"expired","required":false,"in":"query","description":"Filters by job access expiry state.","schema":{"enum":["only","none","any"],"type":"string"}},{"name":"term","required":false,"in":"query","description":"Supports repeated query params or a comma-separated string. Defaults to all terms.","schema":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}}},{"name":"page","required":false,"in":"query","description":"Zero-based page number. Defaults to 0.","schema":{"minimum":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Requested page size. Values above 100 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanonicalMyApplicationsResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Applications"]}},"/admin/feedback":{"get":{"operationId":"AdminFeedbackController_getFeedback","parameters":[{"name":"until","required":false,"in":"query","description":"Exclusive upper cursor for older feedback items. Legacy-compatible.","schema":{"format":"date-time","type":"string"}},{"name":"since","required":false,"in":"query","description":"Inclusive lower cursor for newer feedback items. Legacy-compatible.","schema":{"format":"date-time","type":"string"}},{"name":"limit","required":false,"in":"query","description":"Requested page size. Values above 50 are capped.","schema":{"minimum":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminFeedbackResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Admin Feedback"]}}},"info":{"title":"QuickJobs API","description":"API for jobs platform","version":"1.0.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"},"basic":{"type":"http","scheme":"basic"}},"schemas":{"AdminPasswordLoginRequestDto":{"type":"object","properties":{"phone":{"type":"string"},"password":{"type":"string"}},"required":["phone","password"]},"AdminTokenPairResponseDto":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"expiresIn":{"type":"number"}},"required":["accessToken","refreshToken","expiresIn"]},"AdminRefreshTokenRequestDto":{"type":"object","properties":{"refreshToken":{"type":"string"}},"required":["refreshToken"]},"AdminSessionUserDto":{"type":"object","properties":{"id":{"type":"number"},"givenName":{"type":"string","nullable":true},"familyName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"roles":{"type":"array","items":{"type":"string"}}},"required":["id","roles"]},"AdminMeResponseDto":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/AdminSessionUserDto"}},"required":["user"]},"AdminChangePasswordRequestDto":{"type":"object","properties":{"oldPassword":{"type":"string"},"newPassword":{"type":"string"}},"required":["oldPassword","newPassword"]},"RequestPhoneVerificationRequestDto":{"type":"object","properties":{"phone":{"type":"string","maxLength":45,"example":"+420777123456"}},"required":["phone"]},"PhoneVerificationResponseDto":{"type":"object","properties":{"userExists":{"type":"boolean"}},"required":["userExists"]},"TokenPairResponseDto":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"tokenType":{"type":"string","example":"Bearer"},"expiresIn":{"type":"number","example":3600}},"required":["accessToken","refreshToken","tokenType","expiresIn"]},"RefreshSessionRequestDto":{"type":"object","properties":{"refreshToken":{"type":"string","maxLength":512}},"required":["refreshToken"]},"MeProfileExperienceDto":{"type":"object","properties":{"id":{"type":"number"},"title":{"type":"string","nullable":true},"company_name":{"type":"string","nullable":true},"user_id":{"type":"number","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","created_at","updated_at"]},"MeProfilePlaceDto":{"type":"object","properties":{"id":{"type":"number"},"address":{"type":"string"},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","address","created_at","updated_at"]},"MeProfileAreaDto":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string","nullable":true},"place_id":{"type":"number"},"radius":{"type":"number"},"active":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"place":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MeProfilePlaceDto"}]}},"required":["id","place_id","radius","active","created_at","updated_at"]},"MeProfileSchoolReferenceDto":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"city":{"type":"string"},"rid":{"type":"string"},"type":{"type":"number"},"www":{"type":"string","nullable":true}},"required":["id","name","city","rid","type"]},"MeProfileUserSchoolDto":{"type":"object","properties":{"id":{"type":"number"},"user_id":{"type":"number"},"school_id":{"type":"number"},"school_faculty_id":{"type":"number","nullable":true},"status":{"type":"string","nullable":true,"enum":["completed","in_progress","in_progress_1","in_progress_2","in_progress_3","in_progress_4","in_progress_5"]},"end_year":{"type":"number","nullable":true},"ctime":{"type":"string","nullable":true,"format":"date-time"},"otherText":{"type":"string","nullable":true},"school":{"$ref":"#/components/schemas/MeProfileSchoolReferenceDto"}},"required":["id","user_id","school_id","school"]},"MeProfileImageDto":{"type":"object","properties":{"id":{"type":"number"},"token":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"width":{"type":"number"},"height":{"type":"number"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","width","height","created_at","updated_at"]},"MeProfileReviewDto":{"type":"object","properties":{"id":{"type":"number"},"rating":{"type":"number"},"message":{"type":"string","nullable":true},"flags":{"type":"number"},"created_at":{"type":"string","format":"date-time"},"subject_user_id":{"type":"number"},"job_id":{"type":"number"},"author_id":{"type":"number"},"updated_at":{"type":"string","format":"date-time"},"candidate_id":{"type":"number","nullable":true}},"required":["id","rating","flags","created_at","subject_user_id","job_id","author_id","updated_at"]},"MeProfileDataDto":{"type":"object","properties":{"id":{"type":"number"},"given_name":{"type":"string","nullable":true},"family_name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string"},"gender":{"type":"string","nullable":true,"enum":["male","female"]},"birth_date":{"type":"string","nullable":true},"age":{"type":"number","nullable":true},"company_name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"roles":{"type":"array","items":{"type":"string"}},"skills":{"type":"array","items":{"type":"string"}},"experience":{"type":"array","items":{"$ref":"#/components/schemas/MeProfileExperienceDto"}},"rating":{"type":"number","nullable":true},"rating_count":{"type":"number","nullable":true},"enabled":{"type":"boolean"},"hide_profile":{"type":"number","nullable":true},"deleted_reason":{"type":"string","nullable":true},"user_source":{"type":"string","nullable":true},"platform":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","nullable":true,"format":"date-time"},"send_notification":{"type":"boolean"},"subscribed_notifications":{"type":"object","additionalProperties":true},"hasCandidateAccess":{"type":"boolean"},"areas":{"type":"array","items":{"$ref":"#/components/schemas/MeProfileAreaDto"}},"userSchools":{"type":"array","items":{"$ref":"#/components/schemas/MeProfileUserSchoolDto"}},"avatar_image":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MeProfileImageDto"}]},"body_image":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MeProfileImageDto"}]},"face_image":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MeProfileImageDto"}]},"optional_image":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MeProfileImageDto"}]},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/MeProfileReviewDto"}}},"required":["id","phone","roles","skills","experience","enabled","created_at","updated_at","send_notification","subscribed_notifications","hasCandidateAccess","areas","userSchools","reviews"]},"MeProfileResponseDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeProfileDataDto"}},"required":["data"]},"UpdateMeExperienceDto":{"type":"object","properties":{"title":{"type":"string","nullable":true,"maxLength":255},"company_name":{"type":"string","nullable":true,"maxLength":255}}},"NotificationChannelsDto":{"type":"object","properties":{"new_one_time_jobs":{"description":"Plain channels replace the trigger. Values prefixed with + or - add/remove a channel.","type":"array","items":{"type":"string"}},"new_long_term_jobs":{"description":"Plain channels replace the trigger. Values prefixed with + or - add/remove a channel.","type":"array","items":{"type":"string"}},"new_full_time_jobs":{"description":"Plain channels replace the trigger. Values prefixed with + or - add/remove a channel.","type":"array","items":{"type":"string"}}}},"UpdateMeDto":{"type":"object","properties":{"given_name":{"type":"string","nullable":true,"maxLength":45},"family_name":{"type":"string","nullable":true,"maxLength":45},"email":{"type":"string","nullable":true,"maxLength":200,"format":"email"},"gender":{"type":"string","nullable":true,"enum":["male","female"]},"birth_date":{"type":"string","nullable":true,"format":"date"},"company_name":{"type":"string","nullable":true,"maxLength":250},"description":{"type":"string","nullable":true},"skills":{"maxItems":100,"type":"array","items":{"type":"string"}},"experience":{"type":"array","items":{"$ref":"#/components/schemas/UpdateMeExperienceDto"}},"roles":{"type":"array","enum":["candidate","employer"],"items":{"type":"string","enum":["candidate","employer"]}},"subscribed_notifications":{"$ref":"#/components/schemas/NotificationChannelsDto"},"hide_profile":{"type":"boolean"},"user_source":{"type":"string","nullable":true,"maxLength":255}}},"DeleteMeDto":{"type":"object","properties":{"deleted_reason":{"type":"string","nullable":true,"maxLength":255}}},"MeProfileAreasResponseDto":{"type":"object","properties":{"areas":{"type":"array","items":{"$ref":"#/components/schemas/MeProfileAreaDto"}}},"required":["areas"]},"AreaPlaceDto":{"type":"object","properties":{"address":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"}},"required":["address","latitude","longitude"]},"CreateAreaDto":{"type":"object","properties":{"name":{"type":"string","nullable":true,"maxLength":255},"radius":{"type":"number","minimum":0},"active":{"type":"boolean"},"place":{"$ref":"#/components/schemas/AreaPlaceDto"}},"required":["radius","place"]},"MeProfileAreaResponseDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeProfileAreaDto"}},"required":["data"]},"UpdateAreaPlaceDto":{"type":"object","properties":{"address":{"type":"string"},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true}}},"UpdateAreaDto":{"type":"object","properties":{"name":{"type":"string","nullable":true,"maxLength":255},"radius":{"type":"number","minimum":0},"active":{"type":"boolean"},"place":{"$ref":"#/components/schemas/UpdateAreaPlaceDto"}}},"MeProfileSchoolsResponseDto":{"type":"object","properties":{"userSchools":{"type":"array","items":{"$ref":"#/components/schemas/MeProfileUserSchoolDto"}}},"required":["userSchools"]},"AddUserSchoolDto":{"type":"object","properties":{"school_id":{"type":"number","minimum":1},"school_faculty_id":{"type":"number","nullable":true,"minimum":1},"status":{"type":"string","enum":["completed","in_progress","in_progress_1","in_progress_2","in_progress_3","in_progress_4","in_progress_5"]},"end_year":{"type":"number","nullable":true,"minimum":1900},"otherText":{"type":"string","nullable":true,"maxLength":255}},"required":["school_id","status"]},"MeProfileUserSchoolResponseDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeProfileUserSchoolDto"}},"required":["data"]},"RegisterDeviceDto":{"type":"object","properties":{"pushToken":{"type":"string","maxLength":255},"platform":{"type":"string","enum":["ios","android","web"]},"appVersion":{"type":"string","maxLength":255},"deviceId":{"type":"string","maxLength":255}},"required":["pushToken","platform","appVersion"]},"MeProfileImageResponseDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeProfileImageDto"}},"required":["data"]},"ChangePasswordDto":{"type":"object","properties":{"old_password":{"type":"string"},"new_password":{"type":"string"}},"required":["old_password","new_password"]},"MeProfileReviewsResponseDto":{"type":"object","properties":{"reviews":{"type":"array","items":{"$ref":"#/components/schemas/MeProfileReviewDto"}},"rating":{"type":"number","nullable":true},"rating_count":{"type":"number","nullable":true}},"required":["reviews"]},"ImportJobRequestDto":{"type":"object","properties":{"title":{"type":"string","description":"Název pracovní pozice. V databázi není samostatný title sloupec, takže se ukládá do description.","example":"🥖 Pekař/ka (Praha Nový Smíchov)"},"description":{"type":"string","description":"Detailní popis pozice."},"requirements":{"description":"Požadavky na kandidáta.","type":"array","items":{"type":"string"}},"benefits":{"type":"string","description":"Benefity pozice (text/markdown)."},"salary":{"type":"number","minimum":0,"description":"Mzda od.","example":35500},"salary_to":{"type":"number","nullable":true,"minimum":0,"description":"Mzda do.","example":42000},"salary_type":{"type":"string","enum":["hour","total","month"],"description":"Typ mzdy (hour, total, month)."},"time_period":{"type":"string","nullable":true,"enum":["definite","indefinite"],"description":"Doba trvání pracovního poměru (definite, indefinite)."},"term":{"type":"string","enum":["one_time","long_term","full_time"],"description":"Term jobu pro QuickJobs matching (one_time, long_term, full_time). Když nepřijde, dopočítá se."},"url":{"type":"string","description":"URL zdroje inzerátu.","example":"https://tesco-stores.jobs.cz/detail-pozice?r=detail&id=2001004741"},"platform":{"type":"string","description":"Název platformy / zdrojového webu.","example":"tesco-stores.jobs.cz"},"authorTelephone":{"type":"string","description":"Telefon autora jobu. Pokud je vyplněn, endpoint dohledá usera podle users.telephone.","example":"+420777888999"},"telephone":{"type":"string","description":"Alias pro authorTelephone. Připraveno kvůli kompatibilitě s různými scrapery.","example":"+420777888999"},"phone":{"type":"string","description":"Alias pro authorTelephone. Připraveno kvůli kompatibilitě s různými scrapery.","example":"+420777888999"},"workplace_raw":{"type":"string","description":"Raw workplace adresa (fallback mimo meta), používá se pro geokódování."},"meta":{"type":"object","description":"Libovolná metadata z parseru. Používá se hlavně meta.workplace_raw pro geokódování."}},"required":["title","salary","salary_type"]},"ImportJobResponseDto":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"jobId":{"type":"number","example":1234},"placeId":{"type":"number","nullable":true,"example":987,"description":"ID uloženého place záznamu, pokud byl workplace_raw dostupný."},"geocoded":{"type":"boolean","example":true,"description":"Zda endpoint úspěšně dohledal GPS souřadnice."},"geocodingQuery":{"type":"string","nullable":true,"example":"Radlická 1031/42, 15000, Praha - Smíchov, Praha, Česká republika","description":"Dotaz použitý pro geokódování."}},"required":["status","jobId","geocoded"]},"PublicJobPlaceDto":{"type":"object","properties":{"address":{"type":"string"},"id":{"type":"number"},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["address"]},"PublicJobAuthorDto":{"type":"object","properties":{"id":{"type":"number"},"given_name":{"type":"string","nullable":true},"family_name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string"},"gender":{"type":"string","nullable":true,"enum":["male","female"]},"age":{"type":"number","nullable":true},"company_name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"skills":{"type":"array","items":{"type":"string"}},"experience":{"type":"array","items":{"$ref":"#/components/schemas/MeProfileExperienceDto"}},"rating":{"type":"number"},"rating_count":{"type":"number"},"hide_profile":{"type":"number","nullable":true},"deleted_reason":{"type":"string","nullable":true},"user_source":{"type":"string","nullable":true},"platform":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","nullable":true,"format":"date-time"},"hasCandidateAccess":{"type":"boolean"},"avatar_image":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MeProfileImageDto"}]},"body_image":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MeProfileImageDto"}]},"face_image":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MeProfileImageDto"}]},"optional_image":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MeProfileImageDto"}]}},"required":["id","phone","skills","experience","rating","rating_count","created_at","updated_at","hasCandidateAccess"]},"PublicJobDto":{"type":"object","properties":{"id":{"type":"number"},"description":{"type":"string"},"salary":{"type":"number"},"salary_to":{"type":"number","nullable":true},"salary_type":{"type":"object"},"gender":{"type":"string","enum":["male","female","any"]},"starts_at":{"type":"string","nullable":true,"format":"date-time"},"does_start_immediately":{"type":"boolean","nullable":true},"ends_at":{"type":"string","nullable":true,"format":"date-time"},"place_id":{"type":"number","nullable":true},"place":{"$ref":"#/components/schemas/PublicJobPlaceDto"},"requirements":{"type":"object","nullable":true},"benefits":{"type":"string","nullable":true},"term":{"type":"string","enum":["one_time","long_term","full_time"]},"has_more_days":{"type":"boolean"},"time_period":{"type":"object","nullable":true},"time_flexibility":{"type":"object","nullable":true},"status":{"type":"object"},"author_id":{"type":"number"},"author":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicJobAuthorDto"}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"offer_duration":{"type":"number","nullable":true},"offer_expires_at":{"type":"string","nullable":true,"format":"date-time"},"candidates_access_duration":{"type":"number"},"candidates_access_expires_at":{"type":"string","nullable":true,"format":"date-time"},"is_banned":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"cta_text":{"type":"string","nullable":true},"is_relevant":{"type":"boolean"}},"required":["id","description","salary","salary_type","gender","place","term","has_more_days","status","author_id","created_at","updated_at","candidates_access_duration"]},"PublicJobStatsDto":{"type":"object","properties":{"job_id":{"type":"number"},"applied_total":{"type":"number"},"updated_at":{"type":"string","format":"date-time"},"jobVisits":{"type":"number"}},"required":["job_id","applied_total","updated_at","jobVisits"]},"PublicJobsListResponseDto":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobDto"}},"stats":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobStatsDto"}}},"required":["jobs","stats"]},"CompanyJobsListResponseDto":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobDto"}},"stats":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobStatsDto"}}},"required":["jobs","stats"]},"PublicJobDetailResponseDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PublicJobDto"},"stats":{"$ref":"#/components/schemas/PublicJobStatsDto"}},"required":["data","stats"]},"CanonicalJobStatsDto":{"type":"object","properties":{"job_id":{"type":"number"},"applied_total":{"type":"number"},"updated_at":{"type":"string","format":"date-time"},"jobVisits":{"type":"number"},"total":{"type":"number"},"applied":{"type":"number"},"accepted":{"type":"number"},"ignored":{"type":"number"},"rejected":{"type":"number"}},"required":["job_id","applied_total","updated_at","jobVisits"]},"CanonicalJobViewerDto":{"type":"object","properties":{"is_author":{"type":"boolean"},"is_relevant":{"type":"boolean","nullable":true}},"required":["is_author"]},"CanonicalJobDto":{"type":"object","properties":{"id":{"type":"number"},"description":{"type":"string"},"salary":{"type":"number"},"salary_to":{"type":"number","nullable":true},"salary_type":{"type":"object"},"gender":{"type":"string","enum":["male","female","any"]},"starts_at":{"type":"string","nullable":true,"format":"date-time"},"does_start_immediately":{"type":"boolean","nullable":true},"ends_at":{"type":"string","nullable":true,"format":"date-time"},"place_id":{"type":"number","nullable":true},"place":{"$ref":"#/components/schemas/PublicJobPlaceDto"},"requirements":{"type":"object","nullable":true},"benefits":{"type":"string","nullable":true},"term":{"type":"string","enum":["one_time","long_term","full_time"]},"has_more_days":{"type":"boolean"},"time_period":{"type":"object","nullable":true},"time_flexibility":{"type":"object","nullable":true},"status":{"type":"object"},"author_id":{"type":"number"},"author":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicJobAuthorDto"}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"offer_duration":{"type":"number","nullable":true},"offer_expires_at":{"type":"string","nullable":true,"format":"date-time"},"candidates_access_duration":{"type":"number"},"candidates_access_expires_at":{"type":"string","nullable":true,"format":"date-time"},"is_banned":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"cta_text":{"type":"string","nullable":true},"is_relevant":{"type":"boolean"},"stats":{"$ref":"#/components/schemas/CanonicalJobStatsDto"},"viewer":{"$ref":"#/components/schemas/CanonicalJobViewerDto"}},"required":["id","description","salary","salary_type","gender","place","term","has_more_days","status","author_id","created_at","updated_at","candidates_access_duration","stats","viewer"]},"CanonicalJobsListMetaDto":{"type":"object","properties":{"banned_job_ids":{"type":"array","items":{"type":"number"}},"limit":{"type":"number"}},"required":["banned_job_ids","limit"]},"CanonicalJobsListResponseDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CanonicalJobDto"}},"meta":{"$ref":"#/components/schemas/CanonicalJobsListMetaDto"}},"required":["data","meta"]},"CanonicalJobDetailResponseDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CanonicalJobDto"}},"required":["data"]},"AvailableJobDto":{"type":"object","properties":{"id":{"type":"number"},"description":{"type":"string"},"salary":{"type":"number"},"salary_to":{"type":"number","nullable":true},"salary_type":{"type":"object"},"gender":{"type":"string","enum":["male","female","any"]},"starts_at":{"type":"string","nullable":true,"format":"date-time"},"does_start_immediately":{"type":"boolean","nullable":true},"ends_at":{"type":"string","nullable":true,"format":"date-time"},"place_id":{"type":"number","nullable":true},"place":{"$ref":"#/components/schemas/PublicJobPlaceDto"},"requirements":{"type":"object","nullable":true},"benefits":{"type":"string","nullable":true},"term":{"type":"string","enum":["one_time","long_term","full_time"]},"has_more_days":{"type":"boolean"},"time_period":{"type":"object","nullable":true},"time_flexibility":{"type":"object","nullable":true},"status":{"type":"object"},"author_id":{"type":"number"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"offer_duration":{"type":"number","nullable":true},"offer_expires_at":{"type":"string","nullable":true,"format":"date-time"},"candidates_access_duration":{"type":"number"},"candidates_access_expires_at":{"type":"string","nullable":true,"format":"date-time"},"is_banned":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"cta_text":{"type":"string","nullable":true},"is_relevant":{"type":"boolean"}},"required":["id","description","salary","salary_type","gender","place","term","has_more_days","status","author_id","created_at","updated_at","candidates_access_duration"]},"AvailableJobsListResponseDto":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/AvailableJobDto"}},"users":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobAuthorDto"}},"banned_job_ids":{"type":"array","items":{"type":"number"}},"stats":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobStatsDto"}}},"required":["jobs","users","banned_job_ids","stats"]},"CanonicalExternalJobReactionDto":{"type":"object","properties":{"id":{"type":"number"},"status":{"enum":["applied","ignored"],"type":"string"},"note":{"type":"string","nullable":true},"saved_at":{"type":"string","nullable":true,"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"external_job_id":{"type":"number"}},"required":["id","status","created_at","updated_at","external_job_id"]},"CanonicalExternalJobViewerDto":{"type":"object","properties":{"reaction":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CanonicalExternalJobReactionDto"}]}}},"CanonicalExternalJobDto":{"type":"object","properties":{"id":{"type":"number"},"title":{"type":"string","nullable":true},"description":{"type":"string"},"url":{"type":"string"},"place":{"type":"object"},"term":{"type":"object"},"status":{"type":"object"},"author":{"type":"object"},"feed_name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"viewer":{"$ref":"#/components/schemas/CanonicalExternalJobViewerDto"}},"required":["id","description","url","place","term","status","author","feed_name","created_at","updated_at","viewer"]},"CanonicalExternalJobsListMetaDto":{"type":"object","properties":{"limit":{"type":"number"}},"required":["limit"]},"CanonicalExternalJobsListResponseDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CanonicalExternalJobDto"}},"meta":{"$ref":"#/components/schemas/CanonicalExternalJobsListMetaDto"}},"required":["data","meta"]},"CanonicalExternalJobDetailResponseDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CanonicalExternalJobDto"}},"required":["data"]},"ExternalJobDto":{"type":"object","properties":{"id":{"type":"number"},"title":{"type":"string"},"description":{"type":"string"},"place":{"type":"object"},"url":{"type":"string"},"term":{"type":"object"},"status":{"type":"object"},"author":{"type":"object"},"feed_name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","title","description","place","url","term","status","author","feed_name","created_at","updated_at"]},"ExternalJobsListResponseDto":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/ExternalJobDto"}}},"required":["jobs"]},"CanonicalExternalJobReactionHistoryDto":{"type":"object","properties":{"id":{"type":"number"},"status":{"enum":["applied","ignored"],"type":"string"},"note":{"type":"string","nullable":true},"saved_at":{"type":"string","nullable":true,"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"external_job_id":{"type":"number"},"user_id":{"type":"number"},"raw_status":{"type":"string","enum":["apply","ignore"]},"job":{"$ref":"#/components/schemas/CanonicalExternalJobDto"}},"required":["id","status","created_at","updated_at","external_job_id","user_id","raw_status","job"]},"CanonicalExternalJobReactionsMetaDto":{"type":"object","properties":{"status":{"type":"number"},"timestamp":{"type":"string","format":"date-time"}},"required":["status","timestamp"]},"CanonicalExternalJobReactionsPaginationDto":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"total":{"type":"number"},"totalPages":{"type":"number"}},"required":["page","limit","total","totalPages"]},"CanonicalExternalJobReactionsResponseDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CanonicalExternalJobReactionHistoryDto"}},"meta":{"$ref":"#/components/schemas/CanonicalExternalJobReactionsMetaDto"},"pagination":{"$ref":"#/components/schemas/CanonicalExternalJobReactionsPaginationDto"}},"required":["data","meta","pagination"]},"CandidateStatusDto":{"type":"object","properties":{"status":{"type":"string","enum":["saved","rejected","waiting_for_response","invited_for_next_round","employed"]},"note":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"required":["status","note","createdAt"]},"CandidateExperienceDto":{"type":"object","properties":{"title":{"type":"string","nullable":true},"companyName":{"type":"string","nullable":true}},"required":["title","companyName"]},"CandidateSchoolDto":{"type":"object","properties":{"schoolId":{"type":"number"},"schoolName":{"type":"string","nullable":true},"schoolFacultyId":{"type":"number","nullable":true},"status":{"type":"string","nullable":true,"enum":["completed","in_progress","in_progress_1","in_progress_2","in_progress_3","in_progress_4","in_progress_5"]},"otherText":{"type":"string","nullable":true},"school":{"type":"object","nullable":true,"additionalProperties":true},"schoolFaculty":{"type":"object","nullable":true,"additionalProperties":true}},"required":["schoolId","schoolName","schoolFacultyId","status"]},"CandidateAreaDto":{"type":"object","properties":{"areaId":{"type":"number"},"areaName":{"type":"string","nullable":true},"radius":{"type":"number","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true}},"required":["areaId","areaName","radius","latitude","longitude"]},"CandidateImageDto":{"type":"object","properties":{"type":{"type":"string","nullable":true},"token":{"type":"string","nullable":true},"url":{"type":"string","nullable":true}},"required":["type","token","url"]},"CandidateReviewDto":{"type":"object","properties":{"value":{"type":"number"},"message":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"required":["value","message","createdAt"]},"CandidateDto":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string","nullable":true},"surname":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true,"enum":["male","female"]},"birthDate":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"subscribedNotifications":{"type":"object","nullable":true,"additionalProperties":true},"skills":{"type":"array","items":{"type":"string"}},"rating":{"type":"number","nullable":true},"ratingCount":{"type":"number","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"candidateStatuses":{"type":"array","items":{"$ref":"#/components/schemas/CandidateStatusDto"}},"experiences":{"type":"array","items":{"$ref":"#/components/schemas/CandidateExperienceDto"}},"schools":{"type":"array","items":{"$ref":"#/components/schemas/CandidateSchoolDto"}},"userSchool":{"type":"array","items":{"$ref":"#/components/schemas/CandidateSchoolDto"}},"areas":{"type":"array","items":{"$ref":"#/components/schemas/CandidateAreaDto"}},"images":{"type":"array","items":{"$ref":"#/components/schemas/CandidateImageDto"}},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/CandidateReviewDto"}}},"required":["id","name","surname","email","gender","description","skills","rating","ratingCount","createdAt","updatedAt","candidateStatuses","experiences","schools","areas","images","reviews"]},"CandidateSearchResponseDto":{"type":"object","properties":{"users":{"type":"array","items":{"$ref":"#/components/schemas/CandidateDto"}},"total":{"type":"number"}},"required":["users","total"]},"CreateWatchdogDto":{"type":"object","properties":{"candidateSearchId":{"type":"number","minimum":1},"frequencyInDays":{"type":"number","minimum":1},"customEmail":{"type":"string","format":"email"},"isActive":{"type":"boolean","default":true}},"required":["candidateSearchId","frequencyInDays"]},"CandidateWatchdogDto":{"type":"object","properties":{"id":{"type":"number"},"candidateSearchId":{"type":"number"},"frequencyInDays":{"type":"number"},"customEmail":{"type":"string","nullable":true},"isActive":{"type":"boolean"},"nextRunAt":{"type":"string","nullable":true,"format":"date-time"},"lastSentAt":{"type":"string","nullable":true,"format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","candidateSearchId","frequencyInDays","customEmail","isActive","nextRunAt","lastSentAt","createdAt","updatedAt"]},"UpdateWatchdogDto":{"type":"object","properties":{"frequencyInDays":{"type":"number","minimum":1},"customEmail":{"type":"string","format":"email"},"isActive":{"type":"boolean"}}},"CandidateSearchHistoryItemDto":{"type":"object","properties":{"id":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"keyword":{"type":"string","nullable":true},"skills":{"type":"array","items":{"type":"string"}},"schoolStatus":{"type":"array","items":{"type":"string"}},"schoolIds":{"type":"array","items":{"type":"number"}},"schoolFacultyIds":{"type":"array","items":{"type":"number"}},"jobTerms":{"type":"array","items":{"type":"string","enum":["one_time","long_term","full_time"]}},"showAll":{"type":"boolean"},"ageFilter":{"type":"number","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true},"watchdogs":{"type":"array","items":{"$ref":"#/components/schemas/CandidateWatchdogDto"}}},"required":["id","createdAt","keyword","skills","schoolStatus","schoolIds","schoolFacultyIds","jobTerms","showAll","ageFilter","latitude","longitude","watchdogs"]},"CandidateSearchHistoryResponseDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CandidateSearchHistoryItemDto"}}},"required":["items"]},"FapiInvoicePaidWebhookDto":{"type":"object","properties":{"id":{"type":"string","description":"FAPI invoice id."},"time":{"type":"string","description":"Unix time of the webhook."},"security":{"type":"string","description":"Webhook security hash from FAPI."}},"required":["id","time","security"]},"FapiWebhookResponseDto":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"message":{"type":"string"}},"required":["status"]},"SchoolLookupDto":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"city":{"type":"string"},"rid":{"type":"string"},"type":{"type":"number"},"www":{"type":"string","nullable":true}},"required":["id","name","city","rid","type"]},"SchoolsLookupResponseDto":{"type":"object","properties":{"schools":{"type":"array","items":{"$ref":"#/components/schemas/SchoolLookupDto"}}},"required":["schools"]},"FacultyDto":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"ridf":{"type":"number"},"www":{"type":"string"}},"required":["id","name","ridf","www"]},"SchoolDto":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"city":{"type":"string"},"rid":{"type":"string"},"type":{"type":"number"},"www":{"type":"string","nullable":true},"faculties":{"type":"array","items":{"$ref":"#/components/schemas/FacultyDto"}}},"required":["id","name","city","rid","type"]},"FacultiesLookupResponseDto":{"type":"object","properties":{"faculties":{"type":"array","items":{"$ref":"#/components/schemas/FacultyDto"}}},"required":["faculties"]},"TeamioWebhookResponseDto":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"parsed":{"type":"number","example":12},"created":{"type":"number","example":7},"updated":{"type":"number","example":3},"unchanged":{"type":"number","example":2},"failed":{"type":"number","example":0}},"required":["status","parsed","created","updated","unchanged","failed"]},"CreateResendRequestDto":{"type":"object","properties":{"type":{"enum":["all","unsent"],"type":"string","description":"Type of resend: all recipients or only previously unsent recipients."}},"required":["type"]},"DispatchStatusDto":{"type":"object","properties":{"id":{"type":"number"},"dispatchType":{"type":"string"},"status":{"type":"string"},"scheduledAt":{"format":"date-time","type":"string"},"startedAt":{"format":"date-time","type":"string","nullable":true},"completedAt":{"format":"date-time","type":"string","nullable":true},"totalRecipients":{"type":"number"},"successCount":{"type":"number"},"failureCount":{"type":"number"}},"required":["id","dispatchType","status","scheduledAt","totalRecipients","successCount","failureCount"]},"JobDispatchesResponseDto":{"type":"object","properties":{"jobId":{"type":"number"},"dispatches":{"type":"array","items":{"$ref":"#/components/schemas/DispatchStatusDto"}}},"required":["jobId","dispatches"]},"SendToUserRequestDto":{"type":"object","properties":{"messagingTokenId":{"type":"number","minimum":1,"description":"Optional specific messaging_token.id to target a single device. If omitted, all active tokens of the user are used."}}},"CompanyOfferTypeDto":{"type":"object","properties":{"id":{"type":"number","description":"Unique offer type identifier."},"name":{"type":"string","nullable":true,"description":"Offer type label shown to users."}},"required":["id"]},"CompanyOfferDto":{"type":"object","properties":{"id":{"type":"number","description":"Unique company offer identifier."},"offerType":{"$ref":"#/components/schemas/CompanyOfferTypeDto"}},"required":["id","offerType"]},"CompanyContactDto":{"type":"object","properties":{"id":{"type":"number","description":"Unique contact identifier."},"firstName":{"type":"string","description":"Contact first name."},"lastName":{"type":"string","description":"Contact last name."},"phone":{"type":"string","nullable":true,"description":"Public contact phone."},"email":{"type":"string","nullable":true,"description":"Public contact email."},"photo":{"type":"string","nullable":true,"description":"Public contact photo URL."},"description":{"type":"string","nullable":true,"description":"Short public contact description."},"createdAt":{"type":"string","description":"Contact creation timestamp in ISO-8601 format."},"updatedAt":{"type":"string","description":"Contact update timestamp in ISO-8601 format."}},"required":["id","firstName","lastName","createdAt","updatedAt"]},"CompanyWebsiteDto":{"type":"object","properties":{"id":{"type":"number","description":"Unique website identifier."},"name":{"type":"string","description":"Website label shown in the UI."},"url":{"type":"string","description":"Absolute website URL."},"sortOrder":{"type":"number","description":"Ascending sort index for website buttons within a company."}},"required":["id","name","url","sortOrder"]},"CompanyLookupDto":{"type":"object","properties":{"id":{"type":"number","description":"Unique company identifier."},"name":{"type":"string","description":"Public company name."},"slug":{"type":"string","nullable":true,"description":"Public company slug used by frontend routes when available."},"logo":{"type":"string","nullable":true,"description":"Absolute or relative logo URL shown in company listings."},"short_description":{"type":"string","nullable":true,"description":"Short public description rendered in the company list and detail."},"location":{"type":"string","nullable":true,"description":"Human-readable company location shown in public company cards."},"web":{"type":"string","nullable":true,"description":"Primary public company website URL."},"studentAudienceNotes":{"description":"Ordered free-text notes describing which students or graduates the company is interested in. Present in both GET /companies and GET /companies/:id responses.","example":["ČVUT - FEL, FIT","Studenti ekonomických fakult a absolventi do 2 let po škole"],"type":"array","items":{"type":"string"}},"companyOffers":{"description":"Public offer types promoted by the company. Present in both GET /companies and GET /companies/:id responses.","type":"array","items":{"$ref":"#/components/schemas/CompanyOfferDto"}},"contacts":{"description":"Public HR or recruiter contacts for the company. Present in both GET /companies and GET /companies/:id responses.","type":"array","items":{"$ref":"#/components/schemas/CompanyContactDto"}},"websites":{"description":"Public company websites or career links ordered by sortOrder. Present in both GET /companies and GET /companies/:id responses.","type":"array","items":{"$ref":"#/components/schemas/CompanyWebsiteDto"}}},"required":["id","name","studentAudienceNotes","companyOffers","contacts","websites"]},"CompaniesLookupResponseDto":{"type":"object","properties":{"companies":{"type":"array","items":{"$ref":"#/components/schemas/CompanyLookupDto"}}},"required":["companies"]},"CompanyDetailResponseDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CompanyLookupDto"},"jobs":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobDto"}},"stats":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobStatsDto"}}},"required":["data","jobs","stats"]},"MyApplicationDto":{"type":"object","properties":{"id":{"type":"number"},"status":{"enum":["applied","ignored","accepted","rejected"],"type":"string"},"employer_statement":{"type":"string","nullable":true,"enum":["saved","rejected","waiting_for_response","invited_for_next_round","employed"]},"created_at":{"type":"string","format":"date-time"},"called_at":{"type":"string","nullable":true,"format":"date-time"},"reacted_at":{"type":"string","nullable":true,"format":"date-time"},"candidate_id":{"type":"number"},"job_id":{"type":"number"},"updated_at":{"type":"string","format":"date-time"},"call_length":{"type":"number","nullable":true}},"required":["id","status","created_at","candidate_id","job_id","updated_at"]},"MyApplicationJobDto":{"type":"object","properties":{"id":{"type":"number"},"description":{"type":"string"},"salary":{"type":"number"},"salary_to":{"type":"number","nullable":true},"salary_type":{"type":"object"},"gender":{"type":"string","enum":["male","female","any"]},"starts_at":{"type":"string","nullable":true,"format":"date-time"},"does_start_immediately":{"type":"boolean","nullable":true},"ends_at":{"type":"string","nullable":true,"format":"date-time"},"place_id":{"type":"number","nullable":true},"place":{"$ref":"#/components/schemas/PublicJobPlaceDto"},"requirements":{"type":"object","nullable":true},"benefits":{"type":"string","nullable":true},"term":{"type":"string","enum":["one_time","long_term","full_time"]},"has_more_days":{"type":"boolean"},"time_period":{"type":"object","nullable":true},"time_flexibility":{"type":"object","nullable":true},"status":{"type":"object"},"author_id":{"type":"number"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"offer_duration":{"type":"number","nullable":true},"offer_expires_at":{"type":"string","nullable":true,"format":"date-time"},"candidates_access_duration":{"type":"number"},"candidates_access_expires_at":{"type":"string","nullable":true,"format":"date-time"},"is_banned":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"cta_text":{"type":"string","nullable":true},"is_relevant":{"type":"boolean"}},"required":["id","description","salary","salary_type","gender","place","term","has_more_days","status","author_id","created_at","updated_at","candidates_access_duration"]},"MyApplicationsMetaDto":{"type":"object","properties":{"status":{"type":"number"},"timestamp":{"type":"string","format":"date-time"}},"required":["status","timestamp"]},"MyApplicationsPaginationDto":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"total":{"type":"number"},"totalPages":{"type":"number"}},"required":["page","limit","total","totalPages"]},"MyApplicationsListResponseDto":{"type":"object","properties":{"applications":{"type":"array","items":{"$ref":"#/components/schemas/MyApplicationDto"}},"jobs":{"type":"array","items":{"$ref":"#/components/schemas/MyApplicationJobDto"}},"users":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobAuthorDto"}},"stats":{"type":"array","items":{"$ref":"#/components/schemas/PublicJobStatsDto"}},"meta":{"$ref":"#/components/schemas/MyApplicationsMetaDto"},"pagination":{"$ref":"#/components/schemas/MyApplicationsPaginationDto"}},"required":["applications","jobs","users","stats","meta","pagination"]},"CanonicalMyApplicationDto":{"type":"object","properties":{"id":{"type":"number"},"status":{"enum":["applied","ignored","accepted","rejected"],"type":"string"},"employer_statement":{"type":"string","nullable":true,"enum":["saved","rejected","waiting_for_response","invited_for_next_round","employed"]},"created_at":{"type":"string","format":"date-time"},"called_at":{"type":"string","nullable":true,"format":"date-time"},"reacted_at":{"type":"string","nullable":true,"format":"date-time"},"candidate_id":{"type":"number"},"job_id":{"type":"number"},"updated_at":{"type":"string","format":"date-time"},"call_length":{"type":"number","nullable":true},"job":{"$ref":"#/components/schemas/CanonicalJobDto"}},"required":["id","status","created_at","candidate_id","job_id","updated_at","job"]},"CanonicalMyApplicationsResponseDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CanonicalMyApplicationDto"}},"meta":{"$ref":"#/components/schemas/MyApplicationsMetaDto"},"pagination":{"$ref":"#/components/schemas/MyApplicationsPaginationDto"}},"required":["data","meta","pagination"]},"AdminFeedbackUserDto":{"type":"object","properties":{"givenName":{"type":"string","nullable":true},"familyName":{"type":"string","nullable":true}}},"AdminFeedbackItemDto":{"type":"object","properties":{"id":{"type":"number"},"rating":{"type":"number"},"message":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"user":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AdminFeedbackUserDto"}]}},"required":["id","rating","createdAt"]},"AdminFeedbackPageInfoDto":{"type":"object","properties":{"hasNext":{"type":"boolean"},"hasPrevious":{"type":"boolean"}},"required":["hasNext","hasPrevious"]},"AdminFeedbackResponseDto":{"type":"object","properties":{"feedback":{"type":"array","items":{"$ref":"#/components/schemas/AdminFeedbackItemDto"}},"pageInfo":{"$ref":"#/components/schemas/AdminFeedbackPageInfoDto"}},"required":["feedback","pageInfo"]}}}}