{"openapi":"3.1.0","info":{"title":"personel.net API","version":"1.0.0","description":"Sürüm ön eki /api/v1. Eski istemciler için /api aynı uçları sunar. Hatalar her zaman ApiErrorBody biçimindedir; `code` alanı makine tarafından okunabilir. `error` Türkçedir; `X-Language: en` başlığı gönderilirse İngilizce döner (`code` değişmez)."},"servers":[{"url":"/api/v1"}],"tags":[{"name":"Meta"},{"name":"Auth"},{"name":"Jobs"},{"name":"Employer"},{"name":"Me"},{"name":"Integrations"},{"name":"Partner"},{"name":"Feed"},{"name":"Team"},{"name":"Career"},{"name":"Occupations"},{"name":"Companies"},{"name":"Company"},{"name":"Admin"},{"name":"Reports"},{"name":"Analytics"},{"name":"Privacy"},{"name":"Alerts"},{"name":"Messages"},{"name":"Interviews"},{"name":"Offers"},{"name":"Content"},{"name":"Salaries"},{"name":"Applications"},{"name":"Support"},{"name":"Billing"},{"name":"Ads"}],"paths":{"/meta/filters":{"get":{"tags":["Meta"],"summary":"Şehir ve kategori listeleri","operationId":"getMetaFilters","parameters":[],"responses":{"200":{"description":"Yanıt: `{ cities: string[]; categories: string[] }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ cities: string[]; categories: string[] }"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/meta/stats":{"get":{"tags":["Meta"],"summary":"Ana sayfa istatistikleri","operationId":"getMetaStats","parameters":[],"responses":{"200":{"description":"Yanıt: `PublicStats`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"activeJobs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"companies":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"candidates":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["activeJobs","companies","candidates"],"additionalProperties":false,"x-ts-type":"PublicStats"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/meta/mobile-app":{"get":{"tags":["Meta"],"summary":"Mobil uygulamanın mağaza sürümleri (zorunlu / önerilen güncelleme)","operationId":"getMetaMobileApp","parameters":[],"responses":{"200":{"description":"Yanıt: `MobileAppInfo`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ios":{"type":"object","properties":{"minVersion":{"type":["string","null"]},"latestVersion":{"type":["string","null"]},"storeUrl":{"type":["string","null"]}},"required":["minVersion","latestVersion","storeUrl"],"additionalProperties":false},"android":{"type":"object","properties":{"minVersion":{"type":["string","null"]},"latestVersion":{"type":["string","null"]},"storeUrl":{"type":["string","null"]}},"required":["minVersion","latestVersion","storeUrl"],"additionalProperties":false}},"required":["ios","android"],"additionalProperties":false,"x-ts-type":"MobileAppInfo"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/skills":{"get":{"tags":["Meta"],"summary":"Yetenek önerileri (taksonomi; Türkçe karakter ve yazım farkına duyarsız, eş anlamlılar dahil)","operationId":"getSkills","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":50}}],"responses":{"200":{"description":"Yanıt: `SkillSuggestion[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SkillSuggestion[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/meta/education-suggestions":{"get":{"tags":["Meta"],"summary":"CV eğitim alanı önerileri: üniversite veya bölüm adı (kelime başlarıyla eşleşir; birkaç adayın yazdığı adlar dahil)","operationId":"getMetaEducationSuggestions","parameters":[{"name":"field","in":"query","required":true,"schema":{"type":"string","enum":["school","department"]}},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":80}}],"responses":{"200":{"description":"Yanıt: `string[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"string[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/meta/sitemap":{"get":{"tags":["Meta"],"summary":"sitemap.xml için herkese açık sayfalar (yayındaki ilanlar, ilanı olan firmalar, meslekler)","operationId":"getMetaSitemap","parameters":[],"responses":{"200":{"description":"Yanıt: `SitemapEntries`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SitemapEntries"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/files/{key}":{"get":{"tags":["Meta"],"summary":"İşlenmiş görsel (avatar, logo)","operationId":"getFiles/Key","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `image/webp`","content":{"image/webp":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/openapi.json":{"get":{"tags":["Meta"],"summary":"Bu API tanımı (OpenAPI 3.1)","operationId":"getOpenapi.json","parameters":[],"responses":{"200":{"description":"Yanıt: `OpenAPI`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"OpenAPI"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/auth/register":{"post":{"tags":["Auth"],"summary":"Aday veya işveren kaydı","operationId":"postAuthRegister","parameters":[],"responses":{"201":{"description":"Yanıt: `AuthResponse`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"refreshToken":{"type":"string"}},"required":["token","user"],"additionalProperties":false,"x-ts-type":"AuthResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"type":"object","properties":{"role":{"type":"string","const":"CANDIDATE"},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"password":{"type":"string","minLength":8,"maxLength":128},"fullName":{"type":"string","minLength":2,"maxLength":120},"acceptTerms":{"type":"boolean","const":true},"attribution":{"type":"object","properties":{"source":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"medium":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"campaign":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"content":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"term":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"}}},"locale":{"type":"string","enum":["tr","en"]},"website":{"type":"string","maxLength":500},"formMs":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["role","email","password","fullName"]},{"type":"object","properties":{"role":{"type":"string","const":"EMPLOYER"},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"password":{"type":"string","minLength":8,"maxLength":128},"fullName":{"type":"string","minLength":2,"maxLength":120},"companyName":{"type":"string","minLength":2,"maxLength":160},"acceptTerms":{"type":"boolean","const":true},"attribution":{"type":"object","properties":{"source":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"medium":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"campaign":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"content":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"term":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"}}},"locale":{"type":"string","enum":["tr","en"]},"website":{"type":"string","maxLength":500},"formMs":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["role","email","password","fullName","companyName"]}]}}}}}},"/auth/login":{"post":{"tags":["Auth"],"summary":"E-posta ve şifre ile giriş (iki adımlı doğrulama açıksa `code` gerekir; yoksa 401 TWO_FACTOR_REQUIRED)","operationId":"postAuthLogin","parameters":[],"responses":{"200":{"description":"Yanıt: `AuthResponse`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"refreshToken":{"type":"string"}},"required":["token","user"],"additionalProperties":false,"x-ts-type":"AuthResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"password":{"type":"string","minLength":1},"code":{"type":"string","maxLength":20}},"required":["email","password"]}}}}}},"/auth/providers":{"get":{"tags":["Auth"],"summary":"Sunulan Google/Apple giriş seçenekleri ve herkese açık istemci kimlikleri (kurulu değilse null)","operationId":"getAuthProviders","parameters":[],"responses":{"200":{"description":"Yanıt: `AuthProviders`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"google":{"anyOf":[{"type":"object","properties":{"webClientId":{"type":["string","null"]},"iosClientId":{"type":["string","null"]},"androidClientId":{"type":["string","null"]}},"required":["webClientId","iosClientId","androidClientId"],"additionalProperties":false},{"type":"null"}]},"apple":{"anyOf":[{"type":"object","properties":{"serviceId":{"type":["string","null"]}},"required":["serviceId"],"additionalProperties":false},{"type":"null"}]}},"required":["google","apple"],"additionalProperties":false,"x-ts-type":"AuthProviders"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/auth/oauth/{provider}":{"post":{"tags":["Auth"],"summary":"Google/Apple ID token ile giriş veya kayıt (provider: google|apple). Yeni hesapta 400 OAUTH_SIGNUP_REQUIRED → `signup` ile tekrar gönder; iki adımlı doğrulama açıksa `code`. Yeni hesap 201","operationId":"postAuthOauth/Provider","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `AuthResponse`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"refreshToken":{"type":"string"}},"required":["token","user"],"additionalProperties":false,"x-ts-type":"AuthResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"idToken":{"type":"string","minLength":20,"maxLength":8000},"code":{"type":"string","maxLength":20},"fullName":{"type":"string","minLength":2,"maxLength":120},"signup":{"oneOf":[{"type":"object","properties":{"role":{"type":"string","const":"CANDIDATE"},"acceptTerms":{"type":"boolean","const":true},"attribution":{"type":"object","properties":{"source":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"medium":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"campaign":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"content":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"term":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"}}},"locale":{"type":"string","enum":["tr","en"]}},"required":["role","acceptTerms"]},{"type":"object","properties":{"role":{"type":"string","const":"EMPLOYER"},"companyName":{"type":"string","minLength":2,"maxLength":160},"acceptTerms":{"type":"boolean","const":true},"attribution":{"type":"object","properties":{"source":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"medium":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"campaign":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"content":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"},"term":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\p{L}\\p{N} _.+:/-]+$"}}},"locale":{"type":"string","enum":["tr","en"]}},"required":["role","companyName","acceptTerms"]}]}},"required":["idToken"]}}}}}},"/auth/identities":{"get":{"tags":["Auth"],"summary":"Bağlı Google/Apple hesaplarım ve şifrem olup olmadığı","operationId":"getAuthIdentities","parameters":[],"responses":{"200":{"description":"Yanıt: `LinkedIdentities`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"hasPassword":{"type":"boolean"},"identities":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["GOOGLE","APPLE"]},"email":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"lastUsedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["provider","email","createdAt","lastUsedAt"],"additionalProperties":false}}},"required":["hasPassword","identities"],"additionalProperties":false,"x-ts-type":"LinkedIdentities"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/auth/identities/{provider}":{"post":{"tags":["Auth"],"summary":"Hesabıma Google/Apple hesabı bağla (ID token)","operationId":"postAuthIdentities/Provider","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `LinkedIdentities`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"hasPassword":{"type":"boolean"},"identities":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["GOOGLE","APPLE"]},"email":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"lastUsedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["provider","email","createdAt","lastUsedAt"],"additionalProperties":false}}},"required":["hasPassword","identities"],"additionalProperties":false,"x-ts-type":"LinkedIdentities"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"idToken":{"type":"string"}},"required":["idToken"]}}}}},"delete":{"tags":["Auth"],"summary":"Google/Apple bağlantısını kaldır (tek giriş yolu ise önce şifre belirlenmeli)","operationId":"deleteAuthIdentities/Provider","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `LinkedIdentities`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"hasPassword":{"type":"boolean"},"identities":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["GOOGLE","APPLE"]},"email":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"lastUsedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["provider","email","createdAt","lastUsedAt"],"additionalProperties":false}}},"required":["hasPassword","identities"],"additionalProperties":false,"x-ts-type":"LinkedIdentities"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/auth/me":{"get":{"tags":["Auth"],"summary":"Oturumdaki kullanıcı","operationId":"getAuthMe","parameters":[],"responses":{"200":{"description":"Yanıt: `User`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false,"x-ts-type":"User"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/auth/forgot-password":{"post":{"tags":["Auth"],"summary":"Şifre sıfırlama e-postası gönder","operationId":"postAuthForgotPassword","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"required":["email"]}}}}}},"/auth/reset-password":{"post":{"tags":["Auth"],"summary":"Token ile yeni şifre belirle","operationId":"postAuthResetPassword","parameters":[],"responses":{"200":{"description":"Yanıt: `AuthResponse`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"refreshToken":{"type":"string"}},"required":["token","user"],"additionalProperties":false,"x-ts-type":"AuthResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","minLength":20,"maxLength":200},"password":{"type":"string","minLength":8,"maxLength":128}},"required":["token","password"]}}}}}},"/auth/change-password":{"post":{"tags":["Auth"],"summary":"Şifre değiştir","operationId":"postAuthChangePassword","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"currentPassword":{"type":"string","minLength":1},"newPassword":{"type":"string","minLength":8,"maxLength":128}},"required":["currentPassword","newPassword"]}}}}}},"/auth/verify-email":{"post":{"tags":["Auth"],"summary":"E-posta adresini doğrula","operationId":"postAuthVerifyEmail","parameters":[],"responses":{"200":{"description":"Yanıt: `User`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false,"x-ts-type":"User"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","minLength":10,"maxLength":2000}},"required":["token"]}}}}}},"/auth/refresh":{"post":{"tags":["Auth"],"summary":"Erişim token'ını yenile (yenileme token'ı çerezde veya gövdede; her kullanımda değişir, tekrar kullanımı oturumu kapatır)","operationId":"postAuthRefresh","parameters":[],"responses":{"200":{"description":"Yanıt: `AuthResponse`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"refreshToken":{"type":"string"}},"required":["token","user"],"additionalProperties":false,"x-ts-type":"AuthResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"refreshToken":{"type":"string","minLength":20,"maxLength":200}}}}}}}},"/auth/logout":{"post":{"tags":["Auth"],"summary":"Bu cihazdaki oturumu kapat (erişim token'ı, süresi dolmuşsa yenileme token'ı ile)","operationId":"postAuthLogout","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"refreshToken":{"type":"string","minLength":20,"maxLength":200}}}}}}}},"/auth/sessions":{"get":{"tags":["Auth"],"summary":"Açık oturumlarım (cihazlar)","operationId":"getAuthSessions","parameters":[],"responses":{"200":{"description":"Yanıt: `SessionInfo[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SessionInfo[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/auth/sessions/revoke-others":{"post":{"tags":["Auth"],"summary":"Diğer tüm cihazlardan çıkış yap","operationId":"postAuthSessionsRevokeOthers","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/auth/sessions/{id}":{"delete":{"tags":["Auth"],"summary":"Bir oturumu kapat (yalnızca kendi oturumların)","operationId":"deleteAuthSessions/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/auth/resend-verification":{"post":{"tags":["Auth"],"summary":"Doğrulama e-postasını yeniden gönder","operationId":"postAuthResendVerification","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/jobs":{"get":{"tags":["Jobs"],"summary":"İlan arama (tam metin, filtre, sıralama)","operationId":"getJobs","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"city","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"category","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"workType","in":"query","required":false,"schema":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},{"name":"workModel","in":"query","required":false,"schema":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},{"name":"experienceLevel","in":"query","required":false,"schema":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]}},{"name":"companyId","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"name":"minSalary","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000000}},{"name":"disabilityFriendly","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},{"name":"project","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},{"name":"urgent","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},{"name":"postedWithin","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["relevance","newest","salary"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"pageSize","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Yanıt: `JobSearchResult`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pageSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","properties":{"city":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}},"category":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}},"workModel":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}},"required":["city","category","workModel"],"additionalProperties":false},"fuzzy":{"type":"boolean"}},"required":["items","total","page","pageSize","totalPages","facets","fuzzy"],"additionalProperties":false,"x-ts-type":"JobSearchResult"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}]},"post":{"tags":["Jobs"],"summary":"İlan oluştur (kredi düşer, moderasyon açıksa onaya gider)","operationId":"postJobs","parameters":[],"responses":{"201":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: jobs.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:jobs.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":160},"description":{"type":"string","minLength":20,"maxLength":20000},"city":{"type":"string","minLength":2,"maxLength":80},"additionalCities":{"maxItems":5,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}},"benefits":{"maxItems":14,"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"questions":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]{6,16}$"},"text":{"type":"string","minLength":5,"maxLength":300},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"default":true,"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["text","type"]}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"]},{"type":"null"}]},"category":{"type":"string","minLength":2,"maxLength":80},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"salaryMax":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"status":{"type":"string","enum":["ACTIVE","CLOSED"]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string","minLength":20,"maxLength":4000},"deliverables":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":2,"maxLength":200}},"startDate":{"default":null,"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"durationWeeks":{"default":null,"anyOf":[{"type":"integer","minimum":1,"maximum":104},{"type":"null"}]},"budgetType":{"default":"FIXED","type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":10000000000},{"type":"null"}]},"budgetMaxKurus":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":10000000000},{"type":"null"}]}},"required":["scope"]},{"type":"null"}]}},"required":["title","description","city","category","workType","workModel","experienceLevel"]}}}}}},"/jobs/suggest":{"get":{"tags":["Jobs"],"summary":"Arama önerileri (başlık, şirket)","operationId":"getJobsSuggest","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":60}}],"responses":{"200":{"description":"Yanıt: `SearchSuggestions`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SearchSuggestions"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/jobs/map":{"get":{"tags":["Jobs"],"summary":"Haritada ilanlar: yayındaki, uzaktan olmayan ilanların konum işaretleri (kesin konum veya il merkezi yakını; lat/lng ile yakınımdakiler)","operationId":"getJobsMap","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"city","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"category","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"workType","in":"query","required":false,"schema":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},{"name":"workModel","in":"query","required":false,"schema":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},{"name":"experienceLevel","in":"query","required":false,"schema":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]}},{"name":"companyId","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"name":"minSalary","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000000}},{"name":"disabilityFriendly","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},{"name":"project","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},{"name":"urgent","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},{"name":"postedWithin","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"lat","in":"query","required":false,"schema":{"type":"number","minimum":-90,"maximum":90}},{"name":"lng","in":"query","required":false,"schema":{"type":"number","minimum":-180,"maximum":180}},{"name":"radiusKm","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":500}}],"responses":{"200":{"description":"Yanıt: `JobMapResult`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"markers":{"type":"array","items":{"type":"object","properties":{"jobId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"city":{"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"},"exact":{"type":"boolean"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"featured":{"type":"boolean"},"postedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","logoUrl","verified"],"additionalProperties":false},"distanceKm":{"type":["number","null"]}},"required":["jobId","title","city","lat","lng","exact","workType","workModel","salaryMin","salaryMax","featured","postedAt","company","distanceKm"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remoteCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["markers","total","remoteCount","truncated"],"additionalProperties":false,"x-ts-type":"JobMapResult"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}]}},"/jobs/{id}/match":{"get":{"tags":["Jobs"],"summary":"Adayın CV'sinin ilanla uyumu (Phase 3.3, kural tabanlı ve açıklamalı; yalnızca yayındaki ya da başvurduğu ilan). İşverene başvuru listesinde aynı skor (+ ön eleme) döner; otomatik eleme yok","operationId":"getJobs/IdMatch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `MatchScore`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"score":{"type":"integer","minimum":0,"maximum":100},"level":{"type":"string","enum":["HIGH","MEDIUM","LOW"]},"limited":{"type":"boolean"},"criteria":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["skills","position","experience","location","language","screening","license","preferences","salary"]},"status":{"type":"string","enum":["match","partial","miss"]},"detail":{"type":"string"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["key","status","detail","weight"],"additionalProperties":false}},"matchedKeywords":{"type":"array","items":{"type":"string"}},"missingKeywords":{"type":"array","items":{"type":"string"}}},"required":["score","level","limited","criteria","matchedKeywords","missingKeywords"],"additionalProperties":false,"x-ts-type":"MatchScore"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/jobs/{id}/insights":{"get":{"tags":["Jobs"],"summary":"Adaya ilan sinyalleri: başvuru yoğunluğu (aralık olarak, kesin sayı değil) ve firmanın son 180 gündeki ilk yanıt süresi/yanıt oranı (en az 5 başvuru; yalnızca yayındaki ilan)","operationId":"getJobs/IdInsights","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `JobInsights`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"applicantBand":{"type":"string","enum":["10","25","50","100","FIRST"]},"responsiveness":{"anyOf":[{"type":"object","properties":{"medianHours":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"responseRate":{"type":"number","minimum":0,"maximum":1},"sample":{"type":"integer","minimum":0,"maximum":9007199254740991},"fast":{"type":"boolean"}},"required":["medianHours","responseRate","sample","fast"],"additionalProperties":false},{"type":"null"}]}},"required":["applicantBand","responsiveness"],"additionalProperties":false,"x-ts-type":"JobInsights"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/jobs/{id}/similar":{"get":{"tags":["Jobs"],"summary":"Benzer yayındaki ilanlar (kategori, şehir, çalışma şekli, başlık benzerliği; en fazla 6)","operationId":"getJobs/IdSimilar","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Job[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false},"x-ts-type":"Job[]"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}]}},"/jobs/{id}":{"get":{"tags":["Jobs"],"summary":"İlan detayı","operationId":"getJobs/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}]},"put":{"tags":["Jobs"],"summary":"İlanı güncelle (şirket üyesi: jobs.manage; personel: jobs.manage_any)","operationId":"putJobs/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":160},"description":{"type":"string","minLength":20,"maxLength":20000},"city":{"type":"string","minLength":2,"maxLength":80},"additionalCities":{"maxItems":5,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}},"benefits":{"maxItems":14,"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"questions":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]{6,16}$"},"text":{"type":"string","minLength":5,"maxLength":300},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"default":true,"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["text","type"]}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"]},{"type":"null"}]},"category":{"type":"string","minLength":2,"maxLength":80},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"salaryMax":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"status":{"type":"string","enum":["ACTIVE","CLOSED"]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string","minLength":20,"maxLength":4000},"deliverables":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":2,"maxLength":200}},"startDate":{"default":null,"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"durationWeeks":{"default":null,"anyOf":[{"type":"integer","minimum":1,"maximum":104},{"type":"null"}]},"budgetType":{"default":"FIXED","type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":10000000000},{"type":"null"}]},"budgetMaxKurus":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":10000000000},{"type":"null"}]}},"required":["scope"]},{"type":"null"}]}},"required":["title","description","city","category","workType","workModel","experienceLevel"]}}}}},"delete":{"tags":["Jobs"],"summary":"İlanı sil (şirket üyesi: jobs.manage; personel: jobs.manage_any)","operationId":"deleteJobs/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/jobs/{id}/feature":{"post":{"tags":["Jobs"],"summary":"İlanı öne çıkar (öne çıkarma kredisi)","operationId":"postJobs/IdFeature","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: jobs.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:jobs.manage"}},"/jobs/{id}/urgent":{"post":{"tags":["Jobs"],"summary":"İlanı acil olarak işaretle (acil ilan kredisi, URGENT_DAYS gün; ana sayfa acil ilanlar bölümü ve siren rozeti)","operationId":"postJobs/IdUrgent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: jobs.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:jobs.manage"}},"/jobs/{id}/renew":{"post":{"tags":["Jobs"],"summary":"Süresi dolan ilanı yenile (ilan kredisi)","operationId":"postJobs/IdRenew","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: jobs.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:jobs.manage"}},"/jobs/{id}/apply":{"post":{"tags":["Jobs"],"summary":"İlana başvur","operationId":"postJobs/IdApply","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `Application`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]},"coverLetter":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"city":{"type":"string"},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false}},"required":["id","title","city","status","company"],"additionalProperties":false},"viewedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["id","status","coverLetter","createdAt","updatedAt","job","viewedAt"],"additionalProperties":false,"x-ts-type":"Application"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"coverLetter":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"answers":{"default":{},"type":"object","propertyNames":{"type":"string","maxLength":16},"additionalProperties":{"type":"string","maxLength":1000}},"source":{"type":"string","enum":["search","map","similar","company_page","alert","share","invite","external","direct"]},"proposal":{"type":"object","properties":{"priceKurus":{"type":"integer","minimum":0,"maximum":10000000000},"priceType":{"default":"FIXED","type":"string","enum":["FIXED","HOURLY"]},"durationDays":{"default":null,"anyOf":[{"type":"integer","minimum":1,"maximum":730},{"type":"null"}]},"note":{"default":null,"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["priceKurus"]}}}}}}}},"/jobs/{id}/save":{"put":{"tags":["Jobs"],"summary":"İlanı kaydet","operationId":"putJobs/IdSave","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"delete":{"tags":["Jobs"],"summary":"Kaydedilen ilanı kaldır","operationId":"deleteJobs/IdSave","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/jobs/{id}/stats":{"get":{"tags":["Jobs"],"summary":"İlan performansı: görüntülenme, başvuru durumları, ön eleme işaretleri (şirket üyesi: applications.manage)","operationId":"getJobs/IdStats","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `JobStats`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"JobStats"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/jobs/{id}/analysis":{"get":{"tags":["Employer"],"summary":"İlan analizi: aşama hunisi, günlük görüntülenme/başvuru, platform, başvuranların deneyim ve şehir dağılımı (toplu sayılar), şirket ortalaması","operationId":"getJobs/IdAnalysis","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"days","in":"query","required":false,"schema":{"default":30,"type":"number"}}],"responses":{"200":{"description":"Yanıt: `JobAnalysis`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"JobAnalysis"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/jobs/{id}/applications/bulk-move":{"post":{"tags":["Jobs"],"summary":"Toplu taşıma: ilanın birden çok başvurusunu bir duruma ya da şirket aşamasına (en fazla 100; geri çekilenler atlanır, her adaya kendi bildirimi)","operationId":"postJobs/IdApplicationsBulkMove","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `BulkMoveResult`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"moved":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]},"stageId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","status","stageId"],"additionalProperties":false}},"skipped":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["moved","skipped"],"additionalProperties":false,"x-ts-type":"BulkMoveResult"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"applicationIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED"]},"stageId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["applicationIds"]}}}}}},"/jobs/{id}/applications":{"get":{"tags":["Jobs"],"summary":"İlanın başvuruları (şirket üyesi: applications.manage; personel: applications.manage_any)","operationId":"getJobs/IdApplications","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Applicant[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]},"stageId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"coverLetter":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"answers":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string"},"question":{"type":"string"},"answer":{"type":"string"},"mismatch":{"type":"boolean"}},"required":["questionId","question","answer","mismatch"],"additionalProperties":false}},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"email":{"type":"string"},"phone":{"type":["string","null"]},"city":{"type":["string","null"]},"title":{"type":["string","null"]},"summary":{"type":["string","null"]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":"array","items":{"type":"string"}},"experiences":{"type":"array","items":{"type":"object","properties":{"company":{"type":"string"},"position":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"description":{"type":["string","null"]}},"required":["company","position","startYear","endYear","description"],"additionalProperties":false}},"educations":{"type":"array","items":{"type":"object","properties":{"school":{"type":"string"},"department":{"type":"string"},"degree":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["school","department","degree","startYear","endYear"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"],"additionalProperties":false}},"certificates":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"issuer":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","issuer","year","url"],"additionalProperties":false}},"projects":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","description","year","url"],"additionalProperties":false}},"drivingLicenses":{"type":"array","items":{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]}},"militaryStatus":{"anyOf":[{"type":"string","enum":["DONE","EXEMPT","POSTPONED","NOT_DONE"]},{"type":"null"}]},"preferences":{"anyOf":[{"type":"object","properties":{"positions":{"type":"array","items":{"type":"string"}},"cities":{"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workTypes":{"type":"array","items":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},"expectedSalary":{"type":["number","null"]},"willingToRelocate":{"type":"boolean"}},"required":["positions","cities","workModels","workTypes","expectedSalary","willingToRelocate"],"additionalProperties":false},{"type":"null"}]},"avatarUrl":{"type":["string","null"]},"cvFile":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["name","uploadedAt"],"additionalProperties":false},{"type":"null"}]},"completion":{"type":"object","properties":{"percent":{"type":"number"},"missing":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["photo","title","city","experienceLevel","summary","skills","experiences","educations","languages","preferences","cvFile"]},"label":{"type":"string"}},"required":["key","label"],"additionalProperties":false}}},"required":["percent","missing"],"additionalProperties":false}},"required":["userId","fullName","email","phone","city","title","summary","experienceLevel","skills","experiences","educations","languages","certificates","projects","drivingLicenses","militaryStatus","preferences","avatarUrl","cvFile"],"additionalProperties":false},"match":{"type":"object","properties":{"score":{"type":"integer","minimum":0,"maximum":100},"level":{"type":"string","enum":["HIGH","MEDIUM","LOW"]},"limited":{"type":"boolean"},"criteria":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["skills","position","experience","location","language","screening","license","preferences","salary"]},"status":{"type":"string","enum":["match","partial","miss"]},"detail":{"type":"string"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["key","status","detail","weight"],"additionalProperties":false}},"matchedKeywords":{"type":"array","items":{"type":"string"}},"missingKeywords":{"type":"array","items":{"type":"string"}}},"required":["score","level","limited","criteria","matchedKeywords","missingKeywords"],"additionalProperties":false},"proposal":{"anyOf":[{"type":"object","properties":{"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"priceType":{"type":"string","enum":["FIXED","HOURLY"]},"durationDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"note":{"type":["string","null"]}},"required":["priceKurus","priceType","durationDays","note"],"additionalProperties":false},{"type":"null"}]}},"required":["id","status","stageId","coverLetter","createdAt","answers","candidate"],"additionalProperties":false},"x-ts-type":"Applicant[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/me/profile":{"get":{"tags":["Me"],"summary":"Aday profili / CV","operationId":"getMeProfile","parameters":[],"responses":{"200":{"description":"Yanıt: `CandidateProfile`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"email":{"type":"string"},"phone":{"type":["string","null"]},"city":{"type":["string","null"]},"title":{"type":["string","null"]},"summary":{"type":["string","null"]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":"array","items":{"type":"string"}},"experiences":{"type":"array","items":{"type":"object","properties":{"company":{"type":"string"},"position":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"description":{"type":["string","null"]}},"required":["company","position","startYear","endYear","description"],"additionalProperties":false}},"educations":{"type":"array","items":{"type":"object","properties":{"school":{"type":"string"},"department":{"type":"string"},"degree":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["school","department","degree","startYear","endYear"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"],"additionalProperties":false}},"certificates":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"issuer":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","issuer","year","url"],"additionalProperties":false}},"projects":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","description","year","url"],"additionalProperties":false}},"drivingLicenses":{"type":"array","items":{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]}},"militaryStatus":{"anyOf":[{"type":"string","enum":["DONE","EXEMPT","POSTPONED","NOT_DONE"]},{"type":"null"}]},"preferences":{"anyOf":[{"type":"object","properties":{"positions":{"type":"array","items":{"type":"string"}},"cities":{"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workTypes":{"type":"array","items":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},"expectedSalary":{"type":["number","null"]},"willingToRelocate":{"type":"boolean"}},"required":["positions","cities","workModels","workTypes","expectedSalary","willingToRelocate"],"additionalProperties":false},{"type":"null"}]},"avatarUrl":{"type":["string","null"]},"cvFile":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["name","uploadedAt"],"additionalProperties":false},{"type":"null"}]},"completion":{"type":"object","properties":{"percent":{"type":"number"},"missing":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["photo","title","city","experienceLevel","summary","skills","experiences","educations","languages","preferences","cvFile"]},"label":{"type":"string"}},"required":["key","label"],"additionalProperties":false}}},"required":["percent","missing"],"additionalProperties":false}},"required":["userId","fullName","email","phone","city","title","summary","experienceLevel","skills","experiences","educations","languages","certificates","projects","drivingLicenses","militaryStatus","preferences","avatarUrl","cvFile"],"additionalProperties":false,"x-ts-type":"CandidateProfile"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"put":{"tags":["Me"],"summary":"Aday profilini güncelle","operationId":"putMeProfile","parameters":[],"responses":{"200":{"description":"Yanıt: `CandidateProfile`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"email":{"type":"string"},"phone":{"type":["string","null"]},"city":{"type":["string","null"]},"title":{"type":["string","null"]},"summary":{"type":["string","null"]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":"array","items":{"type":"string"}},"experiences":{"type":"array","items":{"type":"object","properties":{"company":{"type":"string"},"position":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"description":{"type":["string","null"]}},"required":["company","position","startYear","endYear","description"],"additionalProperties":false}},"educations":{"type":"array","items":{"type":"object","properties":{"school":{"type":"string"},"department":{"type":"string"},"degree":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["school","department","degree","startYear","endYear"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"],"additionalProperties":false}},"certificates":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"issuer":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","issuer","year","url"],"additionalProperties":false}},"projects":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","description","year","url"],"additionalProperties":false}},"drivingLicenses":{"type":"array","items":{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]}},"militaryStatus":{"anyOf":[{"type":"string","enum":["DONE","EXEMPT","POSTPONED","NOT_DONE"]},{"type":"null"}]},"preferences":{"anyOf":[{"type":"object","properties":{"positions":{"type":"array","items":{"type":"string"}},"cities":{"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workTypes":{"type":"array","items":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},"expectedSalary":{"type":["number","null"]},"willingToRelocate":{"type":"boolean"}},"required":["positions","cities","workModels","workTypes","expectedSalary","willingToRelocate"],"additionalProperties":false},{"type":"null"}]},"avatarUrl":{"type":["string","null"]},"cvFile":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["name","uploadedAt"],"additionalProperties":false},{"type":"null"}]},"completion":{"type":"object","properties":{"percent":{"type":"number"},"missing":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["photo","title","city","experienceLevel","summary","skills","experiences","educations","languages","preferences","cvFile"]},"label":{"type":"string"}},"required":["key","label"],"additionalProperties":false}}},"required":["percent","missing"],"additionalProperties":false}},"required":["userId","fullName","email","phone","city","title","summary","experienceLevel","skills","experiences","educations","languages","certificates","projects","drivingLicenses","militaryStatus","preferences","avatarUrl","cvFile"],"additionalProperties":false,"x-ts-type":"CandidateProfile"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"fullName":{"type":"string","minLength":2,"maxLength":120},"phone":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"title":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"summary":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":50}},"experiences":{"maxItems":30,"type":"array","items":{"type":"object","properties":{"company":{"type":"string","minLength":1,"maxLength":160},"position":{"type":"string","minLength":1,"maxLength":160},"startYear":{"type":"integer","minimum":1950,"maximum":2100},"endYear":{"anyOf":[{"type":"integer","minimum":1950,"maximum":2100},{"type":"null"}]},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]}},"required":["company","position","startYear"]}},"educations":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"school":{"type":"string","minLength":1,"maxLength":160},"department":{"type":"string","minLength":1,"maxLength":160},"degree":{"type":"string","minLength":1,"maxLength":60},"startYear":{"type":"integer","minimum":1950,"maximum":2100},"endYear":{"anyOf":[{"type":"integer","minimum":1950,"maximum":2100},{"type":"null"}]}},"required":["school","department","degree","startYear"]}},"languages":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"language":{"type":"string","minLength":2,"maxLength":40},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"]}},"preferences":{"anyOf":[{"type":"object","properties":{"positions":{"default":[],"maxItems":5,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}},"cities":{"default":[],"maxItems":5,"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"workModels":{"default":[],"maxItems":3,"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workTypes":{"default":[],"maxItems":5,"type":"array","items":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},"expectedSalary":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":10000000},{"type":"null"}]},"willingToRelocate":{"default":false,"type":"boolean"}}},{"type":"null"}]},"certificates":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":160},"issuer":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"year":{"anyOf":[{"type":"integer","minimum":1950,"maximum":2100},{"type":"null"}]},"url":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]}},"required":["name"]}},"projects":{"maxItems":15,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":160},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"year":{"anyOf":[{"type":"integer","minimum":1950,"maximum":2100},{"type":"null"}]},"url":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]}},"required":["name"]}},"drivingLicenses":{"maxItems":17,"type":"array","items":{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]}},"militaryStatus":{"anyOf":[{"type":"string","enum":["DONE","EXEMPT","POSTPONED","NOT_DONE"]},{"type":"null"}]}},"required":["fullName"]}}}}}},"/me/applications":{"get":{"tags":["Me"],"summary":"Başvurularım","operationId":"getMeApplications","parameters":[],"responses":{"200":{"description":"Yanıt: `Application[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]},"coverLetter":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"city":{"type":"string"},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false}},"required":["id","title","city","status","company"],"additionalProperties":false},"viewedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["id","status","coverLetter","createdAt","updatedAt","job","viewedAt"],"additionalProperties":false},"x-ts-type":"Application[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/applications/{id}/withdraw":{"post":{"tags":["Me"],"summary":"Başvuruyu geri çek","operationId":"postMeApplications/IdWithdraw","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Application`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]},"coverLetter":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"city":{"type":"string"},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false}},"required":["id","title","city","status","company"],"additionalProperties":false},"viewedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["id","status","coverLetter","createdAt","updatedAt","job","viewedAt"],"additionalProperties":false,"x-ts-type":"Application"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/company/integrations/api-keys":{"get":{"tags":["Integrations"],"summary":"Şirketin API anahtarları (gizli değer gösterilmez)","operationId":"getMeCompanyIntegrationsApiKeys","parameters":[],"responses":{"200":{"description":"Yanıt: `ApiKey[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ApiKey[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: integrations.manage (OWNER, ADMIN)","x-permission":"company:integrations.manage"},"post":{"tags":["Integrations"],"summary":"API anahtarı oluştur (kapsamlı; en fazla 10 etkin; anahtar yalnızca bu yanıtta görünür)","operationId":"postMeCompanyIntegrationsApiKeys","parameters":[],"responses":{"201":{"description":"Yanıt: `ApiKeyCreated`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ApiKeyCreated"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: integrations.manage (OWNER, ADMIN)","x-permission":"company:integrations.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":60},"scopes":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["jobs:read","jobs:write","applications:read"]}}},"required":["name","scopes"]}}}}}},"/me/company/integrations/api-keys/{id}":{"delete":{"tags":["Integrations"],"summary":"API anahtarını iptal et","operationId":"deleteMeCompanyIntegrationsApiKeys/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ApiKey`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ApiKey"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: integrations.manage (OWNER, ADMIN)","x-permission":"company:integrations.manage"}},"/me/company/integrations/webhooks":{"get":{"tags":["Integrations"],"summary":"Webhook'lar ve son gönderimler","operationId":"getMeCompanyIntegrationsWebhooks","parameters":[],"responses":{"200":{"description":"Yanıt: `{ webhooks: Webhook[]; deliveries: WebhookDelivery[] }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ webhooks: Webhook[]; deliveries: WebhookDelivery[] }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: integrations.manage (OWNER, ADMIN)","x-permission":"company:integrations.manage"},"post":{"tags":["Integrations"],"summary":"Webhook ekle (https, iç ağ adresleri reddedilir; en fazla 5; imza anahtarı yalnızca bu yanıtta görünür)","operationId":"postMeCompanyIntegrationsWebhooks","parameters":[],"responses":{"201":{"description":"Yanıt: `WebhookCreated`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"WebhookCreated"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: integrations.manage (OWNER, ADMIN)","x-permission":"company:integrations.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"},"events":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["application.created","application.status_changed","job.status_changed"]}}},"required":["url","events"]}}}}}},"/me/company/integrations/webhooks/{id}":{"patch":{"tags":["Integrations"],"summary":"Webhook'u aç/kapat veya olaylarını değiştir","operationId":"patchMeCompanyIntegrationsWebhooks/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Webhook`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Webhook"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: integrations.manage (OWNER, ADMIN)","x-permission":"company:integrations.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"active":{"type":"boolean"},"events":{"minItems":1,"type":"array","items":{"type":"string","enum":["application.created","application.status_changed","job.status_changed"]}}}}}}}},"delete":{"tags":["Integrations"],"summary":"Webhook'u sil","operationId":"deleteMeCompanyIntegrationsWebhooks/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: integrations.manage (OWNER, ADMIN)","x-permission":"company:integrations.manage"}},"/me/company/integrations/webhooks/{id}/ping":{"post":{"tags":["Integrations"],"summary":"Webhook'a deneme (ping) olayı gönder","operationId":"postMeCompanyIntegrationsWebhooks/IdPing","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `WebhookDelivery`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"WebhookDelivery"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: integrations.manage (OWNER, ADMIN)","x-permission":"company:integrations.manage"}},"/partner/jobs":{"get":{"tags":["Partner"],"summary":"Şirketin ilanları","operationId":"getPartnerJobs","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]}}],"responses":{"200":{"description":"Yanıt: `Job[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false},"x-ts-type":"Job[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"apiKey","security":[{"apiKeyAuth":[]}],"x-scope":"jobs:read","description":"API anahtarı kapsamı: jobs:read (X-API-Key başlığı; anahtar başına dakikada 120 istek)"},"post":{"tags":["Partner"],"summary":"İlan oluştur (moderasyon, kredi ve risk kuralları paneldeki gibi)","operationId":"postPartnerJobs","parameters":[],"responses":{"201":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"apiKey","security":[{"apiKeyAuth":[]}],"x-scope":"jobs:write","description":"API anahtarı kapsamı: jobs:write (X-API-Key başlığı; anahtar başına dakikada 120 istek)","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":160},"description":{"type":"string","minLength":20,"maxLength":20000},"city":{"type":"string","minLength":2,"maxLength":80},"additionalCities":{"maxItems":5,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}},"benefits":{"maxItems":14,"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"questions":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]{6,16}$"},"text":{"type":"string","minLength":5,"maxLength":300},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"default":true,"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["text","type"]}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"]},{"type":"null"}]},"category":{"type":"string","minLength":2,"maxLength":80},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"salaryMax":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"status":{"type":"string","enum":["ACTIVE","CLOSED"]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string","minLength":20,"maxLength":4000},"deliverables":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":2,"maxLength":200}},"startDate":{"default":null,"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"durationWeeks":{"default":null,"anyOf":[{"type":"integer","minimum":1,"maximum":104},{"type":"null"}]},"budgetType":{"default":"FIXED","type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":10000000000},{"type":"null"}]},"budgetMaxKurus":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":10000000000},{"type":"null"}]}},"required":["scope"]},{"type":"null"}]}},"required":["title","description","city","category","workType","workModel","experienceLevel"]}}}}}},"/partner/jobs/{id}/status":{"patch":{"tags":["Partner"],"summary":"Yayındaki ilanı kapat / kapatılmışı yeniden aç","operationId":"patchPartnerJobs/IdStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"apiKey","security":[{"apiKeyAuth":[]}],"x-scope":"jobs:write","description":"API anahtarı kapsamı: jobs:write (X-API-Key başlığı; anahtar başına dakikada 120 istek)","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","enum":["ACTIVE","CLOSED"]}},"required":["status"]}}}}}},"/partner/jobs/{id}/applications":{"get":{"tags":["Partner"],"summary":"İlanın başvuruları ve aday iletişim bilgileri (denetim kaydına yazılır)","operationId":"getPartnerJobs/IdApplications","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `PartnerApplication[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"PartnerApplication[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"apiKey","security":[{"apiKeyAuth":[]}],"x-scope":"applications:read","description":"API anahtarı kapsamı: applications:read (X-API-Key başlığı; anahtar başına dakikada 120 istek)"}},"/partner/applications/{id}":{"get":{"tags":["Partner"],"summary":"Tek başvuru (webhook olayından sonra ayrıntı almak için)","operationId":"getPartnerApplications/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `PartnerApplication`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"PartnerApplication"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"apiKey","security":[{"apiKeyAuth":[]}],"x-scope":"applications:read","description":"API anahtarı kapsamı: applications:read (X-API-Key başlığı; anahtar başına dakikada 120 istek)"}},"/feed/jobs.json":{"get":{"tags":["Feed"],"summary":"Yayındaki ilanların herkese açık beslemesi (JSON, en fazla 2000; gizli maaş yok)","operationId":"getFeedJobs.json","parameters":[],"responses":{"200":{"description":"Yanıt: `FeedJob[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"FeedJob[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/feed/jobs.xml":{"get":{"tags":["Feed"],"summary":"Aynı besleme, toplayıcı sitelerin XML biçiminde","operationId":"getFeedJobs.xml","parameters":[],"responses":{"200":{"description":"Yanıt: `application/xml`","content":{"application/xml":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/me/applications/{id}/signals":{"get":{"tags":["Me"],"summary":"Başvurudaki otomatik uyum değerlendirmesinin gerekçesi (kural sürümüyle) ve düzeltme talepleri","operationId":"getMeApplications/IdSignals","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ signals: ApplicationSignal[]; disputes: SignalDispute[] }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ signals: ApplicationSignal[]; disputes: SignalDispute[] }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/applications/{id}/disputes":{"post":{"tags":["Me"],"summary":"Otomatik değerlendirme için düzeltme talebi (sinyal başına bir açık talep)","operationId":"postMeApplications/IdDisputes","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `SignalDispute`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SignalDispute"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"kind":{"type":"string","enum":["MATCH_SCORE","SCREENING"]},"message":{"type":"string","minLength":10,"maxLength":1000}},"required":["kind","message"]}}}}}},"/me/saved-jobs":{"get":{"tags":["Me"],"summary":"Kaydettiğim ilanlar","operationId":"getMeSavedJobs","parameters":[],"responses":{"200":{"description":"Yanıt: `Job[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false},"x-ts-type":"Job[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/jobs":{"get":{"tags":["Me"],"summary":"Şirketimin ilanları","operationId":"getMeJobs","parameters":[],"responses":{"200":{"description":"Yanıt: `Job[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false},"x-ts-type":"Job[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER"}},"/me/company":{"get":{"tags":["Me"],"summary":"Şirket bilgilerim","operationId":"getMeCompany","parameters":[],"responses":{"200":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER"},"put":{"tags":["Me"],"summary":"Şirket bilgilerini güncelle (`profile`: zengin şirket sayfası; gönderilmeyen alan değişmez)","operationId":"putMeCompany","parameters":[],"responses":{"200":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":160},"sector":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"website":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"employeeCount":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"about":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"culture":{"anyOf":[{"type":"string","maxLength":3000},{"type":"null"}]},"perks":{"maxItems":14,"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"facebook":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"instagram":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"x":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"youtube":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}}},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":1800,"maximum":2100},{"type":"null"}]},"address":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"mission":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"vision":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"values":{"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":60}},"workModels":{"maxItems":3,"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"technologies":{"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":40}},"offices":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]}},"required":["city"]}},"hiringProcess":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":80},"description":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]}},"required":["title"]}},"faqs":{"maxItems":12,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":5,"maxLength":200},"answer":{"type":"string","minLength":2,"maxLength":1000}},"required":["question","answer"]}},"testimonials":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":80},"position":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"quote":{"type":"string","minLength":10,"maxLength":600}},"required":["name","quote"]}},"awards":{"maxItems":12,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":120},"year":{"anyOf":[{"type":"integer","minimum":1900,"maximum":2100},{"type":"null"}]},"issuer":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]}},"required":["title"]}},"videoUrl":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}}}},"required":["name"]}}}}}},"/me/company/photos":{"post":{"tags":["Me"],"summary":"Şirket sayfası galerisine fotoğraf ekle (en fazla 12; 1600×1200 WebP, isteğe bağlı `caption`)","operationId":"postMeCompanyPhotos","parameters":[],"responses":{"201":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","contentMediaType":"image/*"}}}}}}}},"/me/company/photos/{id}":{"patch":{"tags":["Me"],"summary":"Fotoğraf açıklamasını değiştir (yalnızca kendi şirketinin fotoğrafı)","operationId":"patchMeCompanyPhotos/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"caption":{"anyOf":[{"type":"string","maxLength":140},{"type":"null"}]}}}}}}},"delete":{"tags":["Me"],"summary":"Fotoğrafı sil (yalnızca kendi şirketinin fotoğrafı)","operationId":"deleteMeCompanyPhotos/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit"}},"/me/cv-file":{"post":{"tags":["Me"],"summary":"PDF CV yükle (en fazla 5 MB)","operationId":"postMeCvFile","parameters":[],"responses":{"201":{"description":"Yanıt: `CandidateProfile`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"email":{"type":"string"},"phone":{"type":["string","null"]},"city":{"type":["string","null"]},"title":{"type":["string","null"]},"summary":{"type":["string","null"]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":"array","items":{"type":"string"}},"experiences":{"type":"array","items":{"type":"object","properties":{"company":{"type":"string"},"position":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"description":{"type":["string","null"]}},"required":["company","position","startYear","endYear","description"],"additionalProperties":false}},"educations":{"type":"array","items":{"type":"object","properties":{"school":{"type":"string"},"department":{"type":"string"},"degree":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["school","department","degree","startYear","endYear"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"],"additionalProperties":false}},"certificates":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"issuer":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","issuer","year","url"],"additionalProperties":false}},"projects":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","description","year","url"],"additionalProperties":false}},"drivingLicenses":{"type":"array","items":{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]}},"militaryStatus":{"anyOf":[{"type":"string","enum":["DONE","EXEMPT","POSTPONED","NOT_DONE"]},{"type":"null"}]},"preferences":{"anyOf":[{"type":"object","properties":{"positions":{"type":"array","items":{"type":"string"}},"cities":{"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workTypes":{"type":"array","items":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},"expectedSalary":{"type":["number","null"]},"willingToRelocate":{"type":"boolean"}},"required":["positions","cities","workModels","workTypes","expectedSalary","willingToRelocate"],"additionalProperties":false},{"type":"null"}]},"avatarUrl":{"type":["string","null"]},"cvFile":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["name","uploadedAt"],"additionalProperties":false},{"type":"null"}]},"completion":{"type":"object","properties":{"percent":{"type":"number"},"missing":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["photo","title","city","experienceLevel","summary","skills","experiences","educations","languages","preferences","cvFile"]},"label":{"type":"string"}},"required":["key","label"],"additionalProperties":false}}},"required":["percent","missing"],"additionalProperties":false}},"required":["userId","fullName","email","phone","city","title","summary","experienceLevel","skills","experiences","educations","languages","certificates","projects","drivingLicenses","militaryStatus","preferences","avatarUrl","cvFile"],"additionalProperties":false,"x-ts-type":"CandidateProfile"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","contentMediaType":"application/pdf"}}}}}}},"get":{"tags":["Me"],"summary":"Yüklediğim PDF CV (yoksa profilden üretilen CV)","operationId":"getMeCvFile","parameters":[],"responses":{"200":{"description":"Yanıt: `application/pdf`","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"delete":{"tags":["Me"],"summary":"PDF CV'yi sil","operationId":"deleteMeCvFile","parameters":[],"responses":{"200":{"description":"Yanıt: `CandidateProfile`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"email":{"type":"string"},"phone":{"type":["string","null"]},"city":{"type":["string","null"]},"title":{"type":["string","null"]},"summary":{"type":["string","null"]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":"array","items":{"type":"string"}},"experiences":{"type":"array","items":{"type":"object","properties":{"company":{"type":"string"},"position":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"description":{"type":["string","null"]}},"required":["company","position","startYear","endYear","description"],"additionalProperties":false}},"educations":{"type":"array","items":{"type":"object","properties":{"school":{"type":"string"},"department":{"type":"string"},"degree":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["school","department","degree","startYear","endYear"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"],"additionalProperties":false}},"certificates":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"issuer":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","issuer","year","url"],"additionalProperties":false}},"projects":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","description","year","url"],"additionalProperties":false}},"drivingLicenses":{"type":"array","items":{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]}},"militaryStatus":{"anyOf":[{"type":"string","enum":["DONE","EXEMPT","POSTPONED","NOT_DONE"]},{"type":"null"}]},"preferences":{"anyOf":[{"type":"object","properties":{"positions":{"type":"array","items":{"type":"string"}},"cities":{"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workTypes":{"type":"array","items":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},"expectedSalary":{"type":["number","null"]},"willingToRelocate":{"type":"boolean"}},"required":["positions","cities","workModels","workTypes","expectedSalary","willingToRelocate"],"additionalProperties":false},{"type":"null"}]},"avatarUrl":{"type":["string","null"]},"cvFile":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["name","uploadedAt"],"additionalProperties":false},{"type":"null"}]},"completion":{"type":"object","properties":{"percent":{"type":"number"},"missing":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["photo","title","city","experienceLevel","summary","skills","experiences","educations","languages","preferences","cvFile"]},"label":{"type":"string"}},"required":["key","label"],"additionalProperties":false}}},"required":["percent","missing"],"additionalProperties":false}},"required":["userId","fullName","email","phone","city","title","summary","experienceLevel","skills","experiences","educations","languages","certificates","projects","drivingLicenses","militaryStatus","preferences","avatarUrl","cvFile"],"additionalProperties":false,"x-ts-type":"CandidateProfile"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/cv.pdf":{"get":{"tags":["Me"],"summary":"Profilden üretilen ATS uyumlu CV PDF'i (lang=tr|en, contact, photo)","operationId":"getMeCv.pdf","parameters":[{"name":"lang","in":"query","required":false,"schema":{"default":"tr","type":"string","enum":["tr","en"]}},{"name":"contact","in":"query","required":false,"schema":{"type":"string"}},{"name":"photo","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `application/pdf`","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/notifications":{"get":{"tags":["Me"],"summary":"Bildirimler","operationId":"getMeNotifications","parameters":[],"responses":{"200":{"description":"Yanıt: `NotificationList`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"NotificationList"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/me/notifications/read-all":{"post":{"tags":["Me"],"summary":"Tüm bildirimleri okundu yap","operationId":"postMeNotificationsReadAll","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/me/notifications/{id}/read":{"post":{"tags":["Me"],"summary":"Bildirimi okundu yap","operationId":"postMeNotifications/IdRead","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/me/locale":{"patch":{"tags":["Me"],"summary":"Hesap dili (e-posta ve bildirimler; tr | en)","operationId":"patchMeLocale","parameters":[],"responses":{"200":{"description":"Yanıt: `User`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false,"x-ts-type":"User"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"locale":{"type":"string","enum":["tr","en"]}},"required":["locale"]}}}}}},"/me/push-token":{"put":{"tags":["Me"],"summary":"Expo push token kaydet","operationId":"putMePushToken","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","pattern":"^(Exponent|Expo)PushToken\\[.+\\]$"}},"required":["token"]}}}}},"delete":{"tags":["Me"],"summary":"Expo push token sil","operationId":"deleteMePushToken","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","pattern":"^(Exponent|Expo)PushToken\\[.+\\]$"}},"required":["token"]}}}}}},"/me/avatar":{"put":{"tags":["Me"],"summary":"Profil fotoğrafı yükle","operationId":"putMeAvatar","parameters":[],"responses":{"200":{"description":"Yanıt: `User`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false,"x-ts-type":"User"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","contentMediaType":"image/*"}}}}}}},"delete":{"tags":["Me"],"summary":"Profil fotoğrafını sil","operationId":"deleteMeAvatar","parameters":[],"responses":{"200":{"description":"Yanıt: `User`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false,"x-ts-type":"User"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/me/company/cover":{"put":{"tags":["Me"],"summary":"Şirket sayfası kapak görseli yükle (1600×500 WebP'ye kırpılır)","operationId":"putMeCompanyCover","parameters":[],"responses":{"200":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","contentMediaType":"image/*"}}}}}}},"delete":{"tags":["Me"],"summary":"Kapak görselini kaldır","operationId":"deleteMeCompanyCover","parameters":[],"responses":{"200":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit"}},"/me/company/logo":{"put":{"tags":["Me"],"summary":"Şirket logosu yükle","operationId":"putMeCompanyLogo","parameters":[],"responses":{"200":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","contentMediaType":"image/*"}}}}}}},"delete":{"tags":["Me"],"summary":"Şirket logosunu sil","operationId":"deleteMeCompanyLogo","parameters":[],"responses":{"200":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit"}},"/me/company/team":{"get":{"tags":["Team"],"summary":"Şirket ekibi (bekleyen davetler yalnızca team.manage ile)","operationId":"getMeCompanyTeam","parameters":[],"responses":{"200":{"description":"Yanıt: `CompanyTeam`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyTeam"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER"}},"/me/company/invites":{"post":{"tags":["Team"],"summary":"Ekibe e-posta ile davet gönder","operationId":"postMeCompanyInvites","parameters":[],"responses":{"201":{"description":"Yanıt: `CompanyTeam`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyTeam"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: team.manage (OWNER, ADMIN)","x-permission":"company:team.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"role":{"type":"string","enum":["ADMIN","RECRUITER","BILLING"]}},"required":["email","role"]}}}}}},"/me/company/invites/{id}":{"delete":{"tags":["Team"],"summary":"Bekleyen daveti iptal et","operationId":"deleteMeCompanyInvites/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CompanyTeam`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyTeam"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: team.manage (OWNER, ADMIN)","x-permission":"company:team.manage"}},"/me/company/members/{userId}":{"patch":{"tags":["Team"],"summary":"Üyenin rolünü değiştir; OWNER verilirse sahiplik devredilir (yalnızca sahip)","operationId":"patchMeCompanyMembers/UserId","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CompanyTeam`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyTeam"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: team.manage (OWNER, ADMIN)","x-permission":"company:team.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"role":{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]}},"required":["role"]}}}}},"delete":{"tags":["Team"],"summary":"Üyeyi çıkar (team.manage) veya ekipten ayrıl (kendi id'n)","operationId":"deleteMeCompanyMembers/UserId","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CompanyTeam`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyTeam"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER"}},"/invites/preview":{"post":{"tags":["Team"],"summary":"Davet bağlantısının bilgileri","operationId":"postInvitesPreview","parameters":[],"responses":{"200":{"description":"Yanıt: `InvitePreview`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"InvitePreview"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","minLength":20,"maxLength":200}},"required":["token"]}}}}}},"/invites/accept":{"post":{"tags":["Team"],"summary":"Daveti kabul et (yeni hesap veya oturumdaki işveren hesabı)","operationId":"postInvitesAccept","parameters":[],"responses":{"200":{"description":"Yanıt: `AuthResponse`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"fullName":{"type":"string"},"companyId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"companyRole":{"anyOf":[{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},{"type":"null"}]},"emailVerified":{"type":"boolean"},"termsAccepted":{"type":"boolean"},"avatarUrl":{"type":["string","null"]},"twoFactorEnabled":{"type":"boolean"},"locale":{"type":"string","enum":["tr","en"]}},"required":["id","email","role","fullName","companyId","companyRole","emailVerified","termsAccepted","avatarUrl","twoFactorEnabled"],"additionalProperties":false},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"refreshToken":{"type":"string"}},"required":["token","user"],"additionalProperties":false,"x-ts-type":"AuthResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","minLength":20,"maxLength":200},"fullName":{"type":"string","minLength":2,"maxLength":120},"password":{"type":"string","minLength":8,"maxLength":128},"acceptTerms":{"type":"boolean","const":true}},"required":["token"]}}}}}},"/occupations/popular":{"get":{"tags":["Career"],"summary":"Ana sayfa: en çok canlı ilanı olan meslekler (ilan sayısıyla, yalnızca en az bir ilanı olanlar; birkaç dakika önbellekli)","operationId":"getOccupationsPopular","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":8,"type":"integer","minimum":1,"maximum":12}}],"responses":{"200":{"description":"Yanıt: `PopularOccupation[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"PopularOccupation[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/occupations":{"get":{"tags":["Career"],"summary":"Meslekler rehberi (yayındakiler; metin, RIASEC tipi, kategori filtresi)","operationId":"getOccupations","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"riasec","in":"query","required":false,"schema":{"type":"string","enum":["R","I","A","S","E","C"]}},{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["Yazılım","Satış","Pazarlama","Finans","İnsan Kaynakları","Lojistik","Üretim","Sağlık","Eğitim","Müşteri Hizmetleri","Tasarım","Diğer"]}}],"responses":{"200":{"description":"Yanıt: `OccupationSummary[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"OccupationSummary[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/occupations/{slug}":{"get":{"tags":["Career"],"summary":"Meslek sayfası: içerik, açık ilan sayısı ve son ilanlar, benzer meslekler","operationId":"getOccupations/Slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `OccupationDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"OccupationDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}]}},"/occupations/{slug}/skill-gap":{"get":{"tags":["Occupations"],"summary":"Beceri açığı: CV'deki yeteneklerin mesleğin ve sonraki adım mesleklerin temel becerileriyle karşılaştırması","operationId":"getOccupations/SlugSkillGap","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `SkillGap`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SkillGap"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/tools/payroll-years":{"get":{"tags":["Career"],"summary":"Hesaplama araçlarının yıl parametreleri (vergi dilimleri, SGK oranları, asgari ücret, kıdem tavanı)","operationId":"getToolsPayrollYears","parameters":[],"responses":{"200":{"description":"Yanıt: `PayrollYear[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"PayrollYear[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/tools/salary":{"post":{"tags":["Career"],"summary":"Brütten nete / netten brüte maaş hesaplama (12 ay, kümülatif vergi, asgari ücret istisnası)","operationId":"postToolsSalary","parameters":[],"responses":{"200":{"description":"Yanıt: `SalaryResult`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SalaryResult"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"year":{"type":"integer","minimum":2000,"maximum":2100},"mode":{"type":"string","enum":["GROSS_TO_NET","NET_TO_GROSS"]},"amountKurus":{"type":"integer","minimum":1,"maximum":10000000000}},"required":["year","mode","amountKurus"]}}}}}},"/tools/severance":{"post":{"tags":["Career"],"summary":"Kıdem ve ihbar tazminatı hesaplama","operationId":"postToolsSeverance","parameters":[],"responses":{"200":{"description":"Yanıt: `SeveranceResult`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SeveranceResult"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"startDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"endDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"grossMonthlyKurus":{"type":"integer","minimum":1,"maximum":10000000000},"extraMonthlyKurus":{"default":0,"type":"integer","minimum":0,"maximum":10000000000},"cumulativeTaxBaseKurus":{"default":0,"type":"integer","minimum":0,"maximum":1000000000000}},"required":["startDate","endDate","grossMonthlyKurus"]}}}}}},"/assessments":{"get":{"tags":["Career"],"summary":"Kariyer testleri (\"Kariyer testleri yayında\" ayarı kapalıyken yalnızca içerik yöneticilerine)","operationId":"getAssessments","parameters":[],"responses":{"200":{"description":"Yanıt: `AssessmentSummary[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AssessmentSummary[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}]}},"/assessments/{slug}":{"get":{"tags":["Career"],"summary":"Test maddeleri ve cevap seçenekleri","operationId":"getAssessments/Slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `AssessmentDefinition`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AssessmentDefinition"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}]}},"/assessments/{slug}/results":{"post":{"tags":["Career"],"summary":"Cevapları puanla; giriş yapmış kullanıcıda sonucu kaydet (201)","operationId":"postAssessments/SlugResults","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `AssessmentResult`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AssessmentResult"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"answers":{"type":"object","propertyNames":{"type":"string","maxLength":10},"additionalProperties":{"type":"integer","minimum":0,"maximum":4}},"save":{"default":true,"type":"boolean"}},"required":["answers"]}}}}}},"/me/applications/{id}":{"get":{"tags":["Me"],"summary":"Başvurum ve durum geçmişi (yalnızca sahibi)","operationId":"getMeApplications/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ApplicationDetail`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]},"coverLetter":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"city":{"type":"string"},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false}},"required":["id","title","city","status","company"],"additionalProperties":false},"viewedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"history":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]},"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["status","at"],"additionalProperties":false}},"conversationId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"interviews":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"status":{"type":"string","enum":["SCHEDULED","CANCELLED","COMPLETED"]},"response":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED"]},"responseNote":{"type":["string","null"]},"cancelReason":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"scheduledBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","startsAt","endsAt","durationMinutes","mode","location","notes","status","response","responseNote","cancelReason","job","company","candidate","scheduledBy","createdAt"],"additionalProperties":false}},"offers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["SENT","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"salary":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryBasis":{"type":"string","enum":["GROSS","NET"]},"startDate":{"type":["string","null"]},"details":{"type":["string","null"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"responseNote":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","title","salary","salaryBasis","startDate","details","expiresAt","respondedAt","responseNote","job","company","candidate","createdAt"],"additionalProperties":false}}},"required":["id","status","coverLetter","createdAt","updatedAt","job","viewedAt","history","conversationId","interviews"],"additionalProperties":false,"x-ts-type":"ApplicationDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/dashboard":{"get":{"tags":["Me"],"summary":"Aday paneli istatistikleri (başvurular, dönüş oranı, kayıtlı ilan, takip, alarm)","operationId":"getMeDashboard","parameters":[],"responses":{"200":{"description":"Yanıt: `CandidateDashboard`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CandidateDashboard"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/profile-views":{"get":{"tags":["Me"],"summary":"CV'mi inceleyen firmalar (son 90 gün; aday sayfasını veya havuz profilini açan şirketler, gün başına tekil)","operationId":"getMeProfileViews","parameters":[],"responses":{"200":{"description":"Yanıt: `ProfileView[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ProfileView[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/followed-companies":{"get":{"tags":["Me"],"summary":"Takip ettiğim şirketler","operationId":"getMeFollowedCompanies","parameters":[],"responses":{"200":{"description":"Yanıt: `FollowedCompany[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"FollowedCompany[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/searches":{"get":{"tags":["Me"],"summary":"Son aramalarım (en yeni 10)","operationId":"getMeSearches","parameters":[],"responses":{"200":{"description":"Yanıt: `SearchHistoryEntry[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SearchHistoryEntry[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"post":{"tags":["Me"],"summary":"Aramayı son aramalara ekle (aynı kriter tek kayıt, en fazla 20, 90 gün)","operationId":"postMeSearches","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"q":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"category":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"workType":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},{"type":"null"}]},"workModel":{"anyOf":[{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]}}}}}}},"delete":{"tags":["Me"],"summary":"Son aramaları temizle","operationId":"deleteMeSearches","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/ai/status":{"get":{"tags":["Me"],"summary":"Kullanılabilir yapay zekâ yardımları (sistem anahtarı + API anahtarı; işveren için jobs.manage)","operationId":"getMeAiStatus","parameters":[],"responses":{"200":{"description":"Yanıt: `AiStatus`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cvSuggestion":{"type":"boolean"},"careerChat":{"type":"boolean"},"jobSuggestion":{"type":"boolean"}},"required":["cvSuggestion"],"additionalProperties":false,"x-ts-type":"AiStatus"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/me/ai/chat":{"post":{"tags":["Me"],"summary":"Yapay zekâ kariyer asistanı (K9): uygulama sohbeti her istekte gönderir, sunucuda saklanmaz; CV özeti (iletişim bilgisi olmadan) yalnızca açık rızayla eklenir. Saatte 30, günde 100 mesaj","operationId":"postMeAiChat","parameters":[],"responses":{"200":{"description":"Yanıt: `AiChatReply`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reply":{"type":"string"},"source":{"type":"string","const":"ai"}},"required":["reply","source"],"additionalProperties":false,"x-ts-type":"AiChatReply"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"messages":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":2000}},"required":["role","content"]}},"useCv":{"default":false,"type":"boolean"},"consent":{"type":"boolean"}},"required":["messages"]}}}}}},"/me/ai/job-suggestion":{"post":{"tags":["Employer"],"summary":"Yapıştırılan ilan metninden ilan formu önerisi (Phase 3.2; jobs.manage): açıklama işverenin metnidir, diğer alanlar okunur; kaydedilmez","operationId":"postMeAiJobSuggestion","parameters":[],"responses":{"200":{"description":"Yanıt: `AiJobSuggestion`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":["string","null"]},"description":{"type":"string"},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"additionalCities":{"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"category":{"anyOf":[{"type":"string","enum":["Yazılım","Satış","Pazarlama","Finans","İnsan Kaynakları","Lojistik","Üretim","Sağlık","Eğitim","Müşteri Hizmetleri","Tasarım","Diğer"]},{"type":"null"}]},"workType":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},{"type":"null"}]},"workModel":{"anyOf":[{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"salaryMin":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"salaryMax":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["text","type","required","preferredAnswer"],"additionalProperties":false}},"source":{"type":"string","const":"ai"}},"required":["title","description","city","additionalCities","category","workType","workModel","experienceLevel","salaryMin","salaryMax","benefits","questions","source"],"additionalProperties":false,"x-ts-type":"AiJobSuggestion"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: jobs.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:jobs.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","minLength":50,"maxLength":20000}},"required":["text"]}}}}}},"/me/ai/cv-suggestion":{"post":{"tags":["Me"],"summary":"Yüklü CV dosyasından profil önerisi (Phase 3.1): her istekte açık rıza; sonuç kaydedilmez, aday gözden geçirip kaydeder","operationId":"postMeAiCvSuggestion","parameters":[],"responses":{"200":{"description":"Yanıt: `AiCvSuggestion`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":["string","null"]},"summary":{"type":["string","null"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":"array","items":{"type":"string"}},"experiences":{"type":"array","items":{"type":"object","properties":{"company":{"type":"string"},"position":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"description":{"type":["string","null"]}},"required":["company","position","startYear","endYear","description"],"additionalProperties":false}},"educations":{"type":"array","items":{"type":"object","properties":{"school":{"type":"string"},"department":{"type":"string"},"degree":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["school","department","degree","startYear","endYear"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"],"additionalProperties":false}},"certificates":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"issuer":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","issuer","year","url"],"additionalProperties":false}},"source":{"type":"string","const":"ai"}},"required":["title","summary","city","experienceLevel","skills","experiences","educations","languages","certificates","source"],"additionalProperties":false,"x-ts-type":"AiCvSuggestion"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"consent":{"type":"boolean","const":true}},"required":["consent"]}}}}}},"/me/profile/ats-check":{"get":{"tags":["Me"],"summary":"CV'm ATS uyumlu mu (Phase 3.5): kural tabanlı kontroller ve ipuçları, PDF'in metin içerip içermediği, hedef pozisyondaki canlı ilanlarda sık geçip CV'de olmayan yetenekler","operationId":"getMeProfileAtsCheck","parameters":[],"responses":{"200":{"description":"Yanıt: `AtsCheck`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"score":{"type":"integer","minimum":0,"maximum":100},"checks":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["title","summary","skills","experiences","gaps","educations","contact","pdf","keywords"]},"label":{"type":"string"},"status":{"type":"string","enum":["ok","warn","fail"]},"tip":{"type":["string","null"]}},"required":["key","label","status","tip"],"additionalProperties":false}},"marketKeywords":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"jobs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","jobs"],"additionalProperties":false}},"marketJobs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["score","checks","marketKeywords","marketJobs"],"additionalProperties":false,"x-ts-type":"AtsCheck"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/cover-letters":{"get":{"tags":["Me"],"summary":"Kayıtlı ön yazılarım (başvururken seçilir; yalnızca sahibi görür)","operationId":"getMeCoverLetters","parameters":[],"responses":{"200":{"description":"Yanıt: `CoverLetter[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"body":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","body","updatedAt"],"additionalProperties":false},"x-ts-type":"CoverLetter[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"post":{"tags":["Me"],"summary":"Ön yazı kaydet (en fazla 10, ad tekil)","operationId":"postMeCoverLetters","parameters":[],"responses":{"201":{"description":"Yanıt: `CoverLetter[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"body":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","body","updatedAt"],"additionalProperties":false},"x-ts-type":"CoverLetter[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":80},"body":{"type":"string","minLength":1,"maxLength":5000}},"required":["title","body"]}}}}}},"/me/cover-letters/{id}":{"put":{"tags":["Me"],"summary":"Ön yazıyı güncelle","operationId":"putMeCoverLetters/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CoverLetter[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"body":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","body","updatedAt"],"additionalProperties":false},"x-ts-type":"CoverLetter[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":80},"body":{"type":"string","minLength":1,"maxLength":5000}},"required":["title","body"]}}}}},"delete":{"tags":["Me"],"summary":"Ön yazıyı sil","operationId":"deleteMeCoverLetters/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CoverLetter[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"body":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","body","updatedAt"],"additionalProperties":false},"x-ts-type":"CoverLetter[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/searches/{id}":{"delete":{"tags":["Me"],"summary":"Bir aramayı sil","operationId":"deleteMeSearches/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/companies/{id}/follow":{"put":{"tags":["Companies"],"summary":"Şirketi takip et (yeni ilanında bildirim)","operationId":"putCompanies/IdFollow","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"delete":{"tags":["Companies"],"summary":"Şirket takibini bırak","operationId":"deleteCompanies/IdFollow","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/companies/{id}/reviews":{"get":{"tags":["Companies"],"summary":"Şirketin yayındaki değerlendirmeleri (anonim; ay düzeyinde tarih) ve ortalamalar (her türden en az 3 değerlendirmeyle); `enabled: false` iken bölüm gizlenir","operationId":"getCompanies/IdReviews","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["EMPLOYEE","INTERVIEW"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"pageSize","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":20}}],"responses":{"200":{"description":"Yanıt: `CompanyReviewPage`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"enabled":{"type":"boolean"},"summary":{"type":"object","properties":{"employee":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"average":{"type":["number","null"]},"aspects":{"type":"object","properties":{"management":{"type":["number","null"]},"salary":{"type":["number","null"]},"workLife":{"type":["number","null"]},"career":{"type":["number","null"]},"culture":{"type":["number","null"]}},"required":["management","salary","workLife","career","culture"],"additionalProperties":false},"recommendRate":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]}},"required":["count","average","aspects","recommendRate"],"additionalProperties":false},"interview":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"averageDifficulty":{"type":["number","null"]},"positiveRate":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]}},"required":["count","averageDifficulty","positiveRate"],"additionalProperties":false}},"required":["employee","interview"],"additionalProperties":false},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["EMPLOYEE","INTERVIEW"]},"jobTitle":{"type":["string","null"]},"rating":{"type":"integer","minimum":1,"maximum":5},"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"verified":{"type":"boolean"},"employee":{"anyOf":[{"type":"object","properties":{"employment":{"type":"string","enum":["CURRENT","FORMER"]},"aspects":{"type":"object","properties":{"management":{"type":"integer","minimum":1,"maximum":5},"salary":{"type":"integer","minimum":1,"maximum":5},"workLife":{"type":"integer","minimum":1,"maximum":5},"career":{"type":"integer","minimum":1,"maximum":5},"culture":{"type":"integer","minimum":1,"maximum":5}},"additionalProperties":false},"pros":{"type":"string"},"cons":{"type":"string"},"recommends":{"type":["boolean","null"]}},"required":["employment","aspects","pros","cons","recommends"],"additionalProperties":false},{"type":"null"}]},"interview":{"anyOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["OFFER","REJECTED","NO_RESPONSE","WITHDREW"]},"difficulty":{"type":"integer","minimum":1,"maximum":5},"process":{"type":"string"},"questions":{"type":["string","null"]},"durationDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["outcome","difficulty","process","questions","durationDays"],"additionalProperties":false},{"type":"null"}]},"reply":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"repliedAt":{"type":"string"}},"required":["text","repliedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["id","kind","jobTitle","rating","month","verified","employee","interview","reply"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pageSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["enabled","summary","items","total","page","pageSize","totalPages"],"additionalProperties":false,"x-ts-type":"CompanyReviewPage"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]},"post":{"tags":["Companies"],"summary":"Çalışan ya da mülakat değerlendirmesi yaz (kişi, şirket ve tür başına bir; yeniden göndermek yerine geçer ve tekrar onaya düşer; e-posta doğrulaması gerekir)","operationId":"postCompanies/IdReviews","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `MyCompanyReview`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["EMPLOYEE","INTERVIEW"]},"jobTitle":{"type":["string","null"]},"rating":{"type":"integer","minimum":1,"maximum":5},"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"verified":{"type":"boolean"},"employee":{"anyOf":[{"type":"object","properties":{"employment":{"type":"string","enum":["CURRENT","FORMER"]},"aspects":{"type":"object","properties":{"management":{"type":"integer","minimum":1,"maximum":5},"salary":{"type":"integer","minimum":1,"maximum":5},"workLife":{"type":"integer","minimum":1,"maximum":5},"career":{"type":"integer","minimum":1,"maximum":5},"culture":{"type":"integer","minimum":1,"maximum":5}},"additionalProperties":false},"pros":{"type":"string"},"cons":{"type":"string"},"recommends":{"type":["boolean","null"]}},"required":["employment","aspects","pros","cons","recommends"],"additionalProperties":false},{"type":"null"}]},"interview":{"anyOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["OFFER","REJECTED","NO_RESPONSE","WITHDREW"]},"difficulty":{"type":"integer","minimum":1,"maximum":5},"process":{"type":"string"},"questions":{"type":["string","null"]},"durationDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["outcome","difficulty","process","questions","durationDays"],"additionalProperties":false},{"type":"null"}]},"reply":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"repliedAt":{"type":"string"}},"required":["text","repliedAt"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","PUBLISHED","REJECTED"]},"rejectionReason":{"type":["string","null"]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false}},"required":["id","kind","jobTitle","rating","month","verified","employee","interview","reply","status","rejectionReason","company"],"additionalProperties":false,"x-ts-type":"MyCompanyReview"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"EMPLOYEE"},"jobTitle":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"rating":{"type":"integer","minimum":1,"maximum":5},"guidelines":{"type":"boolean","const":true},"employment":{"type":"string","enum":["CURRENT","FORMER"]},"aspects":{"default":{},"type":"object","properties":{"management":{"type":"integer","minimum":1,"maximum":5},"salary":{"type":"integer","minimum":1,"maximum":5},"workLife":{"type":"integer","minimum":1,"maximum":5},"career":{"type":"integer","minimum":1,"maximum":5},"culture":{"type":"integer","minimum":1,"maximum":5}}},"pros":{"type":"string","minLength":20,"maxLength":2000},"cons":{"type":"string","minLength":20,"maxLength":2000},"recommends":{"type":["boolean","null"]}},"required":["kind","rating","guidelines","employment","pros","cons"]},{"type":"object","properties":{"kind":{"type":"string","const":"INTERVIEW"},"jobTitle":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"rating":{"type":"integer","minimum":1,"maximum":5},"guidelines":{"type":"boolean","const":true},"outcome":{"type":"string","enum":["OFFER","REJECTED","NO_RESPONSE","WITHDREW"]},"difficulty":{"type":"integer","minimum":1,"maximum":5},"process":{"type":"string","minLength":30,"maxLength":3000},"questions":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"durationDays":{"anyOf":[{"type":"integer","minimum":1,"maximum":365},{"type":"null"}]}},"required":["kind","rating","guidelines","outcome","difficulty","process"]}]}}}}}},"/me/career/requirements":{"get":{"tags":["Me"],"summary":"Faz A: hedef mesleğin beceri gereklilikleri (önem 1–3, kıdeme göre hedef seviye 1–5) ve adayın kendi seviyesi, CV'de olup olmadığı, kanıtı (taslak içerik)","operationId":"getMeCareerRequirements","parameters":[{"name":"occupation","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":120}},{"name":"seniority","in":"query","required":false,"schema":{"default":"MID","type":"string","enum":["JUNIOR","MID","SENIOR"]}}],"responses":{"200":{"description":"Yanıt: `CareerSkillRequirement[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"weight":{"type":"integer","minimum":1,"maximum":3},"critical":{"type":"boolean"},"targetLevel":{"type":"integer","minimum":1,"maximum":5},"declaredLevel":{"anyOf":[{"type":"integer","minimum":0,"maximum":5},{"type":"null"}]},"onCv":{"type":"boolean"},"evidence":{"type":"boolean"},"outcome":{"type":"string"}},"required":["skill","weight","critical","targetLevel","declaredLevel","onCv","evidence","outcome"],"additionalProperties":false},"x-ts-type":"CareerSkillRequirement[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/career/skill-levels":{"put":{"tags":["Me"],"summary":"Adayın beceri seviyesi beyanı (0–5; yalnızca mesleklerin istediği beceriler)","operationId":"putMeCareerSkillLevels","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"levels":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"skill":{"type":"string","minLength":1,"maxLength":80},"level":{"type":"integer","minimum":0,"maximum":5}},"required":["skill","level"]}}},"required":["levels"]}}}}}},"/me/career/roadmap":{"get":{"tags":["Me"],"summary":"Etkin yol haritası (yoksa null): öncelikli eksikler, haftalık görevler ve ilerleme, hazırlık oranı, uygun ilanlar","operationId":"getMeCareerRoadmap","parameters":[],"responses":{"200":{"description":"Yanıt: `CareerRoadmap | null`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"occupation":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"}},"required":["slug","title"],"additionalProperties":false},"seniority":{"type":"string","enum":["JUNIOR","MID","SENIOR"]},"weeks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hoursPerWeek":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"contentVersion":{"type":"string"},"reviewed":{"type":"boolean"},"createdAt":{"type":"string"},"archivedAt":{"type":["string","null"]},"readiness":{"type":"number","minimum":0,"maximum":1},"currentWeek":{"type":"integer","minimum":1,"maximum":9007199254740991},"gaps":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"weight":{"type":"integer","minimum":1,"maximum":3},"critical":{"type":"boolean"},"targetLevel":{"type":"integer","minimum":1,"maximum":5},"declaredLevel":{"anyOf":[{"type":"integer","minimum":0,"maximum":5},{"type":"null"}]},"onCv":{"type":"boolean"},"evidence":{"type":"boolean"},"outcome":{"type":"string"},"currentLevel":{"type":"integer","minimum":0,"maximum":5},"gap":{"type":"integer","minimum":0,"maximum":9007199254740991},"priority":{"type":"number"},"reason":{"type":"string"}},"required":["skill","weight","critical","targetLevel","declaredLevel","onCv","evidence","outcome","currentLevel","gap","priority","reason"],"additionalProperties":false}},"plan":{"type":"array","items":{"type":"object","properties":{"week":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hours":{"type":"number"},"tasks":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"kind":{"type":"string","enum":["LEARN","PRACTICE","PROVE","CV","APPLY"]},"skill":{"type":["string","null"]},"title":{"type":"string"},"detail":{"type":"string"},"criteria":{"type":"string"},"hours":{"type":"number","minimum":0},"after":{"type":"array","items":{"type":"string"}},"automatic":{"type":"boolean"},"done":{"type":"boolean"},"doneAt":{"type":["string","null"]},"note":{"type":["string","null"]},"evidenceUrl":{"type":["string","null"]}},"required":["key","kind","skill","title","detail","criteria","hours","after","automatic","done","doneAt","note","evidenceUrl"],"additionalProperties":false}}},"required":["week","hours","tasks"],"additionalProperties":false}},"leftOut":{"type":"array","items":{"type":"string"}},"progress":{"type":"object","properties":{"done":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["done","total"],"additionalProperties":false},"jobs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false}},"assumptions":{"type":"array","items":{"type":"string"}},"motivation":{"type":"object","properties":{"streakWeeks":{"type":"integer","minimum":0,"maximum":9007199254740991},"activeThisWeek":{"type":"boolean"},"badges":{"type":"array","items":{"type":"object","properties":{"badge":{"type":"string","enum":["FIRST_PLAN","FIRST_TASK","FIRST_PROOF","WEEK_DONE","HALFWAY","PLAN_DONE","STREAK_3","STREAK_6"]},"earnedAt":{"type":"string"}},"required":["badge","earnedAt"],"additionalProperties":false}}},"required":["streakWeeks","activeThisWeek","badges"],"additionalProperties":false}},"required":["id","version","occupation","seniority","weeks","hoursPerWeek","contentVersion","reviewed","createdAt","archivedAt","readiness","currentWeek","gaps","plan","leftOut","progress","jobs","assumptions","motivation"],"additionalProperties":false},{"type":"null"}],"x-ts-type":"CareerRoadmap | null"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/career/roadmaps":{"post":{"tags":["Me"],"summary":"Yeni yol haritası üret (4/8/12 hafta, haftalık saat); öncekini arşivler, tamamlanan görevler korunur. Kural tabanlı, yapay zekâsız","operationId":"postMeCareerRoadmaps","parameters":[],"responses":{"201":{"description":"Yanıt: `CareerRoadmap`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"occupation":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"}},"required":["slug","title"],"additionalProperties":false},"seniority":{"type":"string","enum":["JUNIOR","MID","SENIOR"]},"weeks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hoursPerWeek":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"contentVersion":{"type":"string"},"reviewed":{"type":"boolean"},"createdAt":{"type":"string"},"archivedAt":{"type":["string","null"]},"readiness":{"type":"number","minimum":0,"maximum":1},"currentWeek":{"type":"integer","minimum":1,"maximum":9007199254740991},"gaps":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"weight":{"type":"integer","minimum":1,"maximum":3},"critical":{"type":"boolean"},"targetLevel":{"type":"integer","minimum":1,"maximum":5},"declaredLevel":{"anyOf":[{"type":"integer","minimum":0,"maximum":5},{"type":"null"}]},"onCv":{"type":"boolean"},"evidence":{"type":"boolean"},"outcome":{"type":"string"},"currentLevel":{"type":"integer","minimum":0,"maximum":5},"gap":{"type":"integer","minimum":0,"maximum":9007199254740991},"priority":{"type":"number"},"reason":{"type":"string"}},"required":["skill","weight","critical","targetLevel","declaredLevel","onCv","evidence","outcome","currentLevel","gap","priority","reason"],"additionalProperties":false}},"plan":{"type":"array","items":{"type":"object","properties":{"week":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hours":{"type":"number"},"tasks":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"kind":{"type":"string","enum":["LEARN","PRACTICE","PROVE","CV","APPLY"]},"skill":{"type":["string","null"]},"title":{"type":"string"},"detail":{"type":"string"},"criteria":{"type":"string"},"hours":{"type":"number","minimum":0},"after":{"type":"array","items":{"type":"string"}},"automatic":{"type":"boolean"},"done":{"type":"boolean"},"doneAt":{"type":["string","null"]},"note":{"type":["string","null"]},"evidenceUrl":{"type":["string","null"]}},"required":["key","kind","skill","title","detail","criteria","hours","after","automatic","done","doneAt","note","evidenceUrl"],"additionalProperties":false}}},"required":["week","hours","tasks"],"additionalProperties":false}},"leftOut":{"type":"array","items":{"type":"string"}},"progress":{"type":"object","properties":{"done":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["done","total"],"additionalProperties":false},"jobs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false}},"assumptions":{"type":"array","items":{"type":"string"}},"motivation":{"type":"object","properties":{"streakWeeks":{"type":"integer","minimum":0,"maximum":9007199254740991},"activeThisWeek":{"type":"boolean"},"badges":{"type":"array","items":{"type":"object","properties":{"badge":{"type":"string","enum":["FIRST_PLAN","FIRST_TASK","FIRST_PROOF","WEEK_DONE","HALFWAY","PLAN_DONE","STREAK_3","STREAK_6"]},"earnedAt":{"type":"string"}},"required":["badge","earnedAt"],"additionalProperties":false}}},"required":["streakWeeks","activeThisWeek","badges"],"additionalProperties":false}},"required":["id","version","occupation","seniority","weeks","hoursPerWeek","contentVersion","reviewed","createdAt","archivedAt","readiness","currentWeek","gaps","plan","leftOut","progress","jobs","assumptions","motivation"],"additionalProperties":false,"x-ts-type":"CareerRoadmap"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"occupation":{"type":"string","minLength":1,"maxLength":120},"seniority":{"type":"string","enum":["JUNIOR","MID","SENIOR"]},"weeks":{"anyOf":[{"type":"number","const":4},{"type":"number","const":8},{"type":"number","const":12}]},"hoursPerWeek":{"type":"integer","minimum":2,"maximum":30}},"required":["occupation","seniority","weeks","hoursPerWeek"]}}}}},"get":{"tags":["Me"],"summary":"Yol haritası sürümleri (geçmiş)","operationId":"getMeCareerRoadmaps","parameters":[],"responses":{"200":{"description":"Yanıt: `CareerRoadmapSummary[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"occupation":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"}},"required":["slug","title"],"additionalProperties":false},"seniority":{"type":"string","enum":["JUNIOR","MID","SENIOR"]},"weeks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string"},"archivedAt":{"type":["string","null"]}},"required":["id","version","occupation","seniority","weeks","createdAt","archivedAt"],"additionalProperties":false},"x-ts-type":"CareerRoadmapSummary[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/career/roadmaps/{id}":{"get":{"tags":["Me"],"summary":"Bir yol haritası sürümü (başkasınınki 404)","operationId":"getMeCareerRoadmaps/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CareerRoadmap`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"occupation":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"}},"required":["slug","title"],"additionalProperties":false},"seniority":{"type":"string","enum":["JUNIOR","MID","SENIOR"]},"weeks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hoursPerWeek":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"contentVersion":{"type":"string"},"reviewed":{"type":"boolean"},"createdAt":{"type":"string"},"archivedAt":{"type":["string","null"]},"readiness":{"type":"number","minimum":0,"maximum":1},"currentWeek":{"type":"integer","minimum":1,"maximum":9007199254740991},"gaps":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"weight":{"type":"integer","minimum":1,"maximum":3},"critical":{"type":"boolean"},"targetLevel":{"type":"integer","minimum":1,"maximum":5},"declaredLevel":{"anyOf":[{"type":"integer","minimum":0,"maximum":5},{"type":"null"}]},"onCv":{"type":"boolean"},"evidence":{"type":"boolean"},"outcome":{"type":"string"},"currentLevel":{"type":"integer","minimum":0,"maximum":5},"gap":{"type":"integer","minimum":0,"maximum":9007199254740991},"priority":{"type":"number"},"reason":{"type":"string"}},"required":["skill","weight","critical","targetLevel","declaredLevel","onCv","evidence","outcome","currentLevel","gap","priority","reason"],"additionalProperties":false}},"plan":{"type":"array","items":{"type":"object","properties":{"week":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hours":{"type":"number"},"tasks":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"kind":{"type":"string","enum":["LEARN","PRACTICE","PROVE","CV","APPLY"]},"skill":{"type":["string","null"]},"title":{"type":"string"},"detail":{"type":"string"},"criteria":{"type":"string"},"hours":{"type":"number","minimum":0},"after":{"type":"array","items":{"type":"string"}},"automatic":{"type":"boolean"},"done":{"type":"boolean"},"doneAt":{"type":["string","null"]},"note":{"type":["string","null"]},"evidenceUrl":{"type":["string","null"]}},"required":["key","kind","skill","title","detail","criteria","hours","after","automatic","done","doneAt","note","evidenceUrl"],"additionalProperties":false}}},"required":["week","hours","tasks"],"additionalProperties":false}},"leftOut":{"type":"array","items":{"type":"string"}},"progress":{"type":"object","properties":{"done":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["done","total"],"additionalProperties":false},"jobs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false}},"assumptions":{"type":"array","items":{"type":"string"}},"motivation":{"type":"object","properties":{"streakWeeks":{"type":"integer","minimum":0,"maximum":9007199254740991},"activeThisWeek":{"type":"boolean"},"badges":{"type":"array","items":{"type":"object","properties":{"badge":{"type":"string","enum":["FIRST_PLAN","FIRST_TASK","FIRST_PROOF","WEEK_DONE","HALFWAY","PLAN_DONE","STREAK_3","STREAK_6"]},"earnedAt":{"type":"string"}},"required":["badge","earnedAt"],"additionalProperties":false}}},"required":["streakWeeks","activeThisWeek","badges"],"additionalProperties":false}},"required":["id","version","occupation","seniority","weeks","hoursPerWeek","contentVersion","reviewed","createdAt","archivedAt","readiness","currentWeek","gaps","plan","leftOut","progress","jobs","assumptions","motivation"],"additionalProperties":false,"x-ts-type":"CareerRoadmap"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/career/tasks/{key}":{"put":{"tags":["Me"],"summary":"Etkin plandaki görevi işaretle/kaldır; Kanıtla görevi bağlantı ya da açıklama ister, otomatik görevler (CV) elle işaretlenmez","operationId":"putMeCareerTasks/Key","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `CareerRoadmap`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"occupation":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"}},"required":["slug","title"],"additionalProperties":false},"seniority":{"type":"string","enum":["JUNIOR","MID","SENIOR"]},"weeks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hoursPerWeek":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"contentVersion":{"type":"string"},"reviewed":{"type":"boolean"},"createdAt":{"type":"string"},"archivedAt":{"type":["string","null"]},"readiness":{"type":"number","minimum":0,"maximum":1},"currentWeek":{"type":"integer","minimum":1,"maximum":9007199254740991},"gaps":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"weight":{"type":"integer","minimum":1,"maximum":3},"critical":{"type":"boolean"},"targetLevel":{"type":"integer","minimum":1,"maximum":5},"declaredLevel":{"anyOf":[{"type":"integer","minimum":0,"maximum":5},{"type":"null"}]},"onCv":{"type":"boolean"},"evidence":{"type":"boolean"},"outcome":{"type":"string"},"currentLevel":{"type":"integer","minimum":0,"maximum":5},"gap":{"type":"integer","minimum":0,"maximum":9007199254740991},"priority":{"type":"number"},"reason":{"type":"string"}},"required":["skill","weight","critical","targetLevel","declaredLevel","onCv","evidence","outcome","currentLevel","gap","priority","reason"],"additionalProperties":false}},"plan":{"type":"array","items":{"type":"object","properties":{"week":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hours":{"type":"number"},"tasks":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"kind":{"type":"string","enum":["LEARN","PRACTICE","PROVE","CV","APPLY"]},"skill":{"type":["string","null"]},"title":{"type":"string"},"detail":{"type":"string"},"criteria":{"type":"string"},"hours":{"type":"number","minimum":0},"after":{"type":"array","items":{"type":"string"}},"automatic":{"type":"boolean"},"done":{"type":"boolean"},"doneAt":{"type":["string","null"]},"note":{"type":["string","null"]},"evidenceUrl":{"type":["string","null"]}},"required":["key","kind","skill","title","detail","criteria","hours","after","automatic","done","doneAt","note","evidenceUrl"],"additionalProperties":false}}},"required":["week","hours","tasks"],"additionalProperties":false}},"leftOut":{"type":"array","items":{"type":"string"}},"progress":{"type":"object","properties":{"done":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["done","total"],"additionalProperties":false},"jobs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false}},"assumptions":{"type":"array","items":{"type":"string"}},"motivation":{"type":"object","properties":{"streakWeeks":{"type":"integer","minimum":0,"maximum":9007199254740991},"activeThisWeek":{"type":"boolean"},"badges":{"type":"array","items":{"type":"object","properties":{"badge":{"type":"string","enum":["FIRST_PLAN","FIRST_TASK","FIRST_PROOF","WEEK_DONE","HALFWAY","PLAN_DONE","STREAK_3","STREAK_6"]},"earnedAt":{"type":"string"}},"required":["badge","earnedAt"],"additionalProperties":false}}},"required":["streakWeeks","activeThisWeek","badges"],"additionalProperties":false}},"required":["id","version","occupation","seniority","weeks","hoursPerWeek","contentVersion","reviewed","createdAt","archivedAt","readiness","currentWeek","gaps","plan","leftOut","progress","jobs","assumptions","motivation"],"additionalProperties":false,"x-ts-type":"CareerRoadmap"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"done":{"type":"boolean"},"note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"evidenceUrl":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["done"]}}}}}},"/me/career/coach":{"post":{"tags":["Me"],"summary":"Faz C: etkin yol haritasının bu haftası için yapay zekâ önerisi (aiAssist açıkken; yalnızca plan özeti gönderilir — CV, not, kanıt bağlantısı, iletişim bilgisi yok; saklanmaz; günde 10)","operationId":"postMeCareerCoach","parameters":[],"responses":{"200":{"description":"Yanıt: `AiChatReply`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reply":{"type":"string"},"source":{"type":"string","const":"ai"}},"required":["reply","source"],"additionalProperties":false,"x-ts-type":"AiChatReply"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/external-applications":{"get":{"tags":["Me"],"summary":"Başvuru takip panosu: personel.net dışında yaptığım başvurular (yalnızca kendim görürüm; personel.net başvuruları `GET /me/applications`)","operationId":"getMeExternalApplications","parameters":[],"responses":{"200":{"description":"Yanıt: `ExternalApplication[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"companyName":{"type":"string"},"jobTitle":{"type":"string"},"url":{"type":["string","null"]},"city":{"type":["string","null"]},"stage":{"type":"string","enum":["WISHLIST","APPLIED","INTERVIEW","OFFER","CLOSED"]},"appliedAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"nextStepAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"nextStep":{"type":["string","null"]},"note":{"type":["string","null"]},"updatedAt":{"type":"string"}},"required":["id","companyName","jobTitle","url","city","stage","appliedAt","nextStepAt","nextStep","note","updatedAt"],"additionalProperties":false},"x-ts-type":"ExternalApplication[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"post":{"tags":["Me"],"summary":"Panoya dış başvuru ekle (en fazla 300)","operationId":"postMeExternalApplications","parameters":[],"responses":{"201":{"description":"Yanıt: `ExternalApplication`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"companyName":{"type":"string"},"jobTitle":{"type":"string"},"url":{"type":["string","null"]},"city":{"type":["string","null"]},"stage":{"type":"string","enum":["WISHLIST","APPLIED","INTERVIEW","OFFER","CLOSED"]},"appliedAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"nextStepAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"nextStep":{"type":["string","null"]},"note":{"type":["string","null"]},"updatedAt":{"type":"string"}},"required":["id","companyName","jobTitle","url","city","stage","appliedAt","nextStepAt","nextStep","note","updatedAt"],"additionalProperties":false,"x-ts-type":"ExternalApplication"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"companyName":{"type":"string","minLength":1,"maxLength":120},"jobTitle":{"type":"string","minLength":1,"maxLength":120},"url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}]},"stage":{"default":"APPLIED","type":"string","enum":["WISHLIST","APPLIED","INTERVIEW","OFFER","CLOSED"]},"appliedAt":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},{"type":"string","const":""}]},"nextStepAt":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},{"type":"string","const":""}]},"nextStep":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]}},"required":["companyName","jobTitle"]}}}}}},"/me/external-applications/{id}":{"put":{"tags":["Me"],"summary":"Dış başvuruyu düzenle (başkasınınki 404)","operationId":"putMeExternalApplications/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ExternalApplication`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"companyName":{"type":"string"},"jobTitle":{"type":"string"},"url":{"type":["string","null"]},"city":{"type":["string","null"]},"stage":{"type":"string","enum":["WISHLIST","APPLIED","INTERVIEW","OFFER","CLOSED"]},"appliedAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"nextStepAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"nextStep":{"type":["string","null"]},"note":{"type":["string","null"]},"updatedAt":{"type":"string"}},"required":["id","companyName","jobTitle","url","city","stage","appliedAt","nextStepAt","nextStep","note","updatedAt"],"additionalProperties":false,"x-ts-type":"ExternalApplication"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"companyName":{"type":"string","minLength":1,"maxLength":120},"jobTitle":{"type":"string","minLength":1,"maxLength":120},"url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}]},"stage":{"default":"APPLIED","type":"string","enum":["WISHLIST","APPLIED","INTERVIEW","OFFER","CLOSED"]},"appliedAt":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},{"type":"string","const":""}]},"nextStepAt":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},{"type":"string","const":""}]},"nextStep":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]}},"required":["companyName","jobTitle"]}}}}},"delete":{"tags":["Me"],"summary":"Dış başvuruyu panodan sil","operationId":"deleteMeExternalApplications/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/external-applications/{id}/stage":{"put":{"tags":["Me"],"summary":"Kartı başka sütuna taşı","operationId":"putMeExternalApplications/IdStage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ExternalApplication`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"companyName":{"type":"string"},"jobTitle":{"type":"string"},"url":{"type":["string","null"]},"city":{"type":["string","null"]},"stage":{"type":"string","enum":["WISHLIST","APPLIED","INTERVIEW","OFFER","CLOSED"]},"appliedAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"nextStepAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"nextStep":{"type":["string","null"]},"note":{"type":["string","null"]},"updatedAt":{"type":"string"}},"required":["id","companyName","jobTitle","url","city","stage","appliedAt","nextStepAt","nextStep","note","updatedAt"],"additionalProperties":false,"x-ts-type":"ExternalApplication"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"stage":{"type":"string","enum":["WISHLIST","APPLIED","INTERVIEW","OFFER","CLOSED"]}},"required":["stage"]}}}}}},"/me/reviews":{"get":{"tags":["Me"],"summary":"Yazdığım şirket değerlendirmeleri ve onay durumları","operationId":"getMeReviews","parameters":[],"responses":{"200":{"description":"Yanıt: `MyCompanyReview[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["EMPLOYEE","INTERVIEW"]},"jobTitle":{"type":["string","null"]},"rating":{"type":"integer","minimum":1,"maximum":5},"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"verified":{"type":"boolean"},"employee":{"anyOf":[{"type":"object","properties":{"employment":{"type":"string","enum":["CURRENT","FORMER"]},"aspects":{"type":"object","properties":{"management":{"type":"integer","minimum":1,"maximum":5},"salary":{"type":"integer","minimum":1,"maximum":5},"workLife":{"type":"integer","minimum":1,"maximum":5},"career":{"type":"integer","minimum":1,"maximum":5},"culture":{"type":"integer","minimum":1,"maximum":5}},"additionalProperties":false},"pros":{"type":"string"},"cons":{"type":"string"},"recommends":{"type":["boolean","null"]}},"required":["employment","aspects","pros","cons","recommends"],"additionalProperties":false},{"type":"null"}]},"interview":{"anyOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["OFFER","REJECTED","NO_RESPONSE","WITHDREW"]},"difficulty":{"type":"integer","minimum":1,"maximum":5},"process":{"type":"string"},"questions":{"type":["string","null"]},"durationDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["outcome","difficulty","process","questions","durationDays"],"additionalProperties":false},{"type":"null"}]},"reply":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"repliedAt":{"type":"string"}},"required":["text","repliedAt"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","PUBLISHED","REJECTED"]},"rejectionReason":{"type":["string","null"]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false}},"required":["id","kind","jobTitle","rating","month","verified","employee","interview","reply","status","rejectionReason","company"],"additionalProperties":false},"x-ts-type":"MyCompanyReview[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/reviews/{id}":{"delete":{"tags":["Me"],"summary":"Değerlendirmemi sil (başkasınınki 404)","operationId":"deleteMeReviews/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/company/reviews/{id}/reply":{"put":{"tags":["Company"],"summary":"Şirketin yayındaki değerlendirmesine herkese açık yanıt (başka şirketinki 404)","operationId":"putMeCompanyReviews/IdReply","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CompanyReview`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["EMPLOYEE","INTERVIEW"]},"jobTitle":{"type":["string","null"]},"rating":{"type":"integer","minimum":1,"maximum":5},"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"verified":{"type":"boolean"},"employee":{"anyOf":[{"type":"object","properties":{"employment":{"type":"string","enum":["CURRENT","FORMER"]},"aspects":{"type":"object","properties":{"management":{"type":"integer","minimum":1,"maximum":5},"salary":{"type":"integer","minimum":1,"maximum":5},"workLife":{"type":"integer","minimum":1,"maximum":5},"career":{"type":"integer","minimum":1,"maximum":5},"culture":{"type":"integer","minimum":1,"maximum":5}},"additionalProperties":false},"pros":{"type":"string"},"cons":{"type":"string"},"recommends":{"type":["boolean","null"]}},"required":["employment","aspects","pros","cons","recommends"],"additionalProperties":false},{"type":"null"}]},"interview":{"anyOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["OFFER","REJECTED","NO_RESPONSE","WITHDREW"]},"difficulty":{"type":"integer","minimum":1,"maximum":5},"process":{"type":"string"},"questions":{"type":["string","null"]},"durationDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["outcome","difficulty","process","questions","durationDays"],"additionalProperties":false},{"type":"null"}]},"reply":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"repliedAt":{"type":"string"}},"required":["text","repliedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["id","kind","jobTitle","rating","month","verified","employee","interview","reply"],"additionalProperties":false,"x-ts-type":"CompanyReview"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","minLength":10,"maxLength":1500}},"required":["text"]}}}}},"delete":{"tags":["Company"],"summary":"Şirket yanıtını kaldır","operationId":"deleteMeCompanyReviews/IdReply","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CompanyReview`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["EMPLOYEE","INTERVIEW"]},"jobTitle":{"type":["string","null"]},"rating":{"type":"integer","minimum":1,"maximum":5},"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"verified":{"type":"boolean"},"employee":{"anyOf":[{"type":"object","properties":{"employment":{"type":"string","enum":["CURRENT","FORMER"]},"aspects":{"type":"object","properties":{"management":{"type":"integer","minimum":1,"maximum":5},"salary":{"type":"integer","minimum":1,"maximum":5},"workLife":{"type":"integer","minimum":1,"maximum":5},"career":{"type":"integer","minimum":1,"maximum":5},"culture":{"type":"integer","minimum":1,"maximum":5}},"additionalProperties":false},"pros":{"type":"string"},"cons":{"type":"string"},"recommends":{"type":["boolean","null"]}},"required":["employment","aspects","pros","cons","recommends"],"additionalProperties":false},{"type":"null"}]},"interview":{"anyOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["OFFER","REJECTED","NO_RESPONSE","WITHDREW"]},"difficulty":{"type":"integer","minimum":1,"maximum":5},"process":{"type":"string"},"questions":{"type":["string","null"]},"durationDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["outcome","difficulty","process","questions","durationDays"],"additionalProperties":false},{"type":"null"}]},"reply":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"repliedAt":{"type":"string"}},"required":["text","repliedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["id","kind","jobTitle","rating","month","verified","employee","interview","reply"],"additionalProperties":false,"x-ts-type":"CompanyReview"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit"}},"/admin/reviews":{"get":{"tags":["Admin"],"summary":"Şirket değerlendirmeleri (varsayılan: onay bekleyenler, eskiden yeniye)","operationId":"getAdminReviews","parameters":[{"name":"status","in":"query","required":false,"schema":{"default":"PENDING","type":"string","enum":["PENDING","PUBLISHED","REJECTED"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"pageSize","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Yanıt: `Paginated<AdminCompanyReview>`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["EMPLOYEE","INTERVIEW"]},"jobTitle":{"type":["string","null"]},"rating":{"type":"integer","minimum":1,"maximum":5},"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"verified":{"type":"boolean"},"employee":{"anyOf":[{"type":"object","properties":{"employment":{"type":"string","enum":["CURRENT","FORMER"]},"aspects":{"type":"object","properties":{"management":{"type":"integer","minimum":1,"maximum":5},"salary":{"type":"integer","minimum":1,"maximum":5},"workLife":{"type":"integer","minimum":1,"maximum":5},"career":{"type":"integer","minimum":1,"maximum":5},"culture":{"type":"integer","minimum":1,"maximum":5}},"additionalProperties":false},"pros":{"type":"string"},"cons":{"type":"string"},"recommends":{"type":["boolean","null"]}},"required":["employment","aspects","pros","cons","recommends"],"additionalProperties":false},{"type":"null"}]},"interview":{"anyOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["OFFER","REJECTED","NO_RESPONSE","WITHDREW"]},"difficulty":{"type":"integer","minimum":1,"maximum":5},"process":{"type":"string"},"questions":{"type":["string","null"]},"durationDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["outcome","difficulty","process","questions","durationDays"],"additionalProperties":false},{"type":"null"}]},"reply":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"repliedAt":{"type":"string"}},"required":["text","repliedAt"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","PUBLISHED","REJECTED"]},"rejectionReason":{"type":["string","null"]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"authorId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string"}},"required":["id","kind","jobTitle","rating","month","verified","employee","interview","reply","status","rejectionReason","company","authorId","createdAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pageSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items","total","page","pageSize","totalPages"],"additionalProperties":false,"x-ts-type":"Paginated<AdminCompanyReview>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: reviews.moderate","x-permission":"reviews.moderate"}},"/admin/reviews/{id}/decide":{"post":{"tags":["Admin"],"summary":"Değerlendirmeyi yayınla ya da gerekçeyle reddet / yayından kaldır (yazara bildirim)","operationId":"postAdminReviews/IdDecide","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminCompanyReview`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["EMPLOYEE","INTERVIEW"]},"jobTitle":{"type":["string","null"]},"rating":{"type":"integer","minimum":1,"maximum":5},"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"verified":{"type":"boolean"},"employee":{"anyOf":[{"type":"object","properties":{"employment":{"type":"string","enum":["CURRENT","FORMER"]},"aspects":{"type":"object","properties":{"management":{"type":"integer","minimum":1,"maximum":5},"salary":{"type":"integer","minimum":1,"maximum":5},"workLife":{"type":"integer","minimum":1,"maximum":5},"career":{"type":"integer","minimum":1,"maximum":5},"culture":{"type":"integer","minimum":1,"maximum":5}},"additionalProperties":false},"pros":{"type":"string"},"cons":{"type":"string"},"recommends":{"type":["boolean","null"]}},"required":["employment","aspects","pros","cons","recommends"],"additionalProperties":false},{"type":"null"}]},"interview":{"anyOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["OFFER","REJECTED","NO_RESPONSE","WITHDREW"]},"difficulty":{"type":"integer","minimum":1,"maximum":5},"process":{"type":"string"},"questions":{"type":["string","null"]},"durationDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["outcome","difficulty","process","questions","durationDays"],"additionalProperties":false},{"type":"null"}]},"reply":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"repliedAt":{"type":"string"}},"required":["text","repliedAt"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","PUBLISHED","REJECTED"]},"rejectionReason":{"type":["string","null"]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"authorId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string"}},"required":["id","kind","jobTitle","rating","month","verified","employee","interview","reply","status","rejectionReason","company","authorId","createdAt"],"additionalProperties":false,"x-ts-type":"AdminCompanyReview"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: reviews.moderate","x-permission":"reviews.moderate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"approve":{"type":"boolean"},"reason":{"type":"string","maxLength":500}},"required":["approve"]}}}}}},"/me/company/dashboard":{"get":{"tags":["Employer"],"summary":"İşveren paneli göstergeleri (ilanlar, başvurular, görüntülenme, en çok başvuru alan ilanlar, son başvurular)","operationId":"getMeCompanyDashboard","parameters":[],"responses":{"200":{"description":"Yanıt: `EmployerDashboard`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"EmployerDashboard"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/verification":{"get":{"tags":["Employer"],"summary":"Şirket doğrulama durumu (rozet, son talep, alan adı doğrulaması yapılabilir mi)","operationId":"getMeCompanyVerification","parameters":[],"responses":{"200":{"description":"Yanıt: `CompanyVerificationState`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyVerificationState"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit"}},"/me/company/verification/domain":{"post":{"tags":["Employer"],"summary":"Alan adıyla anında doğrula: doğrulanmış, ücretsiz olmayan e-postanız web sitesinin alan adında olmalı","operationId":"postMeCompanyVerificationDomain","parameters":[],"responses":{"200":{"description":"Yanıt: `CompanyVerificationState`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyVerificationState"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit"}},"/me/company/verification/document":{"post":{"tags":["Employer"],"summary":"Vergi levhası yükle (PDF/JPEG/PNG, en fazla 5 MB); ekibimiz inceler","operationId":"postMeCompanyVerificationDocument","parameters":[],"responses":{"201":{"description":"Yanıt: `CompanyVerificationState`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyVerificationState"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: company.edit (OWNER, ADMIN)","x-permission":"company:company.edit","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file","taxNumber","taxOffice"],"properties":{"file":{"type":"string","format":"binary","contentMediaType":"application/pdf, image/jpeg, image/png"},"taxNumber":{"type":"string","pattern":"^\\d{10,11}$"},"taxOffice":{"type":"string","minLength":2,"maxLength":80}}}}}}}},"/me/company/talent":{"get":{"tags":["Employer"],"summary":"Aday havuzu: açık rıza veren adaylarda arama (ünvan/özet/yetenek metni, şehir, deneyim, yetenekler, ehliyet sınıfı); iletişim bilgisi yok","operationId":"getMeCompanyTalent","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"city","in":"query","required":false,"schema":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},{"name":"experienceLevel","in":"query","required":false,"schema":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]}},{"name":"drivingLicense","in":"query","required":false,"schema":{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]}},{"name":"skills","in":"query","required":false,"schema":{"type":"string","maxLength":300}},{"name":"saved","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Yanıt: `Paginated<TalentCard>`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"title":{"type":["string","null"]},"city":{"type":["string","null"]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":"array","items":{"type":"string"}},"avatarUrl":{"type":["string","null"]},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"applied":{"type":"boolean"},"saved":{"type":"boolean"},"anonymous":{"type":"boolean"}},"required":["userId","fullName","title","city","experienceLevel","skills","avatarUrl","updatedAt","applied","saved","anonymous"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pageSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items","total","page","pageSize","totalPages"],"additionalProperties":false,"x-ts-type":"Paginated<TalentCard>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/talent/alerts":{"get":{"tags":["Employer"],"summary":"Aday alarmları: kayıtlı aday havuzu aramaları (havuza yeni katılan uygun adaylar günde bir bildirilir)","operationId":"getMeCompanyTalentAlerts","parameters":[],"responses":{"200":{"description":"Yanıt: `TalentAlert[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"q":{"type":["string","null"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":["string","null"]},"drivingLicense":{"anyOf":[{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","q","city","experienceLevel","skills","drivingLicense","createdAt"],"additionalProperties":false},"x-ts-type":"TalentAlert[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"},"post":{"tags":["Employer"],"summary":"Aday alarmı kur (şirket başına en fazla 10; en az bir kriter)","operationId":"postMeCompanyTalentAlerts","parameters":[],"responses":{"201":{"description":"Yanıt: `TalentAlert[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"q":{"type":["string","null"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":["string","null"]},"drivingLicense":{"anyOf":[{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","q","city","experienceLevel","skills","drivingLicense","createdAt"],"additionalProperties":false},"x-ts-type":"TalentAlert[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"q":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"drivingLicense":{"anyOf":[{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]},{"type":"null"}]}}}}}}}},"/me/company/talent/alerts/{id}":{"delete":{"tags":["Employer"],"summary":"Aday alarmını sil","operationId":"deleteMeCompanyTalentAlerts/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `TalentAlert[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"q":{"type":["string","null"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":["string","null"]},"drivingLicense":{"anyOf":[{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","q","city","experienceLevel","skills","drivingLicense","createdAt"],"additionalProperties":false},"x-ts-type":"TalentAlert[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/talent/{userId}":{"get":{"tags":["Employer"],"summary":"Havuzdaki adayın CV'si (iletişim ve CV dosyası olmadan; görüntüleme denetim kaydına yazılır)","operationId":"getMeCompanyTalent/UserId","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `TalentProfile`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"title":{"type":["string","null"]},"city":{"type":["string","null"]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":"array","items":{"type":"string"}},"avatarUrl":{"type":["string","null"]},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"applied":{"type":"boolean"},"saved":{"type":"boolean"},"anonymous":{"type":"boolean"},"summary":{"type":["string","null"]},"experiences":{"type":"array","items":{"type":"object","properties":{"company":{"type":"string"},"position":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"description":{"type":["string","null"]}},"required":["company","position","startYear","endYear","description"],"additionalProperties":false}},"educations":{"type":"array","items":{"type":"object","properties":{"school":{"type":"string"},"department":{"type":"string"},"degree":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["school","department","degree","startYear","endYear"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"],"additionalProperties":false}},"certificates":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"issuer":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","issuer","year","url"],"additionalProperties":false}},"projects":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","description","year","url"],"additionalProperties":false}},"drivingLicenses":{"type":"array","items":{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]}},"militaryStatus":{"anyOf":[{"type":"string","enum":["DONE","EXEMPT","POSTPONED","NOT_DONE"]},{"type":"null"}]},"invitedTo":{"type":"array","items":{"type":"object","properties":{"jobId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["jobId","title","at"],"additionalProperties":false}},"preferences":{"anyOf":[{"type":"object","properties":{"positions":{"type":"array","items":{"type":"string"}},"cities":{"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workTypes":{"type":"array","items":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},"willingToRelocate":{"type":"boolean"}},"required":["positions","cities","workModels","workTypes","willingToRelocate"],"additionalProperties":false},{"type":"null"}]},"contactRequest":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]}},"required":["id","status"],"additionalProperties":false},{"type":"null"}]}},"required":["userId","fullName","title","city","experienceLevel","skills","avatarUrl","updatedAt","applied","saved","anonymous","summary","experiences","educations","languages","certificates","projects","drivingLicenses","militaryStatus","invitedTo","preferences","contactRequest"],"additionalProperties":false,"x-ts-type":"TalentProfile"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/talent/{userId}/invite":{"post":{"tags":["Employer"],"summary":"Adayı yayındaki bir ilana başvurmaya davet et (ilan ve aday başına bir kez; adaya bildirim)","operationId":"postMeCompanyTalent/UserIdInvite","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `TalentProfile`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"title":{"type":["string","null"]},"city":{"type":["string","null"]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"skills":{"type":"array","items":{"type":"string"}},"avatarUrl":{"type":["string","null"]},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"applied":{"type":"boolean"},"saved":{"type":"boolean"},"anonymous":{"type":"boolean"},"summary":{"type":["string","null"]},"experiences":{"type":"array","items":{"type":"object","properties":{"company":{"type":"string"},"position":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"description":{"type":["string","null"]}},"required":["company","position","startYear","endYear","description"],"additionalProperties":false}},"educations":{"type":"array","items":{"type":"object","properties":{"school":{"type":"string"},"department":{"type":"string"},"degree":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["school","department","degree","startYear","endYear"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"],"additionalProperties":false}},"certificates":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"issuer":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","issuer","year","url"],"additionalProperties":false}},"projects":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["name","description","year","url"],"additionalProperties":false}},"drivingLicenses":{"type":"array","items":{"type":"string","enum":["M","A1","A2","A","B1","B","BE","C1","C1E","C","CE","D1","D1E","D","DE","F","G"]}},"militaryStatus":{"anyOf":[{"type":"string","enum":["DONE","EXEMPT","POSTPONED","NOT_DONE"]},{"type":"null"}]},"invitedTo":{"type":"array","items":{"type":"object","properties":{"jobId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["jobId","title","at"],"additionalProperties":false}},"preferences":{"anyOf":[{"type":"object","properties":{"positions":{"type":"array","items":{"type":"string"}},"cities":{"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workTypes":{"type":"array","items":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]}},"willingToRelocate":{"type":"boolean"}},"required":["positions","cities","workModels","workTypes","willingToRelocate"],"additionalProperties":false},{"type":"null"}]},"contactRequest":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]}},"required":["id","status"],"additionalProperties":false},{"type":"null"}]}},"required":["userId","fullName","title","city","experienceLevel","skills","avatarUrl","updatedAt","applied","saved","anonymous","summary","experiences","educations","languages","certificates","projects","drivingLicenses","militaryStatus","invitedTo","preferences","contactRequest"],"additionalProperties":false,"x-ts-type":"TalentProfile"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"jobId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"message":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["jobId"]}}}}}},"/me/company/talent/{userId}/save":{"put":{"tags":["Employer"],"summary":"Aday havuzundaki adayı şirketin listesine kaydet (liste: GET /me/company/talent?saved=true; aday görünürlüğü kapatınca kayıt silinir)","operationId":"putMeCompanyTalent/UserIdSave","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ saved: boolean }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ saved: boolean }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"},"delete":{"tags":["Employer"],"summary":"Kaydedilen adayı listeden çıkar","operationId":"deleteMeCompanyTalent/UserIdSave","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ saved: boolean }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ saved: boolean }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/talent/visibility":{"get":{"tags":["Me"],"summary":"Aday havuzu gizlilik ayarları: görünürlük, anonim mod, engellenen şirketler, CV'deki işverenlerden öneriler, rıza geçmişi","operationId":"getMeTalentVisibility","parameters":[],"responses":{"200":{"description":"Yanıt: `TalentVisibility`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"searchable":{"type":"boolean"},"since":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"anonymous":{"type":"boolean"},"blocked":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"blockedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","blockedAt"],"additionalProperties":false}},"suggested":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"granted":{"type":"boolean"},"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["granted","at"],"additionalProperties":false}}},"required":["searchable","since","anonymous","blocked","suggested","history"],"additionalProperties":false,"x-ts-type":"TalentVisibility"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"put":{"tags":["Me"],"summary":"Aday havuzunda görünürlüğü (açık rıza kaydı tutulur) ve/veya anonim modu aç/kapat","operationId":"putMeTalentVisibility","parameters":[],"responses":{"200":{"description":"Yanıt: `TalentVisibility`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"searchable":{"type":"boolean"},"since":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"anonymous":{"type":"boolean"},"blocked":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"blockedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","blockedAt"],"additionalProperties":false}},"suggested":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"granted":{"type":"boolean"},"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["granted","at"],"additionalProperties":false}}},"required":["searchable","since","anonymous","blocked","suggested","history"],"additionalProperties":false,"x-ts-type":"TalentVisibility"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"searchable":{"type":"boolean"},"anonymous":{"type":"boolean"}}}}}}}},"/me/talent/companies":{"get":{"tags":["Me"],"summary":"Engellemek için şirket ara (ada göre, en fazla 10)","operationId":"getMeTalentCompanies","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":80}}],"responses":{"200":{"description":"Yanıt: `Array<{ id, name }>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Array<{ id, name }>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/talent/blocks/{companyId}":{"put":{"tags":["Me"],"summary":"Şirketi engelle: şirket adayı havuzda, profilde ve aday alarmlarında göremez (en fazla 20)","operationId":"putMeTalentBlocks/CompanyId","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `TalentVisibility`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"searchable":{"type":"boolean"},"since":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"anonymous":{"type":"boolean"},"blocked":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"blockedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","blockedAt"],"additionalProperties":false}},"suggested":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"granted":{"type":"boolean"},"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["granted","at"],"additionalProperties":false}}},"required":["searchable","since","anonymous","blocked","suggested","history"],"additionalProperties":false,"x-ts-type":"TalentVisibility"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"delete":{"tags":["Me"],"summary":"Şirket engelini kaldır","operationId":"deleteMeTalentBlocks/CompanyId","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `TalentVisibility`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"searchable":{"type":"boolean"},"since":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"anonymous":{"type":"boolean"},"blocked":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"blockedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","blockedAt"],"additionalProperties":false}},"suggested":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"granted":{"type":"boolean"},"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["granted","at"],"additionalProperties":false}}},"required":["searchable","since","anonymous","blocked","suggested","history"],"additionalProperties":false,"x-ts-type":"TalentVisibility"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/company/talent/{userId}/contact":{"post":{"tags":["Employer"],"summary":"Havuzdaki adaya iletişim talebi (pozisyon, çalışma modeli, net ücret aralığı; aday kabul etmeden bilgi paylaşılmaz; 30 günde 50, retten sonra 90 gün bekleme)","operationId":"postMeCompanyTalent/UserIdContact","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `ContactRequest`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"message":{"type":"string"},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"salaryMin":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryMax":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"job":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},{"type":"null"}]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"title":{"type":["string","null"]}},"required":["userId","fullName","title"],"additionalProperties":false},"reply":{"type":["string","null"]},"contact":{"anyOf":[{"type":"object","properties":{"email":{"type":["string","null"]},"phone":{"type":["string","null"]}},"required":["email","phone"],"additionalProperties":false},{"type":"null"}]},"shareEmail":{"type":"boolean"},"sharePhone":{"type":"boolean"},"fit":{"anyOf":[{"type":"object","properties":{"salary":{"type":["boolean","null"]},"workModel":{"type":["boolean","null"]},"city":{"type":["boolean","null"]}},"required":["salary","workModel","city"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["id","status","title","message","workModel","city","salaryMin","salaryMax","job","company","candidate","reply","contact","shareEmail","sharePhone","fit","createdAt","expiresAt","respondedAt"],"additionalProperties":false,"x-ts-type":"ContactRequest"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":120},"message":{"type":"string","minLength":20,"maxLength":1000},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"salaryMin":{"type":"integer","minimum":100000,"maximum":100000000},"salaryMax":{"type":"integer","minimum":100000,"maximum":100000000},"jobId":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["title","message","workModel","salaryMin","salaryMax"]}}}}}},"/me/company/contact-requests":{"get":{"tags":["Employer"],"summary":"Şirketin iletişim talepleri (kabul edenlerin paylaştığı e-posta/telefon dahil)","operationId":"getMeCompanyContactRequests","parameters":[],"responses":{"200":{"description":"Yanıt: `ContactRequest[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"message":{"type":"string"},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"salaryMin":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryMax":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"job":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},{"type":"null"}]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"title":{"type":["string","null"]}},"required":["userId","fullName","title"],"additionalProperties":false},"reply":{"type":["string","null"]},"contact":{"anyOf":[{"type":"object","properties":{"email":{"type":["string","null"]},"phone":{"type":["string","null"]}},"required":["email","phone"],"additionalProperties":false},{"type":"null"}]},"shareEmail":{"type":"boolean"},"sharePhone":{"type":"boolean"},"fit":{"anyOf":[{"type":"object","properties":{"salary":{"type":["boolean","null"]},"workModel":{"type":["boolean","null"]},"city":{"type":["boolean","null"]}},"required":["salary","workModel","city"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["id","status","title","message","workModel","city","salaryMin","salaryMax","job","company","candidate","reply","contact","shareEmail","sharePhone","fit","createdAt","expiresAt","respondedAt"],"additionalProperties":false},"x-ts-type":"ContactRequest[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/contact-requests/{id}/withdraw":{"post":{"tags":["Employer"],"summary":"Yanıt bekleyen iletişim talebini geri çek","operationId":"postMeCompanyContactRequests/IdWithdraw","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ContactRequest`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"message":{"type":"string"},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"salaryMin":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryMax":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"job":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},{"type":"null"}]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"title":{"type":["string","null"]}},"required":["userId","fullName","title"],"additionalProperties":false},"reply":{"type":["string","null"]},"contact":{"anyOf":[{"type":"object","properties":{"email":{"type":["string","null"]},"phone":{"type":["string","null"]}},"required":["email","phone"],"additionalProperties":false},{"type":"null"}]},"shareEmail":{"type":"boolean"},"sharePhone":{"type":"boolean"},"fit":{"anyOf":[{"type":"object","properties":{"salary":{"type":["boolean","null"]},"workModel":{"type":["boolean","null"]},"city":{"type":["boolean","null"]}},"required":["salary","workModel","city"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["id","status","title","message","workModel","city","salaryMin","salaryMax","job","company","candidate","reply","contact","shareEmail","sharePhone","fit","createdAt","expiresAt","respondedAt"],"additionalProperties":false,"x-ts-type":"ContactRequest"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/contact-requests":{"get":{"tags":["Me"],"summary":"İşverenlerden gelen iletişim talepleri (tercihlerime uyum bilgisiyle)","operationId":"getMeContactRequests","parameters":[],"responses":{"200":{"description":"Yanıt: `ContactRequest[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"message":{"type":"string"},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"salaryMin":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryMax":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"job":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},{"type":"null"}]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"title":{"type":["string","null"]}},"required":["userId","fullName","title"],"additionalProperties":false},"reply":{"type":["string","null"]},"contact":{"anyOf":[{"type":"object","properties":{"email":{"type":["string","null"]},"phone":{"type":["string","null"]}},"required":["email","phone"],"additionalProperties":false},{"type":"null"}]},"shareEmail":{"type":"boolean"},"sharePhone":{"type":"boolean"},"fit":{"anyOf":[{"type":"object","properties":{"salary":{"type":["boolean","null"]},"workModel":{"type":["boolean","null"]},"city":{"type":["boolean","null"]}},"required":["salary","workModel","city"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["id","status","title","message","workModel","city","salaryMin","salaryMax","job","company","candidate","reply","contact","shareEmail","sharePhone","fit","createdAt","expiresAt","respondedAt"],"additionalProperties":false},"x-ts-type":"ContactRequest[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/contact-requests/{id}/answer":{"post":{"tags":["Me"],"summary":"İletişim talebini kabul et (isteğe bağlı e-posta/telefon paylaşımı) ya da reddet","operationId":"postMeContactRequests/IdAnswer","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ContactRequest`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"message":{"type":"string"},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"salaryMin":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryMax":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"job":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},{"type":"null"}]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"title":{"type":["string","null"]}},"required":["userId","fullName","title"],"additionalProperties":false},"reply":{"type":["string","null"]},"contact":{"anyOf":[{"type":"object","properties":{"email":{"type":["string","null"]},"phone":{"type":["string","null"]}},"required":["email","phone"],"additionalProperties":false},{"type":"null"}]},"shareEmail":{"type":"boolean"},"sharePhone":{"type":"boolean"},"fit":{"anyOf":[{"type":"object","properties":{"salary":{"type":["boolean","null"]},"workModel":{"type":["boolean","null"]},"city":{"type":["boolean","null"]}},"required":["salary","workModel","city"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["id","status","title","message","workModel","city","salaryMin","salaryMax","job","company","candidate","reply","contact","shareEmail","sharePhone","fit","createdAt","expiresAt","respondedAt"],"additionalProperties":false,"x-ts-type":"ContactRequest"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"accept":{"type":"boolean"},"reply":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"shareEmail":{"default":false,"type":"boolean"},"sharePhone":{"default":false,"type":"boolean"}},"required":["accept"]}}}}}},"/me/contact-requests/{id}/share":{"put":{"tags":["Me"],"summary":"Kabul edilen talepte paylaşılan iletişim bilgilerini değiştir","operationId":"putMeContactRequests/IdShare","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ContactRequest`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"message":{"type":"string"},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"city":{"anyOf":[{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},{"type":"null"}]},"salaryMin":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryMax":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"job":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},{"type":"null"}]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"title":{"type":["string","null"]}},"required":["userId","fullName","title"],"additionalProperties":false},"reply":{"type":["string","null"]},"contact":{"anyOf":[{"type":"object","properties":{"email":{"type":["string","null"]},"phone":{"type":["string","null"]}},"required":["email","phone"],"additionalProperties":false},{"type":"null"}]},"shareEmail":{"type":"boolean"},"sharePhone":{"type":"boolean"},"fit":{"anyOf":[{"type":"object","properties":{"salary":{"type":["boolean","null"]},"workModel":{"type":["boolean","null"]},"city":{"type":["boolean","null"]}},"required":["salary","workModel","city"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["id","status","title","message","workModel","city","salaryMin","salaryMax","job","company","candidate","reply","contact","shareEmail","sharePhone","fit","createdAt","expiresAt","respondedAt"],"additionalProperties":false,"x-ts-type":"ContactRequest"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"shareEmail":{"type":"boolean"},"sharePhone":{"type":"boolean"}},"required":["shareEmail","sharePhone"]}}}}}},"/me/talent/invites":{"get":{"tags":["Me"],"summary":"İşverenlerden gelen ilan davetleri","operationId":"getMeTalentInvites","parameters":[],"responses":{"200":{"description":"Yanıt: `Array<{ id, job, company, message, createdAt }>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Array<{ id, job, company, message, createdAt }>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/company/reports":{"get":{"tags":["Employer"],"summary":"Raporlar: dönem içinde ilan bazında görüntülenme, başvuru, değerlendirme, mülakat, teklif, olumsuz ve medyan ilk yanıt süresi","operationId":"getMeCompanyReports","parameters":[{"name":"days","in":"query","required":false,"schema":{"default":30,"type":"number"}}],"responses":{"200":{"description":"Yanıt: `CompanyReport`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyReport"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/reports.csv":{"get":{"tags":["Employer"],"summary":"Aynı rapor CSV olarak (noktalı virgüllü, Excel uyumlu)","operationId":"getMeCompanyReports.csv","parameters":[{"name":"days","in":"query","required":false,"schema":{"default":30,"type":"number"}}],"responses":{"200":{"description":"Yanıt: `text/csv`","content":{"text/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/candidates":{"get":{"tags":["Employer"],"summary":"Şirketin tüm ilanlarına başvuran adaylar (ad/ünvan, durum, ilan, ön eleme uyarısı filtreleri)","operationId":"getMeCompanyCandidates","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]}},{"name":"jobId","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"name":"flagged","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"tag","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":1000}},{"name":"pageSize","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Yanıt: `Paginated<CompanyCandidateRow>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Paginated<CompanyCandidateRow>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/candidates/{userId}":{"get":{"tags":["Employer"],"summary":"Aday detayı: CV, şirkete yaptığı başvurular, ekibin notları (yalnızca şirkete başvurmuş adaylar)","operationId":"getMeCompanyCandidates/UserId","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CompanyCandidateDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CompanyCandidateDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/candidates/{userId}/notes":{"post":{"tags":["Employer"],"summary":"Adaya şirket içi not ekle (aday görmez)","operationId":"postMeCompanyCandidates/UserIdNotes","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `CandidateNote[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CandidateNote[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":2000}},"required":["body"]}}}}}},"/me/company/candidates/{userId}/notes/{noteId}":{"delete":{"tags":["Employer"],"summary":"Notu sil (yazan veya ekip yöneticisi)","operationId":"deleteMeCompanyCandidates/UserIdNotes/NoteId","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"noteId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CandidateNote[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CandidateNote[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/tags":{"get":{"tags":["Employer"],"summary":"Şirketin aday etiketleri ve kullanım sayıları","operationId":"getMeCompanyTags","parameters":[],"responses":{"200":{"description":"Yanıt: `CandidateTag[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","name","count"],"additionalProperties":false},"x-ts-type":"CandidateTag[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"},"post":{"tags":["Employer"],"summary":"Aday etiketi oluştur (şirket başına en fazla 50, ad büyük/küçük harf duyarsız tekil)","operationId":"postMeCompanyTags","parameters":[],"responses":{"201":{"description":"Yanıt: `CandidateTag[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","name","count"],"additionalProperties":false},"x-ts-type":"CandidateTag[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":30}},"required":["name"]}}}}}},"/me/company/tags/{id}":{"patch":{"tags":["Employer"],"summary":"Etiketi yeniden adlandır","operationId":"patchMeCompanyTags/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CandidateTag[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","name","count"],"additionalProperties":false},"x-ts-type":"CandidateTag[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":30}},"required":["name"]}}}}},"delete":{"tags":["Employer"],"summary":"Etiketi sil (adaylardan da kalkar)","operationId":"deleteMeCompanyTags/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CandidateTag[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","name","count"],"additionalProperties":false},"x-ts-type":"CandidateTag[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/message-templates":{"get":{"tags":["Employer"],"summary":"Ekibin mesaj şablonları ({aday}, {ilan}, {firma} yer tutucuları gönderirken doldurulur)","operationId":"getMeCompanyMessageTemplates","parameters":[],"responses":{"200":{"description":"Yanıt: `MessageTemplate[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"body":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","body","updatedAt"],"additionalProperties":false},"x-ts-type":"MessageTemplate[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"},"post":{"tags":["Employer"],"summary":"Mesaj şablonu ekle (şirket başına en fazla 50, ad tekil)","operationId":"postMeCompanyMessageTemplates","parameters":[],"responses":{"201":{"description":"Yanıt: `MessageTemplate[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"body":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","body","updatedAt"],"additionalProperties":false},"x-ts-type":"MessageTemplate[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":80},"body":{"type":"string","minLength":1,"maxLength":2000}},"required":["title","body"]}}}}}},"/me/company/message-templates/{id}":{"put":{"tags":["Employer"],"summary":"Mesaj şablonunu güncelle","operationId":"putMeCompanyMessageTemplates/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `MessageTemplate[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"body":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","body","updatedAt"],"additionalProperties":false},"x-ts-type":"MessageTemplate[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":80},"body":{"type":"string","minLength":1,"maxLength":2000}},"required":["title","body"]}}}}},"delete":{"tags":["Employer"],"summary":"Mesaj şablonunu sil","operationId":"deleteMeCompanyMessageTemplates/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `MessageTemplate[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"body":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","body","updatedAt"],"additionalProperties":false},"x-ts-type":"MessageTemplate[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/stages":{"get":{"tags":["Employer"],"summary":"Şirketin işe alım aşamaları (pano sırası, aşamadaki başvuru sayısı)","operationId":"getMeCompanyStages","parameters":[],"responses":{"200":{"description":"Yanıt: `PipelineStage[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED"]},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","name","status","position","count"],"additionalProperties":false},"x-ts-type":"PipelineStage[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"},"post":{"tags":["Employer"],"summary":"İşe alım aşaması oluştur (bir temel durumun altında; şirket başına en fazla 20)","operationId":"postMeCompanyStages","parameters":[],"responses":{"201":{"description":"Yanıt: `PipelineStage[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED"]},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","name","status","position","count"],"additionalProperties":false},"x-ts-type":"PipelineStage[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED"]}},"required":["name","status"]}}}}}},"/me/company/stages/order":{"put":{"tags":["Employer"],"summary":"Aşamaları sırala (şirketin tüm aşama numaraları, yeni sırayla)","operationId":"putMeCompanyStagesOrder","parameters":[],"responses":{"200":{"description":"Yanıt: `PipelineStage[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED"]},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","name","status","position","count"],"additionalProperties":false},"x-ts-type":"PipelineStage[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ids":{"maxItems":20,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}}},"required":["ids"]}}}}}},"/me/company/stages/{id}":{"patch":{"tags":["Employer"],"summary":"Aşamayı yeniden adlandır","operationId":"patchMeCompanyStages/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `PipelineStage[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED"]},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","name","status","position","count"],"additionalProperties":false},"x-ts-type":"PipelineStage[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40}},"required":["name"]}}}}},"delete":{"tags":["Employer"],"summary":"Aşamayı sil (içindeki başvurular aynı durumda, aşamasız kalır)","operationId":"deleteMeCompanyStages/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `PipelineStage[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED"]},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","name","status","position","count"],"additionalProperties":false},"x-ts-type":"PipelineStage[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/candidates/{userId}/tags":{"put":{"tags":["Employer"],"summary":"Adayın etiketlerini belirle (yalnızca şirkete başvurmuş aday; aday görmez)","operationId":"putMeCompanyCandidates/UserIdTags","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CandidateTagRef[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CandidateTagRef[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"tagIds":{"maxItems":10,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}}},"required":["tagIds"]}}}}}},"/reports":{"post":{"tags":["Reports"],"summary":"İlan veya şirketi şikâyet et (kişi başı hedef başına bir açık şikâyet)","operationId":"postReports","parameters":[],"responses":{"201":{"description":"Yanıt: `{ id: number }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ id: number }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"targetType":{"type":"string","enum":["JOB","COMPANY","AD"]},"targetId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"reason":{"type":"string","enum":["FRAUD","MONEY_REQUEST","PERSONAL_DATA","MISLEADING","DISCRIMINATION","INAPPROPRIATE","DUPLICATE","NOT_HIRING","OTHER"]},"details":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["targetType","targetId","reason"]}}}}}},"/me/assessments":{"get":{"tags":["Career"],"summary":"Test sonuçlarım","operationId":"getMeAssessments","parameters":[],"responses":{"200":{"description":"Yanıt: `AssessmentAttemptSummary[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AssessmentAttemptSummary[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/me/assessments/{id}":{"get":{"tags":["Career"],"summary":"Test sonucum (yalnızca sahibi)","operationId":"getMeAssessments/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AssessmentResult`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AssessmentResult"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]},"delete":{"tags":["Career"],"summary":"Test sonucumu sil","operationId":"deleteMeAssessments/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/analytics/events":{"post":{"tags":["Analytics"],"summary":"İstemcinin bildirdiği görüntüleme/arama olayı (kişisel veri içermez)","operationId":"postAnalyticsEvents","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"type":"object","properties":{"event":{"type":"string","const":"job_viewed"},"jobId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["event","jobId"]},{"type":"object","properties":{"event":{"type":"string","const":"job_shared"},"jobId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"channel":{"type":"string","enum":["whatsapp","linkedin","x","facebook","email","copy","native"]}},"required":["event","jobId","channel"]},{"type":"object","properties":{"event":{"type":"string","const":"job_searched"},"hasQuery":{"type":"boolean"},"city":{"type":"string","maxLength":80},"category":{"type":"string","maxLength":80},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"page":{"type":"integer","minimum":1,"maximum":1000},"resultCount":{"type":"integer","minimum":0,"maximum":1000000}},"required":["event","hasQuery","page","resultCount"]}]}}}}}},"/me/privacy/consents":{"get":{"tags":["Privacy"],"summary":"Onay geçmişim (kullanım şartları, aydınlatma metni)","operationId":"getMePrivacyConsents","parameters":[],"responses":{"200":{"description":"Yanıt: `ConsentRecord[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ConsentRecord[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]},"post":{"tags":["Privacy"],"summary":"Güncel kullanım şartlarını ve aydınlatma metnini onayla","operationId":"postMePrivacyConsents","parameters":[],"responses":{"201":{"description":"Yanıt: `ConsentRecord[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ConsentRecord[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"accept":{"type":"boolean","const":true}},"required":["accept"]}}}}}},"/me/privacy/export":{"get":{"tags":["Privacy"],"summary":"Hakkımdaki tüm verileri JSON olarak indir (KVKK m.11)","operationId":"getMePrivacyExport","parameters":[],"responses":{"200":{"description":"Yanıt: `application/json`","content":{"application/json":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/me/privacy/delete-account":{"post":{"tags":["Privacy"],"summary":"Hesabımı sil: kişisel veriler silinir, hesap anonimleştirilir (şifre gerekir; personel hesapları hariç)","operationId":"postMePrivacyDeleteAccount","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"password":{"type":"string","minLength":1,"maxLength":128}},"required":["password"]}}}}}},"/me/alerts":{"get":{"tags":["Alerts"],"summary":"İş alarmlarım","operationId":"getMeAlerts","parameters":[],"responses":{"200":{"description":"Yanıt: `JobAlert[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"JobAlert[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"post":{"tags":["Alerts"],"summary":"İş alarmı kur","operationId":"postMeAlerts","parameters":[],"responses":{"201":{"description":"Yanıt: `JobAlert`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"JobAlert"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"q":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"category":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"workType":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},{"type":"null"}]},"workModel":{"anyOf":[{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"disabilityFriendly":{"type":"boolean"},"frequency":{"default":"DAILY","type":"string","enum":["INSTANT","DAILY","WEEKLY"]},"emailEnabled":{"default":true,"type":"boolean"}}}}}}}},"/me/alerts/{id}":{"put":{"tags":["Alerts"],"summary":"İş alarmını güncelle","operationId":"putMeAlerts/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `JobAlert`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"JobAlert"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"q":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"category":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"workType":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},{"type":"null"}]},"workModel":{"anyOf":[{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},{"type":"null"}]},"experienceLevel":{"anyOf":[{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},{"type":"null"}]},"disabilityFriendly":{"type":"boolean"},"frequency":{"default":"DAILY","type":"string","enum":["INSTANT","DAILY","WEEKLY"]},"emailEnabled":{"default":true,"type":"boolean"}}}}}}},"delete":{"tags":["Alerts"],"summary":"İş alarmını sil","operationId":"deleteMeAlerts/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/recommendations":{"get":{"tags":["Me"],"summary":"Sana uygun ilanlar: CV ve tercihlere göre kural tabanlı puanlama, her öneri gerekçeleriyle (yapay zekâ değil; başvurulanlar hariç)","operationId":"getMeRecommendations","parameters":[],"responses":{"200":{"description":"Yanıt: `JobRecommendation[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"JobRecommendation[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/conversations":{"get":{"tags":["Messages"],"summary":"Konuşmalarım (aday: kendi başvuruları; işveren: şirketin, applications.manage) ve okunmamış sayısı","operationId":"getMeConversations","parameters":[],"responses":{"200":{"description":"Yanıt: `ConversationList`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ConversationList"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER"}},"/me/conversations/unread":{"get":{"tags":["Messages"],"summary":"Okunmamış mesaj sayısı","operationId":"getMeConversationsUnread","parameters":[],"responses":{"200":{"description":"Yanıt: `{ unread: number }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ unread: number }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER"}},"/conversations/{id}":{"get":{"tags":["Messages"],"summary":"Konuşmayı aç (mesajlar eskiden yeniye; karşı tarafın mesajları okundu sayılır). Başkasınınki 404","operationId":"getConversations/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ConversationDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ConversationDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER"}},"/conversations/{id}/messages":{"post":{"tags":["Messages"],"summary":"Konuşmaya mesaj yaz","operationId":"postConversations/IdMessages","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `ConversationDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ConversationDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":2000}},"required":["body"]}}}}}},"/applications/{id}/conversation":{"post":{"tags":["Messages"],"summary":"Adaya başvurusu üzerinden mesaj gönder (ilk mesaj konuşmayı başlatır; yalnızca işveren)","operationId":"postApplications/IdConversation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `ConversationDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ConversationDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":2000}},"required":["body"]}}}}}},"/me/interviews":{"get":{"tags":["Interviews"],"summary":"Mülakatlarım (aday: kendi; işveren: şirketin) — scope=upcoming (yaklaşan) | past (geçmiş/iptal)","operationId":"getMeInterviews","parameters":[{"name":"scope","in":"query","required":false,"schema":{"default":"upcoming","type":"string","enum":["upcoming","past"]}}],"responses":{"200":{"description":"Yanıt: `Interview[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"status":{"type":"string","enum":["SCHEDULED","CANCELLED","COMPLETED"]},"response":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED"]},"responseNote":{"type":["string","null"]},"cancelReason":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"scheduledBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","startsAt","endsAt","durationMinutes","mode","location","notes","status","response","responseNote","cancelReason","job","company","candidate","scheduledBy","createdAt"],"additionalProperties":false},"x-ts-type":"Interview[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER"}},"/applications/{id}/interviews":{"post":{"tags":["Interviews"],"summary":"Başvuruya mülakat planla (yeni başvuru \"Mülakat\" aşamasına geçer, adaya bildirim gider)","operationId":"postApplications/IdInterviews","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `Interview`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"status":{"type":"string","enum":["SCHEDULED","CANCELLED","COMPLETED"]},"response":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED"]},"responseNote":{"type":["string","null"]},"cancelReason":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"scheduledBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","startsAt","endsAt","durationMinutes","mode","location","notes","status","response","responseNote","cancelReason","job","company","candidate","scheduledBy","createdAt"],"additionalProperties":false,"x-ts-type":"Interview"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"durationMinutes":{"type":"integer","minimum":15,"maximum":480},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["startsAt","durationMinutes","mode"]}}}}}},"/applications/{id}/interview-proposals":{"post":{"tags":["Interviews"],"summary":"Mülakat için 2–5 zaman öner (başvuru başına bir açık öneri); aday birini seçince mülakat oluşur","operationId":"postApplications/IdInterviewProposals","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `InterviewProposal`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["OPEN","BOOKED","DECLINED","CANCELLED","EXPIRED"]},"slots":{"type":"array","items":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"responseNote":{"type":["string","null"]},"interviewId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","slots","durationMinutes","mode","location","notes","responseNote","interviewId","job","company","candidate","createdBy","createdAt"],"additionalProperties":false,"x-ts-type":"InterviewProposal"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"slots":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"durationMinutes":{"type":"integer","minimum":15,"maximum":480},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["slots","durationMinutes","mode"]}}}}}},"/me/interview-proposals":{"get":{"tags":["Interviews"],"summary":"Mülakat zaman önerileri (açık ve son 30 günde kapananlar; aday: kendisine gelenler, şirket: ekibin gönderdikleri)","operationId":"getMeInterviewProposals","parameters":[],"responses":{"200":{"description":"Yanıt: `InterviewProposal[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["OPEN","BOOKED","DECLINED","CANCELLED","EXPIRED"]},"slots":{"type":"array","items":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"responseNote":{"type":["string","null"]},"interviewId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","slots","durationMinutes","mode","location","notes","responseNote","interviewId","job","company","candidate","createdBy","createdAt"],"additionalProperties":false},"x-ts-type":"InterviewProposal[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/interview-proposals/{id}/book":{"post":{"tags":["Interviews"],"summary":"Aday: önerilen zamanlardan birini seç (mülakat kabul edilmiş olarak oluşur)","operationId":"postInterviewProposals/IdBook","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ proposal: InterviewProposal; interview: Interview }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ proposal: InterviewProposal; interview: Interview }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["startsAt"]}}}}}},"/interview-proposals/{id}/decline":{"post":{"tags":["Interviews"],"summary":"Aday: önerilen zamanların hiçbiri uymuyor","operationId":"postInterviewProposals/IdDecline","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `InterviewProposal`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["OPEN","BOOKED","DECLINED","CANCELLED","EXPIRED"]},"slots":{"type":"array","items":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"responseNote":{"type":["string","null"]},"interviewId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","slots","durationMinutes","mode","location","notes","responseNote","interviewId","job","company","candidate","createdBy","createdAt"],"additionalProperties":false,"x-ts-type":"InterviewProposal"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}}}}}}}},"/interview-proposals/{id}/cancel":{"post":{"tags":["Interviews"],"summary":"Şirket: açık öneriyi geri al","operationId":"postInterviewProposals/IdCancel","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `InterviewProposal`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["OPEN","BOOKED","DECLINED","CANCELLED","EXPIRED"]},"slots":{"type":"array","items":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"responseNote":{"type":["string","null"]},"interviewId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","slots","durationMinutes","mode","location","notes","responseNote","interviewId","job","company","candidate","createdBy","createdAt"],"additionalProperties":false,"x-ts-type":"InterviewProposal"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/interviews/{id}":{"patch":{"tags":["Interviews"],"summary":"Mülakatı yeniden planla (aday yeniden yanıtlar), iptal et veya tamamlandı işaretle","operationId":"patchInterviews/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Interview`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"status":{"type":"string","enum":["SCHEDULED","CANCELLED","COMPLETED"]},"response":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED"]},"responseNote":{"type":["string","null"]},"cancelReason":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"scheduledBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","startsAt","endsAt","durationMinutes","mode","location","notes","status","response","responseNote","cancelReason","job","company","candidate","scheduledBy","createdAt"],"additionalProperties":false,"x-ts-type":"Interview"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"durationMinutes":{"type":"integer","minimum":15,"maximum":480},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["startsAt","durationMinutes","mode"]},{"type":"object","properties":{"status":{"type":"string","enum":["CANCELLED","COMPLETED"]},"reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["status"]}]}}}}}},"/interviews/{id}/respond":{"post":{"tags":["Interviews"],"summary":"Aday: mülakata katılacağım / katılamayacağım","operationId":"postInterviews/IdRespond","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Interview`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mode":{"type":"string","enum":["ONLINE","ONSITE","PHONE"]},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"status":{"type":"string","enum":["SCHEDULED","CANCELLED","COMPLETED"]},"response":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED"]},"responseNote":{"type":["string","null"]},"cancelReason":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"scheduledBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","startsAt","endsAt","durationMinutes","mode","location","notes","status","response","responseNote","cancelReason","job","company","candidate","scheduledBy","createdAt"],"additionalProperties":false,"x-ts-type":"Interview"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"response":{"type":"string","enum":["ACCEPTED","DECLINED"]},"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["response"]}}}}}},"/interviews/{id}/calendar.ics":{"get":{"tags":["Interviews"],"summary":"Takvim dosyası (iCalendar; güncellemede aynı UID ve artan SEQUENCE)","operationId":"getInterviews/IdCalendar.ics","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `text/calendar`","content":{"text/calendar":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER"}},"/interviews/{id}/scorecards":{"get":{"tags":["Interviews"],"summary":"Mülakat değerlendirme kartları ve ortalamalar (yalnızca şirketin işe alım ekibi)","operationId":"getInterviews/IdScorecards","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `InterviewScorecards`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"InterviewScorecards"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/interviews/{id}/scorecards/me":{"put":{"tags":["Interviews"],"summary":"Kendi değerlendirme kartımı kaydet (mülakat başladıktan sonra; iptal edilende olmaz)","operationId":"putInterviews/IdScorecardsMe","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `InterviewScorecards`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"InterviewScorecards"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ratings":{"type":"object","propertyNames":{"type":"string","enum":["TECHNICAL","COMMUNICATION","PROBLEM_SOLVING","TEAMWORK","MOTIVATION"]},"additionalProperties":{"type":"integer","minimum":1,"maximum":5}},"recommendation":{"type":"string","enum":["STRONG_NO","NO","YES","STRONG_YES"]},"notes":{"anyOf":[{"type":"string","maxLength":3000},{"type":"null"}]}},"required":["ratings","recommendation"]}}}}},"delete":{"tags":["Interviews"],"summary":"Kendi değerlendirme kartımı sil","operationId":"deleteInterviews/IdScorecardsMe","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `InterviewScorecards`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"InterviewScorecards"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/applications/{id}/offers":{"post":{"tags":["Offers"],"summary":"Başvuruya iş teklifi gönder (başvuruda yanıt bekleyen teklif varsa 409; başvuru 'Teklif Verildi' olur)","operationId":"postApplications/IdOffers","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `JobOffer`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["SENT","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"salary":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryBasis":{"type":"string","enum":["GROSS","NET"]},"startDate":{"type":["string","null"]},"details":{"type":["string","null"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"responseNote":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","title","salary","salaryBasis","startDate","details","expiresAt","respondedAt","responseNote","job","company","candidate","createdAt"],"additionalProperties":false,"x-ts-type":"JobOffer"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":150},"salary":{"type":"integer","minimum":100,"maximum":10000000000},"salaryBasis":{"type":"string","enum":["GROSS","NET"]},"startDate":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"details":{"anyOf":[{"type":"string","maxLength":3000},{"type":"null"}]},"expiresOn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["title","salary","salaryBasis","expiresOn"]}}}}}},"/me/offers":{"get":{"tags":["Offers"],"summary":"Aday: aldığım teklifler; işveren: şirketin teklifleri","operationId":"getMeOffers","parameters":[],"responses":{"200":{"description":"Yanıt: `JobOffer[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["SENT","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"salary":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryBasis":{"type":"string","enum":["GROSS","NET"]},"startDate":{"type":["string","null"]},"details":{"type":["string","null"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"responseNote":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","title","salary","salaryBasis","startDate","details","expiresAt","respondedAt","responseNote","job","company","candidate","createdAt"],"additionalProperties":false},"x-ts-type":"JobOffer[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER"}},"/offers/{id}":{"get":{"tags":["Offers"],"summary":"Teklif ayrıntısı (adayın kendisi ya da şirketin işe alım ekibi; diğerlerine 404)","operationId":"getOffers/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `JobOffer`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["SENT","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"salary":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryBasis":{"type":"string","enum":["GROSS","NET"]},"startDate":{"type":["string","null"]},"details":{"type":["string","null"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"responseNote":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","title","salary","salaryBasis","startDate","details","expiresAt","respondedAt","responseNote","job","company","candidate","createdAt"],"additionalProperties":false,"x-ts-type":"JobOffer"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER"}},"/offers/{id}/respond":{"post":{"tags":["Offers"],"summary":"Teklifi kabul et / reddet (süresi dolmamış, yanıt bekleyen teklif)","operationId":"postOffers/IdRespond","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `JobOffer`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["SENT","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"salary":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryBasis":{"type":"string","enum":["GROSS","NET"]},"startDate":{"type":["string","null"]},"details":{"type":["string","null"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"responseNote":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","title","salary","salaryBasis","startDate","details","expiresAt","respondedAt","responseNote","job","company","candidate","createdAt"],"additionalProperties":false,"x-ts-type":"JobOffer"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"response":{"type":"string","enum":["ACCEPTED","DECLINED"]},"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["response"]}}}}}},"/offers/{id}/withdraw":{"post":{"tags":["Offers"],"summary":"Yanıt bekleyen teklifi geri çek","operationId":"postOffers/IdWithdraw","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `JobOffer`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicationId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["SENT","ACCEPTED","DECLINED","WITHDRAWN","EXPIRED"]},"title":{"type":"string"},"salary":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"salaryBasis":{"type":"string","enum":["GROSS","NET"]},"startDate":{"type":["string","null"]},"details":{"type":["string","null"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"respondedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"responseNote":{"type":["string","null"]},"job":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","logoUrl"],"additionalProperties":false},"candidate":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["userId","fullName"],"additionalProperties":false},"createdBy":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","applicationId","status","title","salary","salaryBasis","startDate","details","expiresAt","respondedAt","responseNote","job","company","candidate","createdAt"],"additionalProperties":false,"x-ts-type":"JobOffer"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/auth/2fa":{"get":{"tags":["Auth"],"summary":"İki adımlı doğrulama durumu (kalan kurtarma kodu sayısı)","operationId":"getAuth2fa","parameters":[],"responses":{"200":{"description":"Yanıt: `TwoFactorStatus`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"TwoFactorStatus"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/auth/2fa/setup":{"post":{"tags":["Auth"],"summary":"İki adımlı doğrulama kurulumunu başlat (anahtar + otpauth bağlantısı; ilk kodla onaylanana kadar beklemede)","operationId":"postAuth2faSetup","parameters":[],"responses":{"200":{"description":"Yanıt: `TwoFactorSetup`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"TwoFactorSetup"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/auth/2fa/enable":{"post":{"tags":["Auth"],"summary":"Uygulamadaki kodla onayla ve aç; kurtarma kodları bir kez döner, diğer oturumlar kapanır","operationId":"postAuth2faEnable","parameters":[],"responses":{"200":{"description":"Yanıt: `{ recoveryCodes: string[] }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ recoveryCodes: string[] }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string","pattern":"^\\d{6}$"}},"required":["code"]}}}}}},"/auth/2fa/disable":{"post":{"tags":["Auth"],"summary":"Kapat (şifre + uygulama veya kurtarma kodu)","operationId":"postAuth2faDisable","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"password":{"type":"string","minLength":1,"maxLength":128},"code":{"type":"string","minLength":6,"maxLength":20}},"required":["password","code"]}}}}}},"/auth/2fa/recovery-codes":{"post":{"tags":["Auth"],"summary":"Yeni kurtarma kodları (eskiler geçersiz olur)","operationId":"postAuth2faRecoveryCodes","parameters":[],"responses":{"200":{"description":"Yanıt: `{ recoveryCodes: string[] }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ recoveryCodes: string[] }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string","pattern":"^\\d{6}$"}},"required":["code"]}}}}}},"/articles":{"get":{"tags":["Content"],"summary":"Kariyer içerikleri (yayındaki yazılar, kategoriye göre)","operationId":"getArticles","parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["JOB_SEARCH","CV","INTERVIEW","FIRST_JOB","WORK_LIFE"]}}],"responses":{"200":{"description":"Yanıt: `ArticleSummary[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ArticleSummary[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/articles/{slug}":{"get":{"tags":["Content"],"summary":"Yazı (içerik yöneticileri taslakları da görür)","operationId":"getArticles/Slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `Article`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Article"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}]}},"/admin/skills":{"get":{"tags":["Admin"],"summary":"Yetenek taksonomisi (doğrulanmış/doğrulanmamış, kullanım sayısı, eş anlamlılar)","operationId":"getAdminSkills","parameters":[{"name":"verified","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}}],"responses":{"200":{"description":"Yanıt: `Paginated<AdminSkill>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Paginated<AdminSkill>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage"}},"/admin/skills/{id}":{"patch":{"tags":["Admin"],"summary":"Yeteneği doğrula, yeniden adlandır veya kategorisini değiştir","operationId":"patchAdminSkills/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80},"category":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}]},"verified":{"type":"boolean"}}}}}}}},"/admin/skills/{id}/merge":{"post":{"tags":["Admin"],"summary":"Yeteneği başka bir yetenekle birleştir (adaylar taşınır, eski yazım eş anlamlı olur)","operationId":"postAdminSkills/IdMerge","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ moved: number }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ moved: number }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"intoId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["intoId"]}}}}}},"/admin/articles":{"get":{"tags":["Admin"],"summary":"Tüm yazılar (taslaklar dahil)","operationId":"getAdminArticles","parameters":[],"responses":{"200":{"description":"Yanıt: `Article[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Article[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage"},"post":{"tags":["Admin"],"summary":"Yazı oluştur","operationId":"postAdminArticles","parameters":[],"responses":{"201":{"description":"Yanıt: `Article`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Article"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":5,"maxLength":150},"slug":{"type":"string","maxLength":100,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"summary":{"type":"string","minLength":10,"maxLength":300},"category":{"type":"string","enum":["JOB_SEARCH","CV","INTERVIEW","FIRST_JOB","WORK_LIFE"]},"icon":{"default":"📄","type":"string","maxLength":8},"body":{"type":"string","minLength":50,"maxLength":30000},"published":{"default":false,"type":"boolean"},"coverKey":{"anyOf":[{"type":"string","pattern":"^[a-f0-9-]+\\.webp$"},{"type":"null"}]}},"required":["title","summary","category","body"]}}}}}},"/admin/articles/{id}":{"put":{"tags":["Admin"],"summary":"Yazıyı düzenle / yayınla","operationId":"putAdminArticles/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Article`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Article"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":5,"maxLength":150},"slug":{"type":"string","maxLength":100,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"summary":{"type":"string","minLength":10,"maxLength":300},"category":{"type":"string","enum":["JOB_SEARCH","CV","INTERVIEW","FIRST_JOB","WORK_LIFE"]},"icon":{"default":"📄","type":"string","maxLength":8},"body":{"type":"string","minLength":50,"maxLength":30000},"published":{"default":false,"type":"boolean"},"coverKey":{"anyOf":[{"type":"string","pattern":"^[a-f0-9-]+\\.webp$"},{"type":"null"}]}},"required":["title","summary","category","body"]}}}}}},"/admin/signal-audit":{"get":{"tags":["Admin"],"summary":"Sinyal denetimi: kullanımdaki kural sürümleri ve düzeltme taleplerinin durumu","operationId":"getAdminSignalAudit","parameters":[],"responses":{"200":{"description":"Yanıt: `SignalAuditSummary`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SignalAuditSummary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: applications.manage_any","x-permission":"applications.manage_any"}},"/admin/signal-disputes":{"get":{"tags":["Admin"],"summary":"Adayların düzeltme talepleri","operationId":"getAdminSignalDisputes","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["OPEN","RESOLVED","REJECTED"]}}],"responses":{"200":{"description":"Yanıt: `AdminSignalDispute[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminSignalDispute[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: applications.manage_any","x-permission":"applications.manage_any"}},"/admin/signal-disputes/{id}":{"patch":{"tags":["Admin"],"summary":"Düzeltme talebini sonuçlandır (adaya bildirim, denetim kaydı)","operationId":"patchAdminSignalDisputes/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `SignalDispute`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SignalDispute"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: applications.manage_any","x-permission":"applications.manage_any","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","enum":["RESOLVED","REJECTED"]},"response":{"type":"string","minLength":5,"maxLength":1000}},"required":["status","response"]}}}}}},"/admin/articles/images":{"post":{"tags":["Admin"],"summary":"Yazı görseli yükle (`kind=cover`: 1600×700 kapak; `inline`: metin içi, en fazla 1600×1200; WebP, EXIF silinir)","operationId":"postAdminArticlesImages","parameters":[{"name":"kind","in":"query","required":false,"schema":{"default":"inline","type":"string","enum":["cover","inline"]}}],"responses":{"201":{"description":"Yanıt: `ArticleImage`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ArticleImage"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","contentMediaType":"image/*"}}}}}}}},"/salaries":{"get":{"tags":["Salaries"],"summary":"Maaş merkezi: yayındaki meslekler ve medyan maaşlar (en az 5 veri yoksa null)","operationId":"getSalaries","parameters":[],"responses":{"200":{"description":"Yanıt: `SalaryIndexItem[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SalaryIndexItem[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/occupations/{slug}/related":{"get":{"tags":["Career"],"summary":"Yakın meslekler: ortak temel beceriler (benzerlik oranı) ve editoryal sonraki adımlar","operationId":"getOccupations/SlugRelated","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `OccupationLink[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"OccupationLink[]"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/me/career/matches":{"get":{"tags":["Career"],"summary":"CV'mdeki becerilerin götürdüğü meslekler (sahip olunan/eksik temel beceriler ve gerekçe)","operationId":"getMeCareerMatches","parameters":[],"responses":{"200":{"description":"Yanıt: `CareerMatch[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CareerMatch[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/career/compare":{"get":{"tags":["Career"],"summary":"2–3 mesleği yan yana: beceri açığı, maaş (kaynağı ve güveniyle), talep, varsayımlar","operationId":"getMeCareerCompare","parameters":[{"name":"slugs","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `ScenarioOption[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ScenarioOption[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/career/scenarios":{"get":{"tags":["Career"],"summary":"Kayıtlı kariyer senaryolarım","operationId":"getMeCareerScenarios","parameters":[],"responses":{"200":{"description":"Yanıt: `CareerScenario[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CareerScenario[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"},"post":{"tags":["Career"],"summary":"Kariyer senaryosu kaydet (en fazla 5; 1–3 meslek)","operationId":"postMeCareerScenarios","parameters":[],"responses":{"201":{"description":"Yanıt: `CareerScenario[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CareerScenario[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":80},"occupations":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}}},"required":["name","occupations"]}}}}}},"/me/career/scenarios/{id}":{"delete":{"tags":["Career"],"summary":"Kariyer senaryosunu sil","operationId":"deleteMeCareerScenarios/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CareerScenario[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CareerScenario[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/passport":{"get":{"tags":["Career"],"summary":"Yetkinlik pasaportum: CV kalemleri doğrulama düzeyiyle (beyan / kanıt / platformda) ve paylaşım bağlantılarım","operationId":"getMePassport","parameters":[],"responses":{"200":{"description":"Yanıt: `{ passport: Passport; links: PassportLink[] }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ passport: Passport; links: PassportLink[] }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/passport/links":{"post":{"tags":["Career"],"summary":"Süreli pasaport paylaşım bağlantısı oluştur (seçilen bölümler; 7/30/90 gün; en fazla 10 etkin)","operationId":"postMePassportLinks","parameters":[],"responses":{"201":{"description":"Yanıt: `PassportLink`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"PassportLink"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"label":{"type":"string","minLength":2,"maxLength":80},"sections":{"type":"object","properties":{"skills":{"type":"boolean"},"experiences":{"type":"boolean"},"educations":{"type":"boolean"},"languages":{"type":"boolean"},"certificates":{"type":"boolean"},"projects":{"type":"boolean"},"assessments":{"type":"boolean"}},"required":["skills","experiences","educations","languages","certificates","projects","assessments"]},"days":{"anyOf":[{"type":"number","const":7},{"type":"number","const":30},{"type":"number","const":90}]}},"required":["label","sections","days"]}}}}}},"/me/passport/links/{id}/revoke":{"post":{"tags":["Career"],"summary":"Pasaport bağlantısını iptal et","operationId":"postMePassportLinks/IdRevoke","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `PassportLink`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"PassportLink"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/passport/{token}":{"get":{"tags":["Career"],"summary":"Paylaşılan yetkinlik pasaportu (iletişim bilgisi ve test puanı yok; süresi dolmuş/iptal edilmiş bağlantı 404)","operationId":"getPassport/Token","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Passport`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"fullName":{"type":"string"},"title":{"type":["string","null"]},"city":{"type":["string","null"]},"emailVerified":{"type":"boolean"},"skills":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"level":{"type":"string","enum":["DECLARED","EVIDENCE","PLATFORM"]},"url":{"type":["string","null"]}},"required":["name","level","url"],"additionalProperties":false}},"experiences":{"type":"array","items":{"type":"object","properties":{"position":{"type":"string"},"company":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"level":{"type":"string","enum":["DECLARED","EVIDENCE","PLATFORM"]}},"required":["position","company","startYear","endYear","level"],"additionalProperties":false}},"educations":{"type":"array","items":{"type":"object","properties":{"school":{"type":"string"},"department":{"type":"string"},"degree":{"type":"string"},"startYear":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"endYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"level":{"type":"string","enum":["DECLARED","EVIDENCE","PLATFORM"]}},"required":["school","department","degree","startYear","endYear","level"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"level":{"type":"string","enum":["A1","A2","B1","B2","C1","C2","NATIVE"]}},"required":["language","level"],"additionalProperties":false}},"certificates":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"issuer":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]},"level":{"type":"string","enum":["DECLARED","EVIDENCE","PLATFORM"]}},"required":["name","issuer","year","url","level"],"additionalProperties":false}},"projects":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]},"level":{"type":"string","enum":["DECLARED","EVIDENCE","PLATFORM"]}},"required":["name","description","year","url","level"],"additionalProperties":false}},"assessments":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"},"level":{"type":"string","enum":["DECLARED","EVIDENCE","PLATFORM"]}},"required":["slug","title","level"],"additionalProperties":false}},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["fullName","title","city","emailVerified","skills","experiences","educations","languages","certificates","projects","assessments","expiresAt"],"additionalProperties":false,"x-ts-type":"Passport"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/me/hire-followups":{"get":{"tags":["Me"],"summary":"İşe alım sonrası takip soruları (kabul edilen tekliften 30/90/180 gün sonra)","operationId":"getMeHireFollowups","parameters":[],"responses":{"200":{"description":"Yanıt: `HireFollowup[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"HireFollowup[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/hire-followups/{id}":{"post":{"tags":["Me"],"summary":"Takip sorusunu yanıtla (açık rızayla; işverene yalnızca en az 5 kişilik toplam gider) ya da atla","operationId":"postMeHireFollowups/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `HireFollowup[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"HireFollowup[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"skip":{"type":"boolean"},"started":{"type":["boolean","null"]},"stillWorking":{"type":["boolean","null"]},"satisfaction":{"anyOf":[{"type":"integer","minimum":1,"maximum":5},{"type":"null"}]},"consent":{"type":"boolean"}}}}}}}},"/me/company/hire-followups":{"get":{"tags":["Employer"],"summary":"İşe alım sonrası takip: zamanı gelen sorular ve aşama bazında sonuçlar (aday yanıtları yalnızca toplam)","operationId":"getMeCompanyHireFollowups","parameters":[],"responses":{"200":{"description":"Yanıt: `{ items: CompanyHireFollowup[]; outcomes: HireOutcomes }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ items: CompanyHireFollowup[]; outcomes: HireOutcomes }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/hire-followups/{id}":{"post":{"tags":["Employer"],"summary":"Çalışma sürüyor mu sorusunu yanıtla","operationId":"postMeCompanyHireFollowups/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ items: CompanyHireFollowup[]; outcomes: HireOutcomes }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ items: CompanyHireFollowup[]; outcomes: HireOutcomes }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"stillEmployed":{"type":"boolean"}},"required":["stillEmployed"]}}}}}},"/me/company/work-tasks":{"get":{"tags":["Employer"],"summary":"İş simülasyonu görevleri: platform şablonları ve şirketin kendi görevleri (örnek cevap yalnızca ekibe)","operationId":"getMeCompanyWorkTasks","parameters":[],"responses":{"200":{"description":"Yanıt: `WorkTask[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"WorkTask[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"},"post":{"tags":["Employer"],"summary":"Görev oluştur (talimat, teslim türü, süre, 2–6 ölçütlük değerlendirme rehberi)","operationId":"postMeCompanyWorkTasks","parameters":[],"responses":{"201":{"description":"Yanıt: `WorkTask`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"WorkTask"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":150},"role":{"type":"string","minLength":2,"maxLength":80},"instructions":{"type":"string","minLength":30,"maxLength":5000},"deliverable":{"type":"string","enum":["TEXT","LINK"]},"timeLimitMinutes":{"anyOf":[{"type":"integer","minimum":15,"maximum":1440},{"type":"null"}]},"rubric":{"minItems":2,"maxItems":6,"type":"array","items":{"type":"object","properties":{"criterion":{"type":"string","minLength":2,"maxLength":120},"description":{"default":"","type":"string","maxLength":500}},"required":["criterion"]}},"exampleAnswer":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]}},"required":["title","role","instructions","deliverable","rubric"]}}}}}},"/me/company/work-tasks/{id}":{"put":{"tags":["Employer"],"summary":"Şirket görevini düzenle (platform şablonları salt okunur)","operationId":"putMeCompanyWorkTasks/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `WorkTask`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"WorkTask"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":150},"role":{"type":"string","minLength":2,"maxLength":80},"instructions":{"type":"string","minLength":30,"maxLength":5000},"deliverable":{"type":"string","enum":["TEXT","LINK"]},"timeLimitMinutes":{"anyOf":[{"type":"integer","minimum":15,"maximum":1440},{"type":"null"}]},"rubric":{"minItems":2,"maxItems":6,"type":"array","items":{"type":"object","properties":{"criterion":{"type":"string","minLength":2,"maxLength":120},"description":{"default":"","type":"string","maxLength":500}},"required":["criterion"]}},"exampleAnswer":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]}},"required":["title","role","instructions","deliverable","rubric"]}}}}},"delete":{"tags":["Employer"],"summary":"Şirket görevini arşivle","operationId":"deleteMeCompanyWorkTasks/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/applications/{id}/signals":{"get":{"tags":["Applications"],"summary":"Başvurudaki otomatik sinyaller (kural sürümüyle), kim hangi kararı verdi, adayın talepleri","operationId":"getApplications/IdSignals","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ApplicationSignalLog`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"ApplicationSignalLog"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/applications/{id}/work-tasks":{"get":{"tags":["Applications"],"summary":"Başvuruya verilen görevler, teslimler ve ekip değerlendirmeleri","operationId":"getApplications/IdWorkTasks","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `TaskAssignment[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"TaskAssignment[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"},"post":{"tags":["Applications"],"summary":"Başvuruya iş simülasyonu görevi ver (1–21 gün; adaya bildirim)","operationId":"postApplications/IdWorkTasks","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `TaskAssignment[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"TaskAssignment[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"dueDays":{"type":"integer","minimum":1,"maximum":21},"message":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["taskId","dueDays"]}}}}}},"/me/company/task-assignments/{id}/review":{"post":{"tags":["Employer"],"summary":"Teslimi değerlendirme rehberine göre puanla (ölçüt başına 1–5; otomatik puan yok)","operationId":"postMeCompanyTaskAssignments/IdReview","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `TaskAssignment`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"TaskAssignment"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"scores":{"minItems":2,"maxItems":6,"type":"array","items":{"type":"integer","minimum":1,"maximum":5}},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]}},"required":["scores"]}}}}}},"/me/company/task-assignments/{id}/extend":{"post":{"tags":["Employer"],"summary":"Görev süresini uzat (ör. adayın düzenleme talebi üzerine)","operationId":"postMeCompanyTaskAssignments/IdExtend","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `TaskAssignment`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"TaskAssignment"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"days":{"type":"integer","minimum":1,"maximum":14}},"required":["days"]}}}}}},"/me/work-tasks":{"get":{"tags":["Me"],"summary":"Bana verilen iş simülasyonu görevleri","operationId":"getMeWorkTasks","parameters":[],"responses":{"200":{"description":"Yanıt: `TaskAssignment[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"TaskAssignment[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/me/work-tasks/{id}/submit":{"post":{"tags":["Me"],"summary":"Görevi teslim et (metin ve/veya bağlantı)","operationId":"postMeWorkTasks/IdSubmit","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `TaskAssignment[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"TaskAssignment[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"url":{"anyOf":[{"type":"string","maxLength":500,"format":"uri"},{"type":"null"}]}}}}}}}},"/me/work-tasks/{id}/accommodation":{"post":{"tags":["Me"],"summary":"Ek süre veya farklı format (erişilebilirlik) iste","operationId":"postMeWorkTasks/IdAccommodation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `TaskAssignment[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"TaskAssignment[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"request":{"type":"string","minLength":5,"maxLength":1000}},"required":["request"]}}}}}},"/me/company/workforce":{"get":{"tags":["Employer"],"summary":"İş gücü panosu: yayındaki ilanlar için piyasa maaşı, rakip ve benzer ilan sayısı, havuzda uygun aday (5'ten azsa gizli), işe alım süresi (şirket ve platform medyanı)","operationId":"getMeCompanyWorkforce","parameters":[],"responses":{"200":{"description":"Yanıt: `WorkforcePanel`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"WorkforcePanel"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/me/company/workforce.csv":{"get":{"tags":["Employer"],"summary":"İş gücü panosu CSV","operationId":"getMeCompanyWorkforce.csv","parameters":[],"responses":{"200":{"description":"Yanıt: `text/csv`","content":{"text/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: applications.manage (OWNER, ADMIN, RECRUITER)","x-permission":"company:applications.manage"}},"/market":{"get":{"tags":["Salaries"],"summary":"İş piyasası radarı: son 12 hafta ile önceki 12 haftada personel.net ilanları; en çok aranan ve talebi yükselen beceriler, sektörler, şehirler (5 ilandan azı gösterilmez)","operationId":"getMarket","parameters":[],"responses":{"200":{"description":"Yanıt: `MarketRadar`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"MarketRadar"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/me/skill-demand":{"get":{"tags":["Me"],"summary":"CV'mdeki becerilerin son 12 haftada geçtiği ilan sayısı ve değişimi","operationId":"getMeSkillDemand","parameters":[],"responses":{"200":{"description":"Yanıt: `MySkillDemand[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"MySkillDemand[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/salaries/estimate":{"get":{"tags":["Salaries"],"summary":"Serbest metin pozisyon için piyasa maaşı (son 12 ayın maaşı görünür ilanları; genel ve şehir; örneklem ve güven düzeyiyle, 5 veriden azsa null)","operationId":"getSalariesEstimate","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":120}},{"name":"city","in":"query","required":false,"schema":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}}],"responses":{"200":{"description":"Yanıt: `SalaryEstimate`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SalaryEstimate"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/salaries/{slug}":{"get":{"tags":["Salaries"],"summary":"Meslek maaşları: ilanlardaki (12 ay) ve üyelerin paylaştığı (24 ay) maaşların çeyrekleri; şehir ve deneyim kırılımları (her biri en az 5 veri)","operationId":"getSalaries/Slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `OccupationSalary`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"OccupationSalary"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/me/salary-reports":{"get":{"tags":["Salaries"],"summary":"Paylaştığım maaş bilgileri","operationId":"getMeSalaryReports","parameters":[],"responses":{"200":{"description":"Yanıt: `SalaryReport[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SalaryReport[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER"},"put":{"tags":["Salaries"],"summary":"Maaşımı anonim paylaş (meslek başına bir kayıt; tekrar gönderim günceller)","operationId":"putMeSalaryReports","parameters":[],"responses":{"200":{"description":"Yanıt: `SalaryReport[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SalaryReport[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"occupationSlug":{"type":"string","minLength":1,"maxLength":80},"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"monthlyNet":{"type":"integer","minimum":1000,"maximum":2000000}},"required":["occupationSlug","city","experienceLevel","monthlyNet"]}}}}}},"/me/salary-reports/{id}":{"delete":{"tags":["Salaries"],"summary":"Paylaştığım maaş bilgisini sil","operationId":"deleteMeSalaryReports/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `SalaryReport[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SalaryReport[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE","EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE, EMPLOYER"}},"/me/support/tickets":{"get":{"tags":["Support"],"summary":"Destek taleplerim","operationId":"getMeSupportTickets","parameters":[],"responses":{"200":{"description":"Yanıt: `SupportTicket[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SupportTicket[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/support/tickets":{"post":{"tags":["Support"],"summary":"Destek talebi oluştur","operationId":"postSupportTickets","parameters":[],"responses":{"201":{"description":"Yanıt: `SupportTicketDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SupportTicketDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"category":{"type":"string","enum":["ACCOUNT","JOBS","APPLICATIONS","BILLING","TECHNICAL","PRIVACY","OTHER"]},"subject":{"type":"string","minLength":3,"maxLength":150},"body":{"type":"string","minLength":10,"maxLength":5000}},"required":["category","subject","body"]}}}}}},"/support/contact":{"post":{"tags":["Support"],"summary":"Giriş yapamayanlar için iletişim formu (yanıt e-postayla gelir)","operationId":"postSupportContact","parameters":[],"responses":{"201":{"description":"Yanıt: `{ id: number }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ id: number }"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"category":{"type":"string","enum":["ACCOUNT","JOBS","APPLICATIONS","BILLING","TECHNICAL","PRIVACY","OTHER"]},"subject":{"type":"string","minLength":3,"maxLength":150},"body":{"type":"string","minLength":10,"maxLength":5000},"name":{"type":"string","minLength":2,"maxLength":100},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"required":["category","subject","body","name","email"]}}}}}},"/support/tickets/{id}":{"get":{"tags":["Support"],"summary":"Destek talebim ve yazışmalar (iç notlar hariç; başkasınınki 404)","operationId":"getSupportTickets/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `SupportTicketDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SupportTicketDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/support/tickets/{id}/messages":{"post":{"tags":["Support"],"summary":"Talebe yanıt yaz (kapalı talep yeniden açılır)","operationId":"postSupportTickets/IdMessages","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `SupportTicketDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SupportTicketDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":5000}},"required":["body"]}}}}}},"/support/tickets/{id}/close":{"post":{"tags":["Support"],"summary":"Talebi kapat","operationId":"postSupportTickets/IdClose","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `SupportTicketDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SupportTicketDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/admin/support/tickets":{"get":{"tags":["Admin"],"summary":"Destek kuyruğu (durum, kategori, bana atananlar, arama)","operationId":"getAdminSupportTickets","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["OPEN","ANSWERED","CLOSED"]}},{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["ACCOUNT","JOBS","APPLICATIONS","BILLING","TECHNICAL","PRIVACY","OTHER"]}},{"name":"mine","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}}],"responses":{"200":{"description":"Yanıt: `Paginated<AdminSupportTicket>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Paginated<AdminSupportTicket>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT. İzin: support.manage","x-permission":"support.manage"}},"/admin/support/staff":{"get":{"tags":["Admin"],"summary":"Talep atanabilecek destek personeli","operationId":"getAdminSupportStaff","parameters":[],"responses":{"200":{"description":"Yanıt: `{ id: number; fullName: string }[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ id: number; fullName: string }[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT. İzin: support.manage","x-permission":"support.manage"}},"/admin/support/tickets/{id}":{"get":{"tags":["Admin"],"summary":"Talep ayrıntısı (iç notlar dahil; görüntüleme denetim kaydına yazılır)","operationId":"getAdminSupportTickets/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminSupportTicketDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminSupportTicketDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT. İzin: support.manage","x-permission":"support.manage"},"patch":{"tags":["Admin"],"summary":"Durum değiştir / personele ata","operationId":"patchAdminSupportTickets/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminSupportTicketDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminSupportTicketDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT. İzin: support.manage","x-permission":"support.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","enum":["OPEN","ANSWERED","CLOSED"]},"assignedToId":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]}}}}}}}},"/admin/support/tickets/{id}/messages":{"post":{"tags":["Admin"],"summary":"Yanıtla (kullanıcıya bildirim, misafire e-posta) veya iç not ekle","operationId":"postAdminSupportTickets/IdMessages","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `AdminSupportTicketDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminSupportTicketDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT. İzin: support.manage","x-permission":"support.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":5000},"internal":{"default":false,"type":"boolean"}},"required":["body"]}}}}}},"/me/advice/requests":{"get":{"tags":["Career"],"summary":"Kariyer danışmanlığı taleplerim","operationId":"getMeAdviceRequests","parameters":[],"responses":{"200":{"description":"Yanıt: `AdviceRequest[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdviceRequest[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/advice/requests":{"post":{"tags":["Career"],"summary":"Danışmanlık talebi (CV ve kayıtlı test sonuçlarını paylaşma açık rızası isteğe bağlı)","operationId":"postAdviceRequests","parameters":[],"responses":{"201":{"description":"Yanıt: `AdviceRequestDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdviceRequestDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"topic":{"type":"string","enum":["CV_REVIEW","CAREER_DIRECTION","INTERVIEW_PREP","OTHER"]},"body":{"type":"string","minLength":20,"maxLength":4000},"shareCv":{"default":false,"type":"boolean"},"attemptIds":{"default":[],"maxItems":10,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}}},"required":["topic","body"]}}}}}},"/advice/requests/{id}":{"get":{"tags":["Career"],"summary":"Talebim ve yazışmalar (başkasınınki 404)","operationId":"getAdviceRequests/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdviceRequestDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdviceRequestDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/advice/requests/{id}/messages":{"post":{"tags":["Career"],"summary":"Talebe yanıt yaz (kapalı talep açılır, paylaşım geri gelmez)","operationId":"postAdviceRequests/IdMessages","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `AdviceRequestDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdviceRequestDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":5000}},"required":["body"]}}}}}},"/advice/requests/{id}/stop-sharing":{"post":{"tags":["Career"],"summary":"CV / test sonucu paylaşımını durdur (rıza geri alınır)","operationId":"postAdviceRequests/IdStopSharing","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdviceRequestDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdviceRequestDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/advice/requests/{id}/close":{"post":{"tags":["Career"],"summary":"Talebi kapat (paylaşım sona erer)","operationId":"postAdviceRequests/IdClose","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdviceRequestDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdviceRequestDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["CANDIDATE"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: CANDIDATE"}},"/admin/advice/requests":{"get":{"tags":["Admin"],"summary":"Danışmanlık kuyruğu (durum, konu, bana atananlar)","operationId":"getAdminAdviceRequests","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["OPEN","ANSWERED","CLOSED"]}},{"name":"topic","in":"query","required":false,"schema":{"type":"string","enum":["CV_REVIEW","CAREER_DIRECTION","INTERVIEW_PREP","OTHER"]}},{"name":"mine","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}}],"responses":{"200":{"description":"Yanıt: `Paginated<AdminAdviceRequest>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Paginated<AdminAdviceRequest>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: advice.manage","x-permission":"advice.manage"}},"/admin/advice/staff":{"get":{"tags":["Admin"],"summary":"Talep atanabilecek danışmanlar","operationId":"getAdminAdviceStaff","parameters":[],"responses":{"200":{"description":"Yanıt: `{ id: number; fullName: string }[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ id: number; fullName: string }[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: advice.manage","x-permission":"advice.manage"}},"/admin/advice/requests/{id}":{"get":{"tags":["Admin"],"summary":"Talep ayrıntısı; paylaşım sürerken iletişim bilgisiz CV ve paylaşılan test sonuçları (denetim kaydına yazılır)","operationId":"getAdminAdviceRequests/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminAdviceRequestDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminAdviceRequestDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: advice.manage","x-permission":"advice.manage"},"patch":{"tags":["Admin"],"summary":"Durum değiştir / danışmana ata (kapatınca paylaşım biter)","operationId":"patchAdminAdviceRequests/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminAdviceRequestDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminAdviceRequestDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: advice.manage","x-permission":"advice.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","enum":["OPEN","ANSWERED","CLOSED"]},"assignedToId":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]}}}}}}}},"/admin/advice/requests/{id}/cv-file":{"get":{"tags":["Admin"],"summary":"Paylaşılan CV dosyası (PDF; paylaşım bitince 404, denetim kaydına yazılır)","operationId":"getAdminAdviceRequests/IdCvFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `application/pdf`","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: advice.manage","x-permission":"advice.manage"}},"/admin/advice/requests/{id}/messages":{"post":{"tags":["Admin"],"summary":"Adaya yanıt (bildirim gider) veya iç not","operationId":"postAdminAdviceRequests/IdMessages","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"201":{"description":"Yanıt: `AdminAdviceRequestDetail`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminAdviceRequestDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: advice.manage","x-permission":"advice.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":5000},"internal":{"default":false,"type":"boolean"}},"required":["body"]}}}}}},"/me/notification-preferences":{"get":{"tags":["Me"],"summary":"Bildirim tercihlerim (kategori × e-posta/push; uygulama içi bildirim her zaman tutulur)","operationId":"getMeNotificationPreferences","parameters":[],"responses":{"200":{"description":"Yanıt: `NotificationPreference[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"NotificationPreference[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]},"put":{"tags":["Me"],"summary":"Bildirim tercihlerini güncelle (gönderilmeyen kategori/kanal değişmez)","operationId":"putMeNotificationPreferences","parameters":[],"responses":{"200":{"description":"Yanıt: `NotificationPreference[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"NotificationPreference[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"preferences":{"minItems":1,"maxItems":9,"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["applications","messages","listings","alerts","billing","account","moderation","announcements","campaigns"]},"email":{"type":"boolean"},"push":{"type":"boolean"}},"required":["category"]}}},"required":["preferences"]}}}}}},"/notification-preferences/unsubscribe":{"post":{"tags":["Me"],"summary":"Bildirim e-postasındaki imzalı bağlantıyla o kategorinin e-postalarını kapat (tek tıkla abonelikten çıkma, RFC 8058; token gövdede veya sorguda)","operationId":"postNotificationPreferencesUnsubscribe","parameters":[],"responses":{"200":{"description":"Yanıt: `{ category: string; label: string }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ category: string; label: string }"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","minLength":10,"maxLength":1000}},"required":["token"]}}}}}},"/alerts/unsubscribe":{"post":{"tags":["Alerts"],"summary":"E-postadaki imzalı link ile alarmdan çık","operationId":"postAlertsUnsubscribe","parameters":[],"responses":{"200":{"description":"Yanıt: `{ name: string }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ name: string }"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","minLength":10,"maxLength":1000}},"required":["token"]}}}}}},"/applications/{id}/status":{"patch":{"tags":["Applications"],"summary":"Başvuru durumunu değiştir (şirket üyesi: applications.manage; personel: applications.manage_any)","operationId":"patchApplications/IdStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ApplicationMove`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]},"stageId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","status","stageId"],"additionalProperties":false,"x-ts-type":"ApplicationMove"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED"]}},"required":["status"]}}}}}},"/applications/{id}/stage":{"patch":{"tags":["Applications"],"summary":"Başvuruyu şirketin işe alım aşamasına taşı (durum aşamanınkine geçer; aday yalnızca durumu görür)","operationId":"patchApplications/IdStage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `ApplicationMove`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["PENDING","REVIEWING","INTERVIEW","OFFERED","REJECTED","WITHDRAWN"]},"stageId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","status","stageId"],"additionalProperties":false,"x-ts-type":"ApplicationMove"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"stageId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["stageId"]}}}}}},"/applications/{id}/cv-file":{"get":{"tags":["Applications"],"summary":"Başvuranın PDF CV'si (şirket üyesi: applications.manage; personel: applications.manage_any)","operationId":"getApplications/IdCvFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `application/pdf`","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"auth","security":[{"bearerAuth":[]}]}},"/companies":{"get":{"tags":["Companies"],"summary":"Şirketler","operationId":"getCompanies","parameters":[],"responses":{"200":{"description":"Yanıt: `Company[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false},"x-ts-type":"Company[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/companies/{id}":{"get":{"tags":["Companies"],"summary":"Şirket profili","operationId":"getCompanies/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Company`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"},"activeJobCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverUrl":{"type":["string","null"]},"culture":{"type":["string","null"]},"perks":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"socials":{"type":"object","properties":{"linkedin":{"type":["string","null"]},"facebook":{"type":["string","null"]},"instagram":{"type":["string","null"]},"x":{"type":["string","null"]},"youtube":{"type":["string","null"]}},"additionalProperties":false},"profile":{"type":"object","properties":{"foundedYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"address":{"type":["string","null"]},"mission":{"type":["string","null"]},"vision":{"type":["string","null"]},"values":{"type":"array","items":{"type":"string"}},"workModels":{"type":"array","items":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"workingHours":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]},"address":{"type":["string","null"]}},"required":["city","address"],"additionalProperties":false}},"hiringProcess":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]}},"required":["title","description"],"additionalProperties":false}},"faqs":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"],"additionalProperties":false}},"testimonials":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":["string","null"]},"quote":{"type":"string"}},"required":["name","position","quote"],"additionalProperties":false}},"awards":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"year":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"issuer":{"type":["string","null"]}},"required":["title","year","issuer"],"additionalProperties":false}},"videoUrl":{"type":["string","null"]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string"},"caption":{"type":["string","null"]}},"required":["id","url","caption"],"additionalProperties":false}}},"required":["foundedYear","address","mission","vision","values","workModels","workingHours","technologies","offices","hiringProcess","faqs","testimonials","awards","videoUrl","photos"],"additionalProperties":false}},"required":["id","name","sector","city","website","employeeCount","about","logoUrl","verified","coverUrl","culture","perks","socials"],"additionalProperties":false,"x-ts-type":"Company"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/billing":{"get":{"tags":["Billing"],"summary":"Kredi bakiyesi, paketler, siparişler","operationId":"getBilling","parameters":[],"responses":{"200":{"description":"Yanıt: `BillingOverview`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"BillingOverview"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER"}},"/billing/info":{"put":{"tags":["Billing"],"summary":"Fatura bilgilerini güncelle","operationId":"putBillingInfo","parameters":[],"responses":{"200":{"description":"Yanıt: `Billing`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Billing"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: billing.manage (OWNER, ADMIN, BILLING)","x-permission":"company:billing.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"billingName":{"type":"string","minLength":2,"maxLength":160},"taxNumber":{"type":"string","pattern":"^\\d{10,11}$"},"taxOffice":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"billingAddress":{"type":"string","minLength":5,"maxLength":400},"billingCity":{"type":"string","minLength":2,"maxLength":80},"billingPhone":{"type":"string","pattern":"^\\+?[0-9 ]{10,16}$"}},"required":["billingName","taxNumber","billingAddress","billingCity","billingPhone"]}}}}}},"/billing/checkout":{"post":{"tags":["Billing"],"summary":"Paket satın almayı başlat (isteğe bağlı `couponCode`; tutarı sunucu hesaplar; ödeme sayfası adresi döner)","operationId":"postBillingCheckout","parameters":[],"responses":{"201":{"description":"Yanıt: `{ orderId: string; redirectUrl: string }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ orderId: string; redirectUrl: string }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: billing.manage (OWNER, ADMIN, BILLING)","x-permission":"company:billing.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"packageId":{"type":"string","minLength":1,"maxLength":40},"couponCode":{"type":"string"}},"required":["packageId"]}}}}}},"/billing/orders/{id}":{"get":{"tags":["Billing"],"summary":"Sipariş durumu (yalnızca kendi şirketinin)","operationId":"getBillingOrders/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Order`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Order"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: billing.manage (OWNER, ADMIN, BILLING)","x-permission":"company:billing.manage"}},"/payments/{provider}/callback":{"post":{"tags":["Billing"],"summary":"Ödeme sağlayıcısı geri çağrısı (imza doğrulanır, idempotent)","operationId":"postPayments/ProviderCallback","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"303":{"description":"Yönlendirme (iyzico) veya text/plain OK (PayTR)"},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/admin/stats":{"get":{"tags":["Admin"],"summary":"Platform özeti","operationId":"getAdminStats","parameters":[],"responses":{"200":{"description":"Yanıt: `AdminStats`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminStats"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR, SUPPORT, BILLING_ADMIN, CAREER_ADVISOR. İzin: stats.view","x-permission":"stats.view"}},"/admin/seo":{"get":{"tags":["Admin"],"summary":"SEO durumu: dizine açık şehir/kategori sayfaları, site haritası, iş ilanı verisi, arama motoru bildirimleri","operationId":"getAdminSeo","parameters":[],"responses":{"200":{"description":"Yanıt: `SeoOverview`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SeoOverview"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR, SUPPORT, BILLING_ADMIN, CAREER_ADVISOR. İzin: stats.view","x-permission":"stats.view"}},"/admin/seo/search-console":{"get":{"tags":["Admin"],"summary":"Google Search Console performansı (tıklama, gösterim, sorgular, sayfalar; 30 dk önbellek)","operationId":"getAdminSeoSearchConsole","parameters":[{"name":"days","in":"query","required":false,"schema":{"default":28,"type":"number"}}],"responses":{"200":{"description":"Yanıt: `SearchConsoleReport`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SearchConsoleReport"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR, SUPPORT, BILLING_ADMIN, CAREER_ADVISOR. İzin: stats.view","x-permission":"stats.view"}},"/admin/users":{"get":{"tags":["Admin"],"summary":"Kullanıcı arama","operationId":"getAdminUsers","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"role","in":"query","required":false,"schema":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]}},{"name":"suspended","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"staff","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"pageSize","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Yanıt: `Paginated<AdminUser>`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"fullName":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"company":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"suspended":{"type":"boolean"},"deleted":{"type":"boolean"},"emailVerified":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","email","fullName","role","company","suspended","deleted","emailVerified","createdAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pageSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items","total","page","pageSize","totalPages"],"additionalProperties":false,"x-ts-type":"Paginated<AdminUser>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT, BILLING_ADMIN. İzin: users.view","x-permission":"users.view"}},"/admin/users/{id}/suspend":{"post":{"tags":["Admin"],"summary":"Kullanıcıyı askıya al","operationId":"postAdminUsers/IdSuspend","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminUser`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"fullName":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"company":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"suspended":{"type":"boolean"},"deleted":{"type":"boolean"},"emailVerified":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","email","fullName","role","company","suspended","deleted","emailVerified","createdAt"],"additionalProperties":false,"x-ts-type":"AdminUser"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT. İzin: users.suspend","x-permission":"users.suspend"}},"/admin/users/{id}/unsuspend":{"post":{"tags":["Admin"],"summary":"Kullanıcıyı etkinleştir","operationId":"postAdminUsers/IdUnsuspend","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminUser`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"fullName":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"company":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"suspended":{"type":"boolean"},"deleted":{"type":"boolean"},"emailVerified":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","email","fullName","role","company","suspended","deleted","emailVerified","createdAt"],"additionalProperties":false,"x-ts-type":"AdminUser"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT. İzin: users.suspend","x-permission":"users.suspend"}},"/admin/jobs":{"get":{"tags":["Admin"],"summary":"İlan listesi / onay kuyruğu","operationId":"getAdminJobs","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]}},{"name":"risk","in":"query","required":false,"schema":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"pageSize","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Yanıt: `Paginated<Job>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Paginated<Job>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: jobs.moderate","x-permission":"jobs.moderate"}},"/admin/jobs/{id}/approve":{"post":{"tags":["Admin"],"summary":"İlanı onayla ve yayınla","operationId":"postAdminJobs/IdApprove","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: jobs.moderate","x-permission":"jobs.moderate"}},"/admin/jobs/{id}/reject":{"post":{"tags":["Admin"],"summary":"İlanı gerekçeyle reddet","operationId":"postAdminJobs/IdReject","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Job`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":"string"},"city":{"type":"string"},"category":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]},"experienceLevel":{"type":"string","enum":["ENTRY","JUNIOR","MID","SENIOR","MANAGER"]},"salaryMin":{"type":["number","null"]},"salaryMax":{"type":["number","null"]},"salaryVisible":{"type":"boolean"},"disabilityFriendly":{"type":"boolean"},"additionalCities":{"type":"array","items":{"type":"string"}},"benefits":{"type":"array","items":{"type":"string","enum":["MEAL","TRANSPORT","PRIVATE_HEALTH","BONUS","FLEXIBLE_HOURS","REMOTE_ALLOWANCE","TRAINING","PRIVATE_PENSION","CHILDCARE","GYM","BIRTHDAY_LEAVE","EXTRA_LEAVE","STOCK","LIFE_INSURANCE"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["YES_NO","TEXT"]},"required":{"type":"boolean"},"preferredAnswer":{"anyOf":[{"type":"string","enum":["YES","NO"]},{"type":"null"}]}},"required":["id","text","type","required"],"additionalProperties":false}},"location":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"],"additionalProperties":false},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string"},"deliverables":{"type":"array","items":{"type":"string"}},"startDate":{"type":["string","null"]},"durationWeeks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetType":{"type":"string","enum":["FIXED","HOURLY"]},"budgetMinKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"budgetMaxKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["scope","deliverables","startDate","durationWeeks","budgetType","budgetMinKurus","budgetMaxKurus"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"featuredUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"urgentUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"risk":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["score","level","signals"],"additionalProperties":false},"rejectionReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"city":{"type":["string","null"]},"sector":{"type":["string","null"]},"logoUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","city","sector","logoUrl","verified"],"additionalProperties":false},"applicationCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasApplied":{"type":"boolean"},"isSaved":{"type":"boolean"}},"required":["id","title","description","city","category","workType","workModel","experienceLevel","salaryMin","salaryMax","salaryVisible","disabilityFriendly","additionalCities","benefits","questions","location","status","createdAt","company"],"additionalProperties":false,"x-ts-type":"Job"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: jobs.moderate","x-permission":"jobs.moderate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reason":{"type":"string","minLength":5,"maxLength":1000}},"required":["reason"]}}}}}},"/admin/audit-logs":{"get":{"tags":["Admin"],"summary":"Değiştirilemez işlem kaydı (audit log)","operationId":"getAdminAuditLogs","parameters":[{"name":"action","in":"query","required":false,"schema":{"type":"string","enum":["USER_REGISTER","LOGIN","LOGIN_FAILED","PASSWORD_CHANGE","PASSWORD_RESET","USER_SUSPEND","USER_UNSUSPEND","JOB_CREATE","JOB_EDIT","JOB_DELETE","JOB_PUBLISH","JOB_REJECT","JOB_FEATURE","JOB_URGENT","JOB_RENEW","APPLICATION_CREATE","APPLICATION_STAGE_CHANGE","APPLICATION_WITHDRAW","PROFILE_VIEW","CV_DOWNLOAD","PAYMENT_SUCCEEDED","PAYMENT_FAILED","CREDIT_GRANT","TEAM_INVITE","TEAM_INVITE_CANCEL","TEAM_JOIN","TEAM_ROLE_CHANGE","TEAM_REMOVE","STAFF_CREATE","ROLE_CHANGE","LOGOUT","SESSION_REVOKE","SESSION_REUSE","DATA_EXPORT","ACCOUNT_DELETE","ACCOUNT_PURGE","ANNOUNCEMENT_SEND","SETTING_CHANGE","CONTENT_UPDATE","REPORT_RESOLVE","COMPANY_VERIFY","VERIFICATION_DOCUMENT_VIEW","ORDER_REFUND","INVOICE_RECORD","PACKAGE_UPDATE","COUPON_UPDATE","SUPPORT_TICKET_VIEW","TWO_FACTOR_ENABLE","TWO_FACTOR_DISABLE","TWO_FACTOR_RECOVERY_USED","TALENT_SEARCH","JOB_INVITE","CONTACT_REQUEST","ADVICE_REQUEST_VIEW","AD_CAMPAIGN_SUBMIT","AD_CAMPAIGN_REVIEW","AD_CAMPAIGN_END","AD_CAMPAIGN_ADMIN_UPDATE","AD_PLACEMENT_UPDATE","IDENTITY_LINK","IDENTITY_UNLINK","SIGNAL_DISPUTE_RESOLVE","API_KEY_CREATE","API_KEY_REVOKE","WEBHOOK_UPDATE","COMPANY_REVIEW_DECIDE","COMPANY_REVIEW_REPLY"]}},{"name":"actorId","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"name":"entityType","in":"query","required":false,"schema":{"type":"string","enum":["USER","JOB","APPLICATION","ORDER","COMPANY","REPORT","PACKAGE","SUPPORT_TICKET","ADVICE_REQUEST","AD_CAMPAIGN","AD_PLACEMENT","COUPON","ANNOUNCEMENT","COMPANY_REVIEW"]}},{"name":"entityId","in":"query","required":false,"schema":{"type":"string","maxLength":64}},{"name":"from","in":"query","required":false,"schema":{}},{"name":"to","in":"query","required":false,"schema":{}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"pageSize","in":"query","required":false,"schema":{"default":50,"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Yanıt: `Paginated<AuditLogEntry>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Paginated<AuditLogEntry>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: audit.view","x-permission":"audit.view"}},"/admin/staff":{"post":{"tags":["Admin"],"summary":"Personel hesabı oluştur (şifre belirleme e-postası gider)","operationId":"postAdminStaff","parameters":[],"responses":{"201":{"description":"Yanıt: `AdminUser`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"fullName":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"company":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"suspended":{"type":"boolean"},"deleted":{"type":"boolean"},"emailVerified":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","email","fullName","role","company","suspended","deleted","emailVerified","createdAt"],"additionalProperties":false,"x-ts-type":"AdminUser"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: staff.manage","x-permission":"staff.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"fullName":{"type":"string","minLength":2,"maxLength":120},"role":{"type":"string","enum":["ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]}},"required":["email","fullName","role"]}}}}}},"/admin/users/{id}/role":{"patch":{"tags":["Admin"],"summary":"Personelin rolünü değiştir","operationId":"patchAdminUsers/IdRole","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminUser`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"email":{"type":"string"},"fullName":{"type":"string"},"role":{"type":"string","enum":["CANDIDATE","EMPLOYER","ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]},"company":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"suspended":{"type":"boolean"},"deleted":{"type":"boolean"},"emailVerified":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","email","fullName","role","company","suspended","deleted","emailVerified","createdAt"],"additionalProperties":false,"x-ts-type":"AdminUser"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: staff.manage","x-permission":"staff.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"role":{"type":"string","enum":["ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"]}},"required":["role"]}}}}}},"/admin/analytics":{"get":{"tags":["Admin"],"summary":"Kullanım istatistikleri: aktif kullanıcılar, olay sayıları ve önceki dönemle karşılaştırma, dönüşüm","operationId":"getAdminAnalytics","parameters":[{"name":"days","in":"query","required":false,"schema":{"default":30,"type":"number"}}],"responses":{"200":{"description":"Yanıt: `AnalyticsSummary`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AnalyticsSummary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR, SUPPORT, BILLING_ADMIN, CAREER_ADVISOR. İzin: stats.view","x-permission":"stats.view"}},"/admin/analytics/acquisition":{"get":{"tags":["Admin"],"summary":"Pazarlama kanalları: dönemde kaydolanların kaynak/ortam/kampanyaya göre başvuru, ilan, ödeme ve gelir (gelir yalnızca billing.view)","operationId":"getAdminAnalyticsAcquisition","parameters":[{"name":"days","in":"query","required":false,"schema":{"default":30,"type":"number"}}],"responses":{"200":{"description":"Yanıt: `AcquisitionReport`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"days":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rows":{"type":"array","items":{"type":"object","properties":{"source":{"type":["string","null"]},"medium":{"type":["string","null"]},"campaign":{"type":["string","null"]},"candidates":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"candidatesApplied":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"employers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"employersPosted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"employersPaid":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"revenueKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["source","medium","campaign","candidates","candidatesApplied","employers","employersPosted","employersPaid","revenueKurus"],"additionalProperties":false}}},"required":["days","rows"],"additionalProperties":false,"x-ts-type":"AcquisitionReport"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR","SUPPORT","BILLING_ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR, SUPPORT, BILLING_ADMIN, CAREER_ADVISOR. İzin: stats.view","x-permission":"stats.view"}},"/admin/occupations":{"get":{"tags":["Admin"],"summary":"Meslekler (taslaklar dahil)","operationId":"getAdminOccupations","parameters":[],"responses":{"200":{"description":"Yanıt: `Occupation[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Occupation[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage"},"post":{"tags":["Admin"],"summary":"Meslek ekle","operationId":"postAdminOccupations","parameters":[],"responses":{"201":{"description":"Yanıt: `Occupation`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Occupation"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":120},"slug":{"type":"string","maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"summary":{"type":"string","minLength":10,"maxLength":300},"description":{"type":"string","minLength":20,"maxLength":4000},"tasks":{"maxItems":15,"type":"array","items":{"type":"string","minLength":2,"maxLength":200}},"skills":{"maxItems":20,"type":"array","items":{"type":"string","minLength":2,"maxLength":200}},"education":{"default":"","type":"string","maxLength":2000},"workEnvironment":{"default":"","type":"string","maxLength":2000},"riasecCode":{"type":"string","pattern":"^[RIASEC]{1,3}$"},"categories":{"maxItems":4,"type":"array","items":{"type":"string","enum":["Yazılım","Satış","Pazarlama","Finans","İnsan Kaynakları","Lojistik","Üretim","Sağlık","Eğitim","Müşteri Hizmetleri","Tasarım","Diğer"]}},"jobQuery":{"type":"string","minLength":2,"maxLength":80},"published":{"default":false,"type":"boolean"},"coreSkills":{"default":[],"maxItems":15,"type":"array","items":{"type":"string","minLength":1,"maxLength":80}},"nextOccupations":{"default":[],"maxItems":6,"type":"array","items":{"type":"string","maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}},"required":["title","summary","description","tasks","skills","riasecCode","categories","jobQuery"]}}}}}},"/admin/occupations/{id}":{"put":{"tags":["Admin"],"summary":"Mesleği düzenle / yayınla","operationId":"putAdminOccupations/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `Occupation`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Occupation"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":120},"slug":{"type":"string","maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"summary":{"type":"string","minLength":10,"maxLength":300},"description":{"type":"string","minLength":20,"maxLength":4000},"tasks":{"maxItems":15,"type":"array","items":{"type":"string","minLength":2,"maxLength":200}},"skills":{"maxItems":20,"type":"array","items":{"type":"string","minLength":2,"maxLength":200}},"education":{"default":"","type":"string","maxLength":2000},"workEnvironment":{"default":"","type":"string","maxLength":2000},"riasecCode":{"type":"string","pattern":"^[RIASEC]{1,3}$"},"categories":{"maxItems":4,"type":"array","items":{"type":"string","enum":["Yazılım","Satış","Pazarlama","Finans","İnsan Kaynakları","Lojistik","Üretim","Sağlık","Eğitim","Müşteri Hizmetleri","Tasarım","Diğer"]}},"jobQuery":{"type":"string","minLength":2,"maxLength":80},"published":{"default":false,"type":"boolean"},"coreSkills":{"default":[],"maxItems":15,"type":"array","items":{"type":"string","minLength":1,"maxLength":80}},"nextOccupations":{"default":[],"maxItems":6,"type":"array","items":{"type":"string","maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}},"required":["title","summary","description","tasks","skills","riasecCode","categories","jobQuery"]}}}}}},"/admin/career-content/occupations":{"get":{"tags":["Admin"],"summary":"Faz D: mesleklerin yol haritası içeriği (kaynak: panel / taslak / temel beceriler, beceri sayısı, danışman onayı)","operationId":"getAdminCareerContentOccupations","parameters":[],"responses":{"200":{"description":"Yanıt: `CareerContentOccupation[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"slug":{"type":"string"},"title":{"type":"string"},"published":{"type":"boolean"},"source":{"type":"string","enum":["PANEL","DRAFT","CORE"]},"skills":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updatedAt":{"type":["string","null"]},"reviewedAt":{"type":["string","null"]}},"required":["id","slug","title","published","source","skills","updatedAt","reviewedAt"],"additionalProperties":false},"x-ts-type":"CareerContentOccupation[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage"}},"/admin/career-content/occupations/{id}":{"get":{"tags":["Admin"],"summary":"Mesleğin yol haritası becerileri (ağırlık, Deneyimli hedef seviyesi) ve beceri metinleri","operationId":"getAdminCareerContentOccupations/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CareerContentDetail`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"slug":{"type":"string"},"title":{"type":"string"},"published":{"type":"boolean"},"source":{"type":"string","enum":["PANEL","DRAFT","CORE"]},"skills":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updatedAt":{"type":["string","null"]},"reviewedAt":{"type":["string","null"]},"reviewedBy":{"type":["string","null"]},"requirements":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"weight":{"type":"integer","minimum":1,"maximum":3},"level":{"type":"integer","minimum":1,"maximum":5}},"required":["skill","weight","level"],"additionalProperties":false}},"texts":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"outcome":{"type":"string"},"learn":{"type":"string"},"practice":{"type":"string"},"prove":{"type":"string"},"source":{"type":"string","enum":["PANEL","DRAFT","DEFAULT"]}},"required":["skill","outcome","learn","practice","prove","source"],"additionalProperties":false}}},"required":["id","slug","title","published","source","skills","updatedAt","reviewedAt","reviewedBy","requirements","texts"],"additionalProperties":false,"x-ts-type":"CareerContentDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage"}},"/admin/career-content/occupations/{id}/requirements":{"put":{"tags":["Admin"],"summary":"Beceri listesini kaydet (taslağın yerine geçer); danışman onayı düşer","operationId":"putAdminCareerContentOccupations/IdRequirements","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CareerContentDetail`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"slug":{"type":"string"},"title":{"type":"string"},"published":{"type":"boolean"},"source":{"type":"string","enum":["PANEL","DRAFT","CORE"]},"skills":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updatedAt":{"type":["string","null"]},"reviewedAt":{"type":["string","null"]},"reviewedBy":{"type":["string","null"]},"requirements":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"weight":{"type":"integer","minimum":1,"maximum":3},"level":{"type":"integer","minimum":1,"maximum":5}},"required":["skill","weight","level"],"additionalProperties":false}},"texts":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"outcome":{"type":"string"},"learn":{"type":"string"},"practice":{"type":"string"},"prove":{"type":"string"},"source":{"type":"string","enum":["PANEL","DRAFT","DEFAULT"]}},"required":["skill","outcome","learn","practice","prove","source"],"additionalProperties":false}}},"required":["id","slug","title","published","source","skills","updatedAt","reviewedAt","reviewedBy","requirements","texts"],"additionalProperties":false,"x-ts-type":"CareerContentDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requirements":{"minItems":1,"maxItems":15,"type":"array","items":{"type":"object","properties":{"skill":{"type":"string","minLength":2,"maxLength":80},"weight":{"type":"integer","minimum":1,"maximum":3},"level":{"type":"integer","minimum":1,"maximum":5}},"required":["skill","weight","level"]}}},"required":["requirements"]}}}}},"delete":{"tags":["Admin"],"summary":"Panel listesini sil, taslağa dön; danışman onayı düşer","operationId":"deleteAdminCareerContentOccupations/IdRequirements","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CareerContentDetail`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"slug":{"type":"string"},"title":{"type":"string"},"published":{"type":"boolean"},"source":{"type":"string","enum":["PANEL","DRAFT","CORE"]},"skills":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updatedAt":{"type":["string","null"]},"reviewedAt":{"type":["string","null"]},"reviewedBy":{"type":["string","null"]},"requirements":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"weight":{"type":"integer","minimum":1,"maximum":3},"level":{"type":"integer","minimum":1,"maximum":5}},"required":["skill","weight","level"],"additionalProperties":false}},"texts":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"outcome":{"type":"string"},"learn":{"type":"string"},"practice":{"type":"string"},"prove":{"type":"string"},"source":{"type":"string","enum":["PANEL","DRAFT","DEFAULT"]}},"required":["skill","outcome","learn","practice","prove","source"],"additionalProperties":false}}},"required":["id","slug","title","published","source","skills","updatedAt","reviewedAt","reviewedBy","requirements","texts"],"additionalProperties":false,"x-ts-type":"CareerContentDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage"}},"/admin/career-content/occupations/{id}/review":{"put":{"tags":["Admin"],"summary":"Kariyer danışmanı onayı ver / geri al (planlarda \"taslak\" uyarısı kalkar)","operationId":"putAdminCareerContentOccupations/IdReview","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CareerContentDetail`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"slug":{"type":"string"},"title":{"type":"string"},"published":{"type":"boolean"},"source":{"type":"string","enum":["PANEL","DRAFT","CORE"]},"skills":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updatedAt":{"type":["string","null"]},"reviewedAt":{"type":["string","null"]},"reviewedBy":{"type":["string","null"]},"requirements":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"weight":{"type":"integer","minimum":1,"maximum":3},"level":{"type":"integer","minimum":1,"maximum":5}},"required":["skill","weight","level"],"additionalProperties":false}},"texts":{"type":"array","items":{"type":"object","properties":{"skill":{"type":"string"},"outcome":{"type":"string"},"learn":{"type":"string"},"practice":{"type":"string"},"prove":{"type":"string"},"source":{"type":"string","enum":["PANEL","DRAFT","DEFAULT"]}},"required":["skill","outcome","learn","practice","prove","source"],"additionalProperties":false}}},"required":["id","slug","title","published","source","skills","updatedAt","reviewedAt","reviewedBy","requirements","texts"],"additionalProperties":false,"x-ts-type":"CareerContentDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reviewed":{"type":"boolean"}},"required":["reviewed"]}}}}}},"/admin/career-content/skills/{skill}":{"put":{"tags":["Admin"],"summary":"Becerinin yol haritası metinleri (hedef seviyede yapabildikleri, öğren, uygula, kanıtla); bu beceriyi isteyen her meslekte kullanılır","operationId":"putAdminCareerContentSkills/Skill","parameters":[{"name":"skill","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CareerSkillText`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"skill":{"type":"string"},"outcome":{"type":"string"},"learn":{"type":"string"},"practice":{"type":"string"},"prove":{"type":"string"},"source":{"type":"string","enum":["PANEL","DRAFT","DEFAULT"]}},"required":["skill","outcome","learn","practice","prove","source"],"additionalProperties":false,"x-ts-type":"CareerSkillText"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"outcome":{"type":"string","minLength":10,"maxLength":600},"learn":{"type":"string","minLength":10,"maxLength":600},"practice":{"type":"string","minLength":10,"maxLength":600},"prove":{"type":"string","minLength":10,"maxLength":600}},"required":["outcome","learn","practice","prove"]}}}}}},"/admin/reports":{"get":{"tags":["Admin"],"summary":"Şikâyet kuyruğu (durum, hedef türü; ilanlarda risk puanı)","operationId":"getAdminReports","parameters":[{"name":"status","in":"query","required":false,"schema":{"default":"OPEN","type":"string","enum":["OPEN","RESOLVED","DISMISSED"]}},{"name":"targetType","in":"query","required":false,"schema":{"type":"string","enum":["JOB","COMPANY","AD"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}}],"responses":{"200":{"description":"Yanıt: `Paginated<Report>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Paginated<Report>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: jobs.moderate","x-permission":"jobs.moderate"}},"/admin/verifications":{"get":{"tags":["Admin"],"summary":"Şirket doğrulama talepleri (vergi levhası; varsayılan bekleyenler)","operationId":"getAdminVerifications","parameters":[{"name":"status","in":"query","required":false,"schema":{"default":"PENDING","type":"string","enum":["PENDING","APPROVED","REJECTED"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}}],"responses":{"200":{"description":"Yanıt: `Paginated<VerificationRequest>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Paginated<VerificationRequest>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR, SUPPORT. İzin: companies.verify","x-permission":"companies.verify"}},"/admin/verifications/{id}/document":{"get":{"tags":["Admin"],"summary":"Doğrulama belgesini görüntüle (denetim kaydı tutulur; karardan 180 gün sonra silinir)","operationId":"getAdminVerifications/IdDocument","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `application/pdf | image/jpeg | image/png`","content":{"application/pdf | image/jpeg | image/png":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR, SUPPORT. İzin: companies.verify","x-permission":"companies.verify"}},"/admin/verifications/{id}/decide":{"post":{"tags":["Admin"],"summary":"Doğrulama talebini onayla / reddet (retle not zorunlu); şirkete bildirim gider","operationId":"postAdminVerifications/IdDecide","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ approved: boolean, companyId: number }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ approved: boolean, companyId: number }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR","SUPPORT"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR, SUPPORT. İzin: companies.verify","x-permission":"companies.verify","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"approve":{"type":"boolean"},"note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["approve"]}}}}}},"/admin/reports/{id}/resolve":{"post":{"tags":["Admin"],"summary":"Şikâyeti sonuçlandır (işlem yapıldı / reddedildi; isteğe bağlı ilanı yayından kaldır)","operationId":"postAdminReports/IdResolve","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ status: string }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ status: string }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: jobs.moderate","x-permission":"jobs.moderate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"decision":{"type":"string","enum":["RESOLVE","DISMISS"]},"note":{"type":"string","minLength":3,"maxLength":1000},"takeDown":{"default":false,"type":"boolean"}},"required":["decision","note"]}}}}}},"/admin/payroll-years":{"get":{"tags":["Admin"],"summary":"Hesaplama parametreleri (yıllar)","operationId":"getAdminPayrollYears","parameters":[],"responses":{"200":{"description":"Yanıt: `PayrollYear[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"PayrollYear[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage"}},"/admin/payroll-years/{year}":{"put":{"tags":["Admin"],"summary":"Yılın hesaplama parametrelerini kaydet (yoksa ekler)","operationId":"putAdminPayrollYears/Year","parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `PayrollYear`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"PayrollYear"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"minimumWageGrossKurus":{"type":"integer","minimum":1,"maximum":9007199254740991},"sgkEmployeeRate":{"type":"number","minimum":0,"maximum":1},"unemploymentEmployeeRate":{"type":"number","minimum":0,"maximum":1},"sgkEmployerRate":{"type":"number","minimum":0,"maximum":1},"unemploymentEmployerRate":{"type":"number","minimum":0,"maximum":1},"sgkCeilingMultiplier":{"type":"number","minimum":1,"maximum":20},"stampTaxRate":{"type":"number","minimum":0,"maximum":1},"incomeTaxBrackets":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"upToKurus":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"rate":{"type":"number","minimum":0,"maximum":1}},"required":["upToKurus","rate"]}},"severanceCeilings":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"amountKurus":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["from","amountKurus"]}},"reviewed":{"default":false,"type":"boolean"}},"required":["minimumWageGrossKurus","sgkEmployeeRate","unemploymentEmployeeRate","sgkEmployerRate","unemploymentEmployerRate","sgkCeilingMultiplier","stampTaxRate","incomeTaxBrackets","severanceCeilings"],"additionalProperties":false}}}}}},"/admin/assessments/{slug}/stats":{"get":{"tags":["Admin"],"summary":"Test pilot istatistikleri (ölçek ortalaması, Cronbach alfa, madde ortalamaları)","operationId":"getAdminAssessments/SlugStats","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `AssessmentStats`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AssessmentStats"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","CAREER_ADVISOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, CAREER_ADVISOR. İzin: content.manage","x-permission":"content.manage"}},"/admin/settings":{"get":{"tags":["Admin"],"summary":"Sistem ayarları (panel değeri veya ortam varsayılanı)","operationId":"getAdminSettings","parameters":[],"responses":{"200":{"description":"Yanıt: `SystemSetting[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SystemSetting[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: settings.manage","x-permission":"settings.manage"}},"/admin/settings/{key}":{"put":{"tags":["Admin"],"summary":"Sistem ayarını değiştir","operationId":"putAdminSettings/Key","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `SystemSetting[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SystemSetting[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: settings.manage","x-permission":"settings.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"value":{"type":"boolean"}},"required":["value"]}}}}},"delete":{"tags":["Admin"],"summary":"Panel değerini kaldır (ortam varsayılanına dön)","operationId":"deleteAdminSettings/Key","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `SystemSetting[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"SystemSetting[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: settings.manage","x-permission":"settings.manage"}},"/admin/billing/summary":{"get":{"tags":["Admin"],"summary":"Satış özeti: net gelir, iadeler, sipariş durumları, paket ve gün kırılımı, faturası girilmemiş siparişler","operationId":"getAdminBillingSummary","parameters":[{"name":"days","in":"query","required":false,"schema":{"default":30,"type":"number"}}],"responses":{"200":{"description":"Yanıt: `BillingSummary`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"BillingSummary"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.view","x-permission":"billing.view"}},"/admin/orders":{"get":{"tags":["Admin"],"summary":"Siparişler (durum, firma adı / sipariş no, faturası girilmemiş filtreleri)","operationId":"getAdminOrders","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["PENDING","PAID","FAILED","REFUNDED"]}},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"uninvoiced","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}}],"responses":{"200":{"description":"Yanıt: `Paginated<AdminOrder>`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"Paginated<AdminOrder>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.view","x-permission":"billing.view"}},"/admin/orders/{id}/refund":{"post":{"tags":["Admin"],"summary":"Ödenmiş siparişi iade et: kullanılmamış haklar geri alınır, şirkete bildirim gider (para iadesi sağlayıcı panelinden yapılır, referansı nota yazılır)","operationId":"postAdminOrders/IdRefund","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ status: string; jobCreditsRevoked: number; featuredCreditsRevoked: number; urgentCreditsRevoked: number; adKurusRevoked: number }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ status: string; jobCreditsRevoked: number; featuredCreditsRevoked: number; urgentCreditsRevoked: number; adKurusRevoked: number }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.manage","x-permission":"billing.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"note":{"type":"string","minLength":3,"maxLength":500}},"required":["note"]}}}}}},"/admin/orders/{id}/invoice":{"put":{"tags":["Admin"],"summary":"Siparişe fatura numarası kaydet (e-fatura entegrasyonuna kadar)","operationId":"putAdminOrders/IdInvoice","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `{ invoiceNo: string }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ invoiceNo: string }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.manage","x-permission":"billing.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"invoiceNo":{"type":"string","minLength":3,"maxLength":40}},"required":["invoiceNo"]}}}}}},"/ads/placements":{"get":{"tags":["Ads"],"summary":"Satıştaki reklam alanları, biçimleri ve fiyatları","operationId":"getAdsPlacements","parameters":[],"responses":{"200":{"description":"Yanıt: `AdPlacementInfo[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"name":{"type":"string"},"description":{"type":"string"},"formats":{"type":"array","items":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]}},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"minBudgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"active":{"type":"boolean"}},"required":["key","name","description","formats","pricing","priceKurus","minBudgetKurus","active"],"additionalProperties":false},"x-ts-type":"AdPlacementInfo[]"}}}},"400":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"public","security":[]}},"/ads":{"get":{"tags":["Ads"],"summary":"Bir reklam alanı için reklamlar (bağlamsal hedefleme: sayfanın ili/kategorisi; gösterim sunucuda sayılır, saatte kişi başı bir kez)","operationId":"getAds","parameters":[{"name":"placement","in":"query","required":true,"schema":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]}},{"name":"city","in":"query","required":false,"schema":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["Yazılım","Satış","Pazarlama","Finans","İnsan Kaynakları","Lojistik","Üretim","Sağlık","Eğitim","Müşteri Hizmetleri","Tasarım","Diğer"]}},{"name":"jobId","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"name":"limit","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":4}}],"responses":{"200":{"description":"Yanıt: `AdView[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"logoUrl":{"type":["string","null"]},"coverUrl":{"type":["string","null"]},"verified":{"type":"boolean"}},"required":["id","name","logoUrl","coverUrl","verified"],"additionalProperties":false},"job":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"city":{"type":"string"},"workType":{"type":"string","enum":["FULL_TIME","PART_TIME","INTERNSHIP","FREELANCE","CONTRACT"]},"workModel":{"type":"string","enum":["ONSITE","REMOTE","HYBRID"]}},"required":["id","title","city","workType","workModel"],"additionalProperties":false},{"type":"null"}]},"target":{"type":"object","properties":{"type":{"type":"string","enum":["COMPANY","JOB","URL"]},"companyId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"url":{"type":["string","null"]}},"required":["type","companyId","jobId","url"],"additionalProperties":false},"token":{"type":"string"}},"required":["id","format","placement","title","body","cta","imageUrl","company","job","target","token"],"additionalProperties":false},"x-ts-type":"AdView[]"}}}},"400":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}]}},"/ads/{id}/click":{"post":{"tags":["Ads"],"summary":"Reklam tıklaması (gösterimde verilen token ile; saatte kişi başı bir kez sayılır)","operationId":"postAds/IdClick","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":"optional","security":[{},{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","minLength":10,"maxLength":300}},"required":["token"]}}}}}},"/me/ads":{"get":{"tags":["Ads"],"summary":"Kampanyalarım, reklam bakiyem ve reklam alanları","operationId":"getMeAds","parameters":[],"responses":{"200":{"description":"Yanıt: `MyAds`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaigns":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt"],"additionalProperties":false}},"adBalanceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"placements":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"name":{"type":"string"},"description":{"type":"string"},"formats":{"type":"array","items":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]}},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"minBudgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"active":{"type":"boolean"}},"required":["key","name","description","formats","pricing","priceKurus","minBudgetKurus","active"],"additionalProperties":false}}},"required":["campaigns","adBalanceKurus","placements"],"additionalProperties":false,"x-ts-type":"MyAds"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage"},"post":{"tags":["Ads"],"summary":"Taslak kampanya oluştur","operationId":"postMeAds","parameters":[],"responses":{"201":{"description":"Yanıt: `AdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt"],"additionalProperties":false,"x-ts-type":"AdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":80},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"title":{"type":"string","minLength":2,"maxLength":80},"body":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}]},"cta":{"default":"LEARN_MORE","type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"cities":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"categories":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","enum":["Yazılım","Satış","Pazarlama","Finans","İnsan Kaynakları","Lojistik","Üretim","Sağlık","Eğitim","Müşteri Hizmetleri","Tasarım","Diğer"]}},"audience":{"default":"ALL","type":"string","enum":["ALL","CANDIDATES"]},"budgetKurus":{"type":"integer","minimum":100,"maximum":100000000},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["name","format","placement","title","targetType","budgetKurus","startsAt","endsAt"]}}}}}},"/me/ads/{id}":{"get":{"tags":["Ads"],"summary":"Kampanya ve günlük istatistikleri","operationId":"getMeAds/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdCampaignStats`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaign":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt"],"additionalProperties":false},"daily":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string"},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["day","impressions","clicks","spentKurus"],"additionalProperties":false}}},"required":["campaign","daily"],"additionalProperties":false,"x-ts-type":"AdCampaignStats"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage"},"put":{"tags":["Ads"],"summary":"Taslak/reddedilmiş kampanyayı düzenle (taslağa döner)","operationId":"putMeAds/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt"],"additionalProperties":false,"x-ts-type":"AdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":80},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"title":{"type":"string","minLength":2,"maxLength":80},"body":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}]},"cta":{"default":"LEARN_MORE","type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"cities":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","enum":["İstanbul","Ankara","İzmir","Bursa","Antalya","Kocaeli","Konya","Adana","Gaziantep","Kayseri","Eskişehir","Samsun","Trabzon","Adıyaman","Afyonkarahisar","Ağrı","Aksaray","Amasya","Ardahan","Artvin","Aydın","Balıkesir","Bartın","Batman","Bayburt","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Düzce","Edirne","Elazığ","Erzincan","Erzurum","Giresun","Gümüşhane","Hakkari","Hatay","Iğdır","Isparta","Kahramanmaraş","Karabük","Karaman","Kars","Kastamonu","Kırıkkale","Kırklareli","Kırşehir","Kilis","Kütahya","Malatya","Manisa","Mardin","Mersin","Muğla","Muş","Nevşehir","Niğde","Ordu","Osmaniye","Rize","Sakarya","Siirt","Sinop","Sivas","Şanlıurfa","Şırnak","Tekirdağ","Tokat","Tunceli","Uşak","Van","Yalova","Yozgat","Zonguldak"]}},"categories":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","enum":["Yazılım","Satış","Pazarlama","Finans","İnsan Kaynakları","Lojistik","Üretim","Sağlık","Eğitim","Müşteri Hizmetleri","Tasarım","Diğer"]}},"audience":{"default":"ALL","type":"string","enum":["ALL","CANDIDATES"]},"budgetKurus":{"type":"integer","minimum":100,"maximum":100000000},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["name","format","placement","title","targetType","budgetKurus","startsAt","endsAt"]}}}}},"delete":{"tags":["Ads"],"summary":"Taslak/reddedilmiş kampanyayı sil","operationId":"deleteMeAds/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage"}},"/me/ads/{id}/image":{"put":{"tags":["Ads"],"summary":"Reklam görseli (banner 1600×400, isteğe bağlı focusX/focusY kırpma noktası; akış gönderisi 1080×1080 WebP)","operationId":"putMeAds/IdImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt"],"additionalProperties":false,"x-ts-type":"AdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","contentMediaType":"image/*"},"focusX":{"type":"number","minimum":0,"maximum":100},"focusY":{"type":"number","minimum":0,"maximum":100}}}}}}}},"/me/ads/{id}/submit":{"post":{"tags":["Ads"],"summary":"Onaya gönder; bütçe reklam bakiyesinden ayrılır (yetersizse 402 NO_AD_BALANCE)","operationId":"postMeAds/IdSubmit","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt"],"additionalProperties":false,"x-ts-type":"AdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage"}},"/me/ads/{id}/pause":{"post":{"tags":["Ads"],"summary":"Yayındaki kampanyayı duraklat","operationId":"postMeAds/IdPause","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt"],"additionalProperties":false,"x-ts-type":"AdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage"}},"/me/ads/{id}/resume":{"post":{"tags":["Ads"],"summary":"Duraklatılmış kampanyayı sürdür","operationId":"postMeAds/IdResume","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt"],"additionalProperties":false,"x-ts-type":"AdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage"}},"/me/ads/{id}/stop":{"post":{"tags":["Ads"],"summary":"Kampanyayı bitir; harcanmayan bütçe bakiyeye döner","operationId":"postMeAds/IdStop","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt"],"additionalProperties":false,"x-ts-type":"AdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: ads.manage (OWNER, ADMIN, BILLING)","x-permission":"company:ads.manage"}},"/admin/ads":{"get":{"tags":["Admin"],"summary":"Reklam kampanyaları (durum filtresi; onay kuyruğu PENDING)","operationId":"getAdminAds","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]}}],"responses":{"200":{"description":"Yanıt: `AdminAdCampaign[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"verified":{"type":"boolean"}},"required":["id","name","verified"],"additionalProperties":false}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt","company"],"additionalProperties":false},"x-ts-type":"AdminAdCampaign[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: ads.moderate","x-permission":"ads.moderate"}},"/admin/ads/{id}/review":{"post":{"tags":["Admin"],"summary":"Reklamı onayla veya gerekçeyle reddet (ret: bütçe iade)","operationId":"postAdminAds/IdReview","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminAdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"verified":{"type":"boolean"}},"required":["id","name","verified"],"additionalProperties":false}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt","company"],"additionalProperties":false,"x-ts-type":"AdminAdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: ads.moderate","x-permission":"ads.moderate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"approve":{"type":"boolean"},"reason":{"type":"string","maxLength":500}},"required":["approve"]}}}}}},"/admin/ads/{id}/pause":{"post":{"tags":["Admin"],"summary":"Yayındaki reklamı duraklat (firmaya bildirilir)","operationId":"postAdminAds/IdPause","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminAdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"verified":{"type":"boolean"}},"required":["id","name","verified"],"additionalProperties":false}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt","company"],"additionalProperties":false,"x-ts-type":"AdminAdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: ads.moderate","x-permission":"ads.moderate"}},"/admin/ads/{id}/resume":{"post":{"tags":["Admin"],"summary":"Duraklatılmış reklamı yeniden yayına al","operationId":"postAdminAds/IdResume","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminAdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"verified":{"type":"boolean"}},"required":["id","name","verified"],"additionalProperties":false}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt","company"],"additionalProperties":false,"x-ts-type":"AdminAdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: ads.moderate","x-permission":"ads.moderate"}},"/admin/ads/{id}/take-down":{"post":{"tags":["Admin"],"summary":"Reklamı gerekçeyle yayından kaldır (harcanmayan bütçe iade)","operationId":"postAdminAds/IdTakeDown","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminAdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"verified":{"type":"boolean"}},"required":["id","name","verified"],"additionalProperties":false}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt","company"],"additionalProperties":false,"x-ts-type":"AdminAdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: ads.moderate","x-permission":"ads.moderate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reason":{"type":"string","minLength":5,"maxLength":500}},"required":["reason"]}}}}}},"/admin/ads/{id}":{"put":{"tags":["Admin"],"summary":"Onay bekleyen/yayındaki reklamın içeriğini, bütçesini veya bitiş tarihini düzenle (bütçe/tarih: billing.manage da gerekir)","operationId":"putAdminAds/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminAdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"verified":{"type":"boolean"}},"required":["id","name","verified"],"additionalProperties":false}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt","company"],"additionalProperties":false,"x-ts-type":"AdminAdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: ads.moderate","x-permission":"ads.moderate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":80},"body":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"targetUrl":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"budgetKurus":{"type":"integer","minimum":100,"maximum":100000000},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["title","cta"]}}}}}},"/admin/ads/{id}/image":{"put":{"tags":["Admin"],"summary":"Onay bekleyen/yayındaki reklamın görselini değiştir (focusX/focusY kırpma noktası)","operationId":"putAdminAds/IdImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminAdCampaign`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"format":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]},"placement":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"status":{"type":"string","enum":["DRAFT","PENDING","ACTIVE","PAUSED","REJECTED","ENDED"]},"title":{"type":"string"},"body":{"type":["string","null"]},"cta":{"type":"string","enum":["LEARN_MORE","APPLY","VIEW_JOBS","VIEW_COMPANY","FOLLOW","CONTACT"]},"imageUrl":{"type":["string","null"]},"targetType":{"type":"string","enum":["COMPANY","JOB","URL"]},"jobId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"targetUrl":{"type":["string","null"]},"cities":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"audience":{"type":"string","enum":["ALL","CANDIDATES"]},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"budgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spentKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"impressions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"rejectReason":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"company":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"verified":{"type":"boolean"}},"required":["id","name","verified"],"additionalProperties":false}},"required":["id","name","format","placement","status","title","body","cta","imageUrl","targetType","jobId","targetUrl","cities","categories","audience","pricing","priceKurus","budgetKurus","spentKurus","impressions","clicks","startsAt","endsAt","rejectReason","createdAt","updatedAt","company"],"additionalProperties":false,"x-ts-type":"AdminAdCampaign"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","MODERATOR"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, MODERATOR. İzin: ads.moderate","x-permission":"ads.moderate","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","contentMediaType":"image/*"},"focusX":{"type":"number","minimum":0,"maximum":100},"focusY":{"type":"number","minimum":0,"maximum":100}}}}}}}},"/admin/ad-placements":{"get":{"tags":["Admin"],"summary":"Reklam alanları ve fiyatları","operationId":"getAdminAdPlacements","parameters":[],"responses":{"200":{"description":"Yanıt: `AdPlacementInfo[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"name":{"type":"string"},"description":{"type":"string"},"formats":{"type":"array","items":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]}},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"minBudgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"active":{"type":"boolean"}},"required":["key","name","description","formats","pricing","priceKurus","minBudgetKurus","active"],"additionalProperties":false},"x-ts-type":"AdPlacementInfo[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.view","x-permission":"billing.view"}},"/admin/ad-placements/{key}":{"put":{"tags":["Admin"],"summary":"Reklam alanı fiyatı/durumu (yeni kampanyalara uygulanır)","operationId":"putAdminAdPlacements/Key","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `AdPlacementInfo`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"key":{"type":"string","enum":["HOME_BANNER","FEED","JOB_DETAIL","HOME_SPOTLIGHT"]},"name":{"type":"string"},"description":{"type":"string"},"formats":{"type":"array","items":{"type":"string","enum":["BANNER","NATIVE","SPOTLIGHT","SPONSORED_JOB"]}},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"minBudgetKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"active":{"type":"boolean"}},"required":["key","name","description","formats","pricing","priceKurus","minBudgetKurus","active"],"additionalProperties":false,"x-ts-type":"AdPlacementInfo"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.manage","x-permission":"billing.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":60},"description":{"type":"string","minLength":2,"maxLength":300},"pricing":{"type":"string","enum":["CPM","CPC"]},"priceKurus":{"type":"integer","minimum":1,"maximum":10000000},"minBudgetKurus":{"type":"integer","minimum":100,"maximum":100000000},"active":{"type":"boolean"}},"required":["name","description","pricing","priceKurus","minBudgetKurus","active"]}}}}}},"/billing/coupon-quote":{"post":{"tags":["Billing"],"summary":"Kuponun pakete etkisi (indirim ve ödenecek tutar; geçersizse 400)","operationId":"postBillingCouponQuote","parameters":[],"responses":{"200":{"description":"Yanıt: `CouponQuote`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string"},"description":{"type":"string"},"packageId":{"type":"string"},"listPriceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"discountKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amountKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["code","description","packageId","listPriceKurus","discountKurus","amountKurus"],"additionalProperties":false,"x-ts-type":"CouponQuote"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: billing.manage (OWNER, ADMIN, BILLING)","x-permission":"company:billing.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"packageId":{"type":"string","minLength":1,"maxLength":40},"code":{"type":"string"}},"required":["packageId","code"]}}}}}},"/billing/coupon-quotes":{"post":{"tags":["Billing"],"summary":"Kuponun satıştaki tüm paketlere etkisi (uymayan paketler listede yok; hiçbirine uymuyorsa 400)","operationId":"postBillingCouponQuotes","parameters":[],"responses":{"200":{"description":"Yanıt: `CouponQuote[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"description":{"type":"string"},"packageId":{"type":"string"},"listPriceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"discountKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amountKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["code","description","packageId","listPriceKurus","discountKurus","amountKurus"],"additionalProperties":false},"x-ts-type":"CouponQuote[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["EMPLOYER"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: EMPLOYER. Şirket izni: billing.manage (OWNER, ADMIN, BILLING)","x-permission":"company:billing.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string"}},"required":["code"]}}}}}},"/admin/coupons":{"get":{"tags":["Admin"],"summary":"İndirim kuponları ve kullanım sayıları","operationId":"getAdminCoupons","parameters":[],"responses":{"200":{"description":"Yanıt: `Coupon[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"description":{"type":"string"},"percentOff":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"amountOffKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"packageIds":{"type":"array","items":{"type":"string"}},"validFrom":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"validUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"maxRedemptions":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"perCompany":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"active":{"type":"boolean"},"redemptions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["code","description","percentOff","amountOffKurus","packageIds","validFrom","validUntil","maxRedemptions","perCompany","active","redemptions","createdAt"],"additionalProperties":false},"x-ts-type":"Coupon[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.view","x-permission":"billing.view"}},"/admin/coupons/{code}":{"put":{"tags":["Admin"],"summary":"Kupon oluştur/güncelle (yüzde veya tutar; paket, tarih ve kullanım sınırları)","operationId":"putAdminCoupons/Code","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Yanıt: `Coupon`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string"},"description":{"type":"string"},"percentOff":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"amountOffKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"packageIds":{"type":"array","items":{"type":"string"}},"validFrom":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"validUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"maxRedemptions":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"perCompany":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"active":{"type":"boolean"},"redemptions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["code","description","percentOff","amountOffKurus","packageIds","validFrom","validUntil","maxRedemptions","perCompany","active","redemptions","createdAt"],"additionalProperties":false,"x-ts-type":"Coupon"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.manage","x-permission":"billing.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"description":{"type":"string","minLength":2,"maxLength":200},"percentOff":{"anyOf":[{"type":"integer","minimum":1,"maximum":99},{"type":"null"}]},"amountOffKurus":{"anyOf":[{"type":"integer","minimum":100,"maximum":100000000},{"type":"null"}]},"packageIds":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":40}},"validFrom":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"validUntil":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"maxRedemptions":{"anyOf":[{"type":"integer","minimum":1,"maximum":1000000},{"type":"null"}]},"perCompany":{"default":1,"type":"integer","minimum":1,"maximum":100},"active":{"default":true,"type":"boolean"}},"required":["description"]}}}}}},"/admin/announcements":{"get":{"tags":["Admin"],"summary":"Gönderilen toplu duyurular (son 50)","operationId":"getAdminAnnouncements","parameters":[],"responses":{"200":{"description":"Yanıt: `Announcement[]`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["SERVICE","CAMPAIGN"]},"audience":{"type":"string","enum":["ALL","CANDIDATE","EMPLOYER"]},"title":{"type":"string"},"body":{"type":"string"},"link":{"type":["string","null"]},"recipients":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["id","fullName"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string"}},"required":["id","kind","audience","title","body","link","recipients","sentBy","createdAt"],"additionalProperties":false},"x-ts-type":"Announcement[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: announcements.send","x-permission":"announcements.send"},"post":{"tags":["Admin"],"summary":"Toplu duyuru gönder (hizmet: hedef kitlenin tamamı, tercihlere göre push/e-posta; kampanya: yalnızca izin verenlere push)","operationId":"postAdminAnnouncements","parameters":[],"responses":{"201":{"description":"Yanıt: `Announcement`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["SERVICE","CAMPAIGN"]},"audience":{"type":"string","enum":["ALL","CANDIDATE","EMPLOYER"]},"title":{"type":"string"},"body":{"type":"string"},"link":{"type":["string","null"]},"recipients":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"}},"required":["id","fullName"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string"}},"required":["id","kind","audience","title","body","link","recipients","sentBy","createdAt"],"additionalProperties":false,"x-ts-type":"Announcement"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: announcements.send","x-permission":"announcements.send","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"kind":{"type":"string","enum":["SERVICE","CAMPAIGN"]},"title":{"type":"string","minLength":3,"maxLength":80},"body":{"type":"string","minLength":5,"maxLength":300},"link":{"anyOf":[{"type":"string","maxLength":200,"pattern":"^\\/(?!\\/)[^\\s\\\\]*$"},{"type":"null"}]},"audience":{"type":"string","enum":["ALL","CANDIDATE","EMPLOYER"]}},"required":["kind","title","body","audience"]}}}}}},"/admin/announcements/preview":{"post":{"tags":["Admin"],"summary":"Duyurunun ulaşacağı kişi sayısı (kampanya: yalnızca izin verenler)","operationId":"postAdminAnnouncementsPreview","parameters":[],"responses":{"200":{"description":"Yanıt: `{ recipients: number }`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"{ recipients: number }"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: announcements.send","x-permission":"announcements.send","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"kind":{"type":"string","enum":["SERVICE","CAMPAIGN"]},"audience":{"type":"string","enum":["ALL","CANDIDATE","EMPLOYER"]}},"required":["kind","audience"]}}}}}},"/admin/announcements/test":{"post":{"tags":["Admin"],"summary":"Duyuruyu yalnızca kendine test olarak gönder","operationId":"postAdminAnnouncementsTest","parameters":[],"responses":{"204":{"description":"Başarılı, gövde yok"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN. İzin: announcements.send","x-permission":"announcements.send","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"kind":{"type":"string","enum":["SERVICE","CAMPAIGN"]},"title":{"type":"string","minLength":3,"maxLength":80},"body":{"type":"string","minLength":5,"maxLength":300},"link":{"anyOf":[{"type":"string","maxLength":200,"pattern":"^\\/(?!\\/)[^\\s\\\\]*$"},{"type":"null"}]}},"required":["kind","title","body"]}}}}}},"/admin/packages":{"get":{"tags":["Admin"],"summary":"İlan paketleri (satıştan kaldırılanlar dahil, satış adetleriyle)","operationId":"getAdminPackages","parameters":[],"responses":{"200":{"description":"Yanıt: `AdminListingPackage[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminListingPackage[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.view","x-permission":"billing.view"}},"/admin/packages/{id}":{"put":{"tags":["Admin"],"summary":"Paket oluştur / güncelle (yalnızca yeni siparişleri etkiler)","operationId":"putAdminPackages/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminListingPackage[]`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"AdminListingPackage[]"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: billing.manage","x-permission":"billing.manage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":60},"description":{"type":"string","minLength":2,"maxLength":200},"jobCredits":{"type":"integer","minimum":0,"maximum":1000},"featuredCredits":{"type":"integer","minimum":0,"maximum":1000},"urgentCredits":{"type":"integer","minimum":0,"maximum":1000},"adBudgetKurus":{"type":"integer","minimum":0,"maximum":100000000},"priceKurus":{"type":"integer","minimum":100,"maximum":100000000},"highlight":{"default":false,"type":"boolean"},"active":{"default":true,"type":"boolean"},"sortOrder":{"default":0,"type":"integer","minimum":0,"maximum":1000}},"required":["name","description","jobCredits","featuredCredits","priceKurus"]}}}}}},"/admin/companies":{"get":{"tags":["Admin"],"summary":"Şirketler: arama (ad, ekip e-postası), doğrulama filtresi, sahip, ekip, ilan, başvuru, kredi; ödenen tutar yalnızca billing.view","operationId":"getAdminCompanies","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"verified","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"pageSize","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Yanıt: `Paginated<AdminCompany>`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"verified":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"owner":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"email":{"type":"string"}},"required":["id","fullName","email"],"additionalProperties":false},{"type":"null"}]},"members":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"activeJobs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalJobs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applications":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"credits":{"type":"object","properties":{"jobCredits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"featuredCredits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"urgentCredits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"adBalanceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["jobCredits","featuredCredits","urgentCredits","adBalanceKurus"],"additionalProperties":false},"paidOrders":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"paidKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","name","sector","city","verified","createdAt","owner","members","activeJobs","totalJobs","applications","credits","paidOrders","paidKurus"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pageSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items","total","page","pageSize","totalPages"],"additionalProperties":false,"x-ts-type":"Paginated<AdminCompany>"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT, BILLING_ADMIN. İzin: users.view","x-permission":"users.view"}},"/admin/companies/{id}":{"get":{"tags":["Admin"],"summary":"Şirket ayrıntısı: ekip, son ilanlar, kredi hareketleri","operationId":"getAdminCompanies/Id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `AdminCompanyDetail`","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"sector":{"type":["string","null"]},"city":{"type":["string","null"]},"verified":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"owner":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"email":{"type":"string"}},"required":["id","fullName","email"],"additionalProperties":false},{"type":"null"}]},"members":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"activeJobs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalJobs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applications":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"credits":{"type":"object","properties":{"jobCredits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"featuredCredits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"urgentCredits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"adBalanceKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["jobCredits","featuredCredits","urgentCredits","adBalanceKurus"],"additionalProperties":false},"paidOrders":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"paidKurus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"website":{"type":["string","null"]},"employeeCount":{"type":["string","null"]},"about":{"type":["string","null"]},"team":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fullName":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["OWNER","ADMIN","RECRUITER","BILLING"]},"suspended":{"type":"boolean"},"joinedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["userId","fullName","email","role","suspended","joinedAt"],"additionalProperties":false}},"jobs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"status":{"type":"string","enum":["PENDING","ACTIVE","REJECTED","CLOSED"]},"city":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"applications":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","title","status","city","createdAt","applications"],"additionalProperties":false}},"creditHistory":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reason":{"type":"string","enum":["PURCHASE","SIGNUP_BONUS","JOB_POSTED","JOB_REFUND","JOB_RENEWED","FEATURED","URGENT","ADMIN_GRANT","REFUND","AD_CAMPAIGN","AD_RETURN"]},"jobCredits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"featuredCredits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"urgentCredits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"adKurus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"note":{"type":["string","null"]}},"required":["at","reason","jobCredits","featuredCredits","urgentCredits","adKurus","note"],"additionalProperties":false}}},"required":["id","name","sector","city","verified","createdAt","owner","members","activeJobs","totalJobs","applications","credits","paidOrders","paidKurus","website","employeeCount","about","team","jobs","creditHistory"],"additionalProperties":false,"x-ts-type":"AdminCompanyDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","SUPPORT","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, SUPPORT, BILLING_ADMIN. İzin: users.view","x-permission":"users.view"}},"/admin/companies/{id}/credits":{"post":{"tags":["Admin"],"summary":"Şirkete kredi tanımla","operationId":"postAdminCompanies/IdCredits","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Yanıt: `CreditBalance`","content":{"application/json":{"schema":{"type":"object","x-ts-type":"CreditBalance"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"}},"x-access":["ADMIN","BILLING_ADMIN"],"security":[{"bearerAuth":[]}],"description":"Yetkili roller: ADMIN, BILLING_ADMIN. İzin: credits.grant","x-permission":"credits.grant","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"jobCredits":{"default":0,"type":"integer","minimum":-100,"maximum":1000},"featuredCredits":{"default":0,"type":"integer","minimum":-100,"maximum":1000},"urgentCredits":{"default":0,"type":"integer","minimum":-100,"maximum":1000},"adKurus":{"default":0,"type":"integer","minimum":-10000000,"maximum":10000000},"note":{"type":"string","minLength":3,"maxLength":300}},"required":["note"]}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"apiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"İ13: firma API anahtarı (işveren paneli → Entegrasyonlar)"}},"schemas":{"ApiErrorBody":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Kullanıcıya gösterilebilir Türkçe mesaj"},"code":{"type":"string","enum":["BAD_REQUEST","VALIDATION_ERROR","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","CONFLICT","RATE_LIMITED","INTERNAL_ERROR","UPSTREAM_ERROR","EMAIL_NOT_VERIFIED","NO_JOB_CREDITS","NO_FEATURED_CREDITS","NO_URGENT_CREDITS","NO_AD_BALANCE","BILLING_INFO_REQUIRED","SIGN_IN_REQUIRED","TOKEN_EXPIRED","SESSION_REVOKED","REFRESH_CONFLICT","TWO_FACTOR_REQUIRED","TWO_FACTOR_INVALID","TWO_FACTOR_SETUP_REQUIRED","OAUTH_SIGNUP_REQUIRED","MALWARE_DETECTED"]},"details":{"description":"Doğrulama hataları (VALIDATION_ERROR) veya ek bilgi"}}}},"responses":{"Error":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}}}}}}