API reference
All endpoints: https://modelen.tr/api/v1. Key-protected endpoints need Authorization: Bearer mdl_...; "Public" ones need no key and allow CORS.
GET /saglik#
Health check · General · no key
Responses:
| HTTP | Meaning |
|---|---|
| 200 | Servis ayakta |
200 response fields:
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
durum | string | ||
zaman | integer |
GET /koordinatorler#
List approved coordinators · Public · no key
Responses:
| HTTP | Meaning |
|---|---|
| 200 | Liste |
200 response fields:
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
surum | integer | ||
guncelleme | string | ||
koordinatorler | array |
GET /koordinatorler/{slug}#
Public details of a coordinator · Public · no key
Path parameter: slug
Responses:
| HTTP | Meaning |
|---|---|
| 200 | Koordinatör |
| 404 | Yok ya da onaylı değil |
200 response fields:
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
slug | string | ||
ad | string | ||
aciklama | string | ||
adres | string | ||
adres_dogrulandi | boolean | ||
hf | string | ||
baglanti | string | ||
nabiz | NabizDurumu | ||
sayfa | string |
GET /ben#
Account of the key owner · Account · key required
Responses:
| HTTP | Meaning |
|---|---|
| 200 | Hesap |
| 401 | Anahtar yok ya da geçersiz |
| 429 | Hız sınırı aşıldı |
200 response fields:
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | integer | ||
ad | string | ||
eposta | string | ||
eposta_dogrulandi | boolean | ||
rol | string | ||
koordinator | object |
GET /koordinator#
My coordinator record · Coordinator · key required
Responses:
| HTTP | Meaning |
|---|---|
| 200 | Kayıt |
| 404 | Başvuru yok |
| 401 | Anahtar yok ya da geçersiz |
| 429 | Hız sınırı aşıldı |
200 response fields:
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
slug | string | ||
ad | string | Proje / koordinatör adı en az 2 karakter, en çok 60 karakter | |
kisa | string | Listelerde görünen kısa açıklama en az 10 karakter, en çok 200 karakter | |
ayrinti | string | Herkese açık ayrıntılı açıklama (düz metin) en çok 5000 karakter | |
baglanti | string | Web sitesi ya da depo (http/https) en çok 200 karakter | |
adres | string | Koordinatör adresi (https); boş olabilir en çok 200 karakter | |
hf | string | Hugging Face bağlantısı (huggingface.co / hf.co) en çok 200 karakter | |
iletisim | string | Yalnızca yöneticilere görünen iletişim e-postası en çok 120 karakter | |
durum | string (beklemede | onaylandi | reddedildi | askida) | ||
yonetici_notu | string | ||
taslak_var | boolean | Onaylı profilde onay bekleyen düzenleme var | |
adres_dogrulandi | boolean | ||
gorsel_sayisi | integer | ||
sayfa | string | Onaylıysa herkese açık sayfa | |
nabiz | NabizDurumu |
POST /koordinator#
Create a coordinator application · Coordinator · key required
Request body (JSON):
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
ad | string | Proje / koordinatör adı en az 2 karakter, en çok 60 karakter | |
kisa | string | Listelerde görünen kısa açıklama en az 10 karakter, en çok 200 karakter | |
ayrinti | string | Herkese açık ayrıntılı açıklama (düz metin) en çok 5000 karakter | |
baglanti | string | Web sitesi ya da depo (http/https) en çok 200 karakter | |
adres | string | Koordinatör adresi (https); boş olabilir en çok 200 karakter | |
hf | string | Hugging Face bağlantısı (huggingface.co / hf.co) en çok 200 karakter | |
iletisim | string | Yalnızca yöneticilere görünen iletişim e-postası en çok 120 karakter |
Responses:
| HTTP | Meaning |
|---|---|
| 201 | Oluşturuldu |
| 400 | Doğrulama hatası |
| 403 | E-posta doğrulanmamış |
| 409 | Zaten başvuru var |
| 401 | Anahtar yok ya da geçersiz |
| 429 | Hız sınırı aşıldı |
201 response fields:
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
slug | string | ||
ad | string | Proje / koordinatör adı en az 2 karakter, en çok 60 karakter | |
kisa | string | Listelerde görünen kısa açıklama en az 10 karakter, en çok 200 karakter | |
ayrinti | string | Herkese açık ayrıntılı açıklama (düz metin) en çok 5000 karakter | |
baglanti | string | Web sitesi ya da depo (http/https) en çok 200 karakter | |
adres | string | Koordinatör adresi (https); boş olabilir en çok 200 karakter | |
hf | string | Hugging Face bağlantısı (huggingface.co / hf.co) en çok 200 karakter | |
iletisim | string | Yalnızca yöneticilere görünen iletişim e-postası en çok 120 karakter | |
durum | string (beklemede | onaylandi | reddedildi | askida) | ||
yonetici_notu | string | ||
taslak_var | boolean | Onaylı profilde onay bekleyen düzenleme var | |
adres_dogrulandi | boolean | ||
gorsel_sayisi | integer | ||
sayfa | string | Onaylıysa herkese açık sayfa | |
nabiz | NabizDurumu |
PATCH /koordinator#
Update coordinator details · Coordinator · key required
Request body (JSON):
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
ad | string | Proje / koordinatör adı en az 2 karakter, en çok 60 karakter | |
kisa | string | Listelerde görünen kısa açıklama en az 10 karakter, en çok 200 karakter | |
ayrinti | string | Herkese açık ayrıntılı açıklama (düz metin) en çok 5000 karakter | |
baglanti | string | Web sitesi ya da depo (http/https) en çok 200 karakter | |
adres | string | Koordinatör adresi (https); boş olabilir en çok 200 karakter | |
hf | string | Hugging Face bağlantısı (huggingface.co / hf.co) en çok 200 karakter | |
iletisim | string | Yalnızca yöneticilere görünen iletişim e-postası en çok 120 karakter |
Responses:
| HTTP | Meaning |
|---|---|
| 200 | Güncellendi |
| 202 | Taslak olarak kaydedildi (onay bekliyor) |
| 400 | Doğrulama hatası |
| 404 | Başvuru yok |
| 409 | Askıda |
| 401 | Anahtar yok ya da geçersiz |
| 429 | Hız sınırı aşıldı |
200 response fields:
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
slug | string | ||
ad | string | Proje / koordinatör adı en az 2 karakter, en çok 60 karakter | |
kisa | string | Listelerde görünen kısa açıklama en az 10 karakter, en çok 200 karakter | |
ayrinti | string | Herkese açık ayrıntılı açıklama (düz metin) en çok 5000 karakter | |
baglanti | string | Web sitesi ya da depo (http/https) en çok 200 karakter | |
adres | string | Koordinatör adresi (https); boş olabilir en çok 200 karakter | |
hf | string | Hugging Face bağlantısı (huggingface.co / hf.co) en çok 200 karakter | |
iletisim | string | Yalnızca yöneticilere görünen iletişim e-postası en çok 120 karakter | |
durum | string (beklemede | onaylandi | reddedildi | askida) | ||
yonetici_notu | string | ||
taslak_var | boolean | Onaylı profilde onay bekleyen düzenleme var | |
adres_dogrulandi | boolean | ||
gorsel_sayisi | integer | ||
sayfa | string | Onaylıysa herkese açık sayfa | |
nabiz | NabizDurumu |
POST /koordinator/nabiz#
Heartbeat · Coordinator · key required
Request body (JSON):
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
durum | string (calisiyor | bekliyor | bakimda | durdu) | evet | |
tur | integer | en az 0 | |
toplam_tur | integer | en az 0 | |
aktif_isci | integer | en az 0 | |
protokol | string | en çok 10 karakter | |
surum | string | en çok 30 karakter | |
mesaj | string | en çok 120 karakter |
Responses:
| HTTP | Meaning |
|---|---|
| 200 | Kaydedildi |
| 400 | Geçersiz gövde |
| 403 | Onaylı koordinatör değil |
| 401 | Anahtar yok ya da geçersiz |
| 429 | Hız sınırı aşıldı |
POST /koordinator/adres-dogrula#
Start address verification · Coordinator · key required
Responses:
| HTTP | Meaning |
|---|---|
| 200 | Talimat |
| 400 | Adres yok ya da https değil |
| 404 | Başvuru yok |
| 401 | Anahtar yok ya da geçersiz |
| 429 | Hız sınırı aşıldı |
200 response fields:
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
adres | string | ||
dosya | string | Bu adreste yayınlanmalı | |
icerik | string | Dosyanın tek satırlık içeriği |
POST /koordinator/adres-dogrula/kontrol#
Check address verification · Coordinator · key required
Responses:
| HTTP | Meaning |
|---|---|
| 200 | Doğrulandı |
| 422 | Dosya yok ya da içerik uyuşmuyor |
| 400 | Önce doğrulamayı başlatın |
| 401 | Anahtar yok ya da geçersiz |
| 429 | Hız sınırı aşıldı |
200 response fields:
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
adres_dogrulandi | boolean |
Error format#
All errors have this shape; kod is machine-readable, hata human-readable:
{"hata": "Geçerli bir API anahtarı gerekli (Authorization: Bearer mdl_...).", "kod": "yetkisiz"}