{"openapi":"3.1.0","info":{"title":"Sosyotrend haber API (haberself)","version":"2.0","description":"haberself üzerindeki bu haber sitesine taslak haber yazma API'si. Anahtar: Ayarlar → API ve Yapay Zekâ. Ayrıntılı rehber: /llms.txt"},"servers":[{"url":"https://sosyotrend.com/api/v2"}],"security":[{"anahtar":[]}],"components":{"securitySchemes":{"anahtar":{"type":"http","scheme":"bearer","description":"Authorization: Bearer hsk_..."}},"schemas":{"Basari":{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"additionalProperties":true},"Hata":{"type":"object","properties":{"ok":{"type":"boolean","const":false},"hata":{"type":"string"},"mesaj":{"type":"string"}}}}},"paths":{"/ben":{"get":{"operationId":"get_ben","summary":"Kimlik doğrulanan üye ve site","description":"Anahtarın hangi üye ve siteye ait olduğunu döner. Bağlantıyı test etmek için ilk çağrı.","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}}}},"/kategoriler":{"get":{"operationId":"get_kategoriler","summary":"Sitenin kategorileri","description":"Düz liste: id, adi, ust_id (0 = kök).","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}}}},"/haberler":{"get":{"operationId":"get_haberler","summary":"Son haberlerim","description":"Bu sitedeki taslak ve yayındaki haberlerin (en yeniden). Sorgu: limit (en fazla 100).","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}}},"post":{"operationId":"post_haberler","summary":"Yeni taslak oluştur","description":"Tek çağrıda tam taslak: üst alanlar + gövde + kapak görseli. Haber TASLAK olarak oluşur.","responses":{"201":{"description":"201 {haber}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"baslik":{"type":"string","description":"Başlık (10–110 karakter önerilir, en fazla 160)"},"kisa_baslik":{"type":"string","description":"Listelerde görünen kısa başlık (en fazla 80)"},"spot":{"type":"string","description":"Başlığın altındaki özet, 1–2 cümle (en fazla 600)"},"listeturu":{"type":"string","description":"Düzen: makale | maddeli | numarali | tersnumarali"},"tur":{"type":"string","description":"Tür: normal | viral"},"kategoriler":{"type":"array","items":{"type":"integer"},"description":"Kategori kimlikleri (GET /kategoriler)"},"metin":{"type":"string","description":"Makale gövdesi. HTML (p, h2, h3, b, i, ul/li, a) ya da boş satırla ayrılmış düz metin"},"bolumler":{"type":"array","items":{"type":"object"},"description":"Liste düzeni için bölümler: [{baslik, metin}] (metin düz metin)"},"kapak_url":{"type":"string","description":"Kapak görseli adresi (https, JPG/PNG/GIF). İndirilip sitenin görsel sunucusuna yüklenir"}}}}}}}},"/haberler/{id}":{"get":{"operationId":"get_haberler_id","summary":"Haberi getir","description":"Editörün gördüğü tüm durum: alanlar, bölümler, görseller, yerleşim.","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]},"patch":{"operationId":"patch_haberler_id","summary":"Haberi güncelle","description":"Yalnız gönderilen alanlar yazılır.","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"baslik":{"type":"string","description":"Başlık (10–110 karakter önerilir, en fazla 160)"},"kisa_baslik":{"type":"string","description":"Listelerde görünen kısa başlık (en fazla 80)"},"spot":{"type":"string","description":"Başlığın altındaki özet, 1–2 cümle (en fazla 600)"},"listeturu":{"type":"string","description":"Düzen: makale | maddeli | numarali | tersnumarali"},"tur":{"type":"string","description":"Tür: normal | viral"},"kategoriler":{"type":"array","items":{"type":"integer"},"description":"Kategori kimlikleri (GET /kategoriler)"},"gorunen_tarih":{"type":"integer","description":"Haberde görünen tarih (unix zamanı); yalnız site sahibi"}}}}}}},"delete":{"operationId":"delete_haberler_id","summary":"Taslağı sil","description":"Yalnız taslak durumundaki haber silinir.","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"/haberler/{id}/kontrol":{"get":{"operationId":"get_haberler_id_kontrol","summary":"Yayın kontrolü","description":"engel[] (yayını durdurur) ve uyari[] (eksik ama yayınlanabilir) listeleri.","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"/haberler/{id}/yayinla":{"post":{"operationId":"post_haberler_id_yayinla","summary":"Yayınla","description":"API anahtarıyla şu an KAPALI: API'den gelen haberler moderasyon katmanı açılana kadar taslak kalır ve site panelinden yayınlanır.","responses":{"200":{"description":"Başarılı (oturumla)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"403":{"description":"403 moderasyon_bekliyor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"/haberler/{id}/taslak":{"post":{"operationId":"post_haberler_id_taslak","summary":"Yayından kaldır","description":"Haberi taslağa alır; manşet/anasayfa yerleşimleri kapanır.","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"/haberler/{id}/bolumler":{"post":{"operationId":"post_haberler_id_bolumler","summary":"Bölüm ekle","description":"Gövdeye yeni bölüm ekler (makalede ara başlıklı bölüm, listede madde).","responses":{"201":{"description":"201 {id}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"baslik":{"type":"string","description":"Bölüm başlığı"},"metin":{"type":"string","description":"Bölüm metni"}}}}}}}},"/haberler/{id}/bolumler/{bid}":{"patch":{"operationId":"patch_haberler_id_bolumler_bid","summary":"Bölümü güncelle","description":"","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"bid","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"baslik":{"type":"string"},"metin":{"type":"string"},"aktif":{"type":"boolean","description":"false = yayında gizli"},"numarasiz":{"type":"boolean","description":"Numaralı listede numara verme"}}}}}}},"delete":{"operationId":"delete_haberler_id_bolumler_bid","summary":"Bölümü sil","description":"","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"bid","in":"path","required":true,"schema":{"type":"integer"}}]}},"/haberler/{id}/bolumler/sira":{"post":{"operationId":"post_haberler_id_bolumler_sira","summary":"Bölüm sırası","description":"Bölüm kimliklerini istenen sırayla gönder.","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"idler":{"type":"array","items":{"type":"integer"},"description":"Bölüm kimlikleri"}}}}}}}},"/haberler/{id}/gorseller":{"post":{"operationId":"post_haberler_id_gorseller","summary":"Görsel yükle","description":"multipart/form-data (dosya alanı: dosya) ya da JSON {yer, url}. Makale içine görsel için yer=govde ile yükleyip dönen id ile metne (img:#id) yaz.","responses":{"201":{"description":"201 {gorsel}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yer":{"type":"string","description":"kapak | manset | sag-manset | bolum | govde"},"url":{"type":"string","description":"Görsel adresi (dosya yerine)"},"bolum_id":{"type":"integer","description":"yer=bolum ya da govde için bölüm kimliği"}}}},"multipart/form-data":{"schema":{"type":"object","properties":{"yer":{"type":"string","description":"kapak | manset | sag-manset | bolum | govde"},"url":{"type":"string","description":"Görsel adresi (dosya yerine)"},"bolum_id":{"type":"integer","description":"yer=bolum ya da govde için bölüm kimliği"},"dosya":{"type":"string","format":"binary"}}}}}}}},"/haberler/{id}/gorseller/{yer}":{"delete":{"operationId":"delete_haberler_id_gorseller_yer","summary":"Görseli kaldır","description":"yer=bolum için sona bölüm kimliği ekle: /gorseller/bolum/{bid}","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"yer","in":"path","required":true,"schema":{"type":"string"}}]}},"/haberler/{id}/yerler":{"post":{"operationId":"post_haberler_id_yerler","summary":"Yerleşim","description":"Anasayfa/manşet/sürmanşet görünürlüğü; üyenin yetkisi gerekir. Taslakta açılan yer, haber yayınlanınca devreye girer.","responses":{"200":{"description":"Başarılı: {\"ok\":true,...}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Basari"}}}},"4XX":{"description":"Hata: {\"ok\":false,\"hata\":\"kod\",\"mesaj\":\"...\"}","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hata"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yer":{"type":"string","description":"anasayfagos | surmangos | mansetgos | sagmangos | mansetmetgiz"},"acik":{"type":"boolean"}}}}}}}}}}