Radír Várólista

KRÉTA API dokumentáció

Az e-KRÉTA végpontjai egy helyen: bejelentkezés, tokenek, jegyek, órarend, hiányzások, házik, üzenetek és DKT, a valódi mezőnevekkel. A neten szétszórt, sokszor elavult leírásokat összevetettük a ma is működő kliensekkel, és mindenhol jelöljük, mi működik.

Utoljára ellenőrizve: 2026. november 13. · Források

Áttekintés

Három szerverrel dolgozol. Mindegyik HTTPS-en, JSON-t ad vissza.

SzerverMire való
https://idp.e-kreta.huBejelentkezés (OpenID Connect): authorize, token, revocation
https://{intezmeny}.e-kreta.huAz iskola saját szervere. Az ellenőrző végpontjai az /ellenorzo/V3/Sajat/ alatt vannak.
https://eugyintezes.e-kreta.huÜzenetek, címzettek, csatolmányok (/api/v1/)

Minden végpont mellett jelöljük, mennyire biztos: működik a Radír app napi szinten használja, tesztekkel; működik · kreta-tui egy friss nyílt forrású kliens (kreta-tui, 2026. október) használja, mi nem teszteltük; nem ellenőrzött régebbi kliensekből ismert; elavult már nem működik.

Az {intezmeny} az iskola intézménykódja, például klik012345001. A bejelentkezés után az access tokenből olvasható ki (lásd lent).

Iskola keresése

működikGEThttps://idp.e-kreta.hu/logininstituteselector?searchValue={keresés}

Ugyanaz a kereső, ami a KRÉTA bejelentkező oldalán az iskolaválasztó mezőt tölti ki. Legalább 3 karakter kell: OM-azonosító, névrészlet vagy intézménykód. Nem JSON-t ad, hanem HTML-részletet; minden találat egy link, a data-val attribútumban az intézménykóddal:

<a … data-val="klik012345001">Petőfi Sándor Gimnázium (Budapest)</a>

Böngészős user agenttel kérd le. A régi, JSON-os intézménylista (kretaglobalmobileapi2.ekreta.hu/api/v3/Institute) már 404-et ad, lásd az elavult módszereknél.

Bejelentkezés (OAuth + PKCE)

A mobilapp ugyanazt a folyamatot használja, mint egy böngészős OAuth bejelentkezés. A felhasználó a KRÉTA saját oldalán adja meg a jelszavát, a kliens csak egy egyszer használható kódot kap vissza. Jelszót a kliensnek soha nem kell látnia.

1. A PKCE kulcspár

Minden bejelentkezéshez új code_verifier kell: egy véletlen, base64url kódolású érték (32 bájt). A code_challenge ennek SHA-256 hashe, szintén base64url, kiegészítő = nélkül (RFC 7636, S256).

2. A bejelentkező oldal megnyitása

működikGEThttps://idp.e-kreta.hu/connect/authorize
ParaméterÉrték
client_idkreta-ellenorzo-student-mobile-ios
redirect_urihttps://mobil.e-kreta.hu/ellenorzo-student/prod/oauthredirect
response_typecode
scopeopenid email offline_access kreta-ellenorzo-webapi.public kreta-eugyintezes-webapi.public kreta-fileservice-webapi.public kreta-mobile-global-webapi.public kreta-dkt-webapi.public kreta-ier-webapi.public
code_challengeaz 1. lépés challenge-e
code_challenge_methodS256
state, noncevéletlen értékek; a state-et a visszatéréskor ellenőrizd
promptlogin (mindig kérje a belépést)

Nyisd meg ezt az URL-t egy webnézetben. Sikeres belépés után a KRÉTA átirányít a redirect_uri-ra, ?code=…&state=… paraméterekkel. Az átirányítást a webnézetben kell elkapni: ellenőrizd, hogy a host és az útvonal pontosan a redirect_uri-é, és hogy a state egyezik.

Webnézet nélkül működik · kreta-tui

Ha nincs böngésződ (például parancssori kliensnél), a bejelentkező űrlapot el lehet küldeni közvetlenül is. Mobilappban ne így csináld: ekkor a jelszó a te kódodon megy át.

  1. Kérd le az authorize URL-t (sütikkel, átirányításokat követve). A bejelentkező oldal HTML-jéből olvasd ki a __RequestVerificationToken és a ReturnUrl rejtett mezőt.
  2. POST https://idp.e-kreta.hu/account/login form-kódolva, Referer (a bejelentkező oldal) és Origin: https://idp.e-kreta.hu fejléccel. Mezők: ReturnUrl, IsTemporaryLogin=False, UserName, Password, InstituteCode, loginType=InstituteLogin, ClientId (üres), __RequestVerificationToken.
  3. Kövesd az átirányításokat a redirect_uri-ig, és vedd ki a code-ot. Néha a válasz egy /connect/authorize/callback?… linket tartalmaz átirányítás helyett; ezt kell megnyitni.
  4. Ha az oldalon captcha (g-recaptcha) van, ez az út nem működik, a böngészős belépés kell.

3. A kód cseréje tokenre

működikPOSThttps://idp.e-kreta.hu/connect/token

Content-Type: application/x-www-form-urlencoded; charset=UTF-8, és a token végpont a hivatalos app user agentjét várja:

User-Agent: eKretaStudent/264745 CFNetwork/1494.0.7 Darwin/23.4.0
MezőÉrték
grant_typeauthorization_code
codeaz átirányításból kapott kód
code_verifieraz 1. lépés verifiere
redirect_uri, client_idugyanaz, mint fent
curl -X POST https://idp.e-kreta.hu/connect/token \
  -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
  -H 'User-Agent: eKretaStudent/264745 CFNetwork/1494.0.7 Darwin/23.4.0' \
  --data-urlencode 'grant_type=authorization_code' \
  --data-urlencode 'client_id=kreta-ellenorzo-student-mobile-ios' \
  --data-urlencode 'redirect_uri=https://mobil.e-kreta.hu/ellenorzo-student/prod/oauthredirect' \
  --data-urlencode 'code=KOD' \
  --data-urlencode 'code_verifier=VERIFIER'

Válasz:

{
  "access_token": "eyJ…",
  "refresh_token": "…",
  "expires_in": 1800,
  "token_type": "Bearer"
}

Mi van az access tokenben?

Az access token egy JWT. A payloadból (a második, base64url részből) ezek kellenek:

ClaimJelentés
kreta:institute_codeintézménykód, ez kerül a szerver címébe
kreta:user_namefelhasználónév (oktatási azonosító)
roleTanulo vagy Gondviselo
namea felhasználó neve (nem mindig van benne)

Token frissítés és visszavonás

működikPOSThttps://idp.e-kreta.hu/connect/token

Ugyanaz a végpont és user agent, mint a kódcserénél, más mezőkkel:

MezőÉrték
grant_typerefresh_token
refresh_tokenaz utolsó kapott refresh token
institute_codeintézménykód
client_idkreta-ellenorzo-student-mobile-ios
refresh_user_datafalse

A válasz új access és új refresh tokent ad, a régi refresh token ezután érvénytelen. Ha a kérésre 400 jön {"error": "invalid_grant"} törzzsel, a refresh token lejárt vagy visszavonták: újra be kell jelentkezni.

Kijelentkezés

működikPOSThttps://idp.e-kreta.hu/connect/revocation

Mezők: token (a refresh token), token_type_hint=refresh_token, client_id. A hibát nyugodtan elnyelheted, a helyi tokeneket úgyis törölni kell.

Hitelesített kérések

Minden további kéréshez két fejléc kell:

Authorization: Bearer ACCESS_TOKEN
User-Agent: hu.ekreta.student/{appverzió}/{platform}/0

Például hu.ekreta.student/1.0.5/Android/0/0 vagy hu.ekreta.student/5.0.0/iOS/0. A szerver ezt a mintát várja. Ismeretlen user agentnél előfordult, hogy lassított vagy elutasított.

  • Az access token kb. 30 percig él. Érdemes lejárat előtt (pl. 30 mp ráhagyással) frissíteni, és 401-re is frissíteni, majd egyszer újrapróbálni.
  • Ha egyszerre több kérés indul, csak egy frissítés fusson. Két párhuzamos refresh közül a második már érvénytelen refresh tokennel menne.
  • A dátumok ISO 8601-ben jönnek, UTC-ben (2026-11-12T08:55:00Z), néha tört másodperccel. A lekérdezési paramétereknél elég a nap: 2026-11-09.

Ellenőrző végpontok

Mindegyik GET, az alapcím https://{intezmeny}.e-kreta.hu/ellenorzo/V3/Sajat/. A válasz egy JSON tömb vagy objektum, a mezők nagybetűvel kezdődnek. Az azonosítók (Uid) szövegek. A hivatkozott objektumok (Tantargy, Tipus…) általában Uid + Nev (+ Leiras) mezőket tartalmaznak.

Tanuló adatlap

működikGET/ellenorzo/V3/Sajat/TanuloAdatlap
MezőJelentés
Uid, Nevazonosító, név
SzuletesiNev, SzuletesiDatum, AnyjaNeveszemélyes adatok
Cimek, Gondviselokcímek, gondviselők listája
IntezmenyAzonosito, IntezmenyNevaz iskola
Intezmeny.TestreszabasBeallitasok.ErtekelesekMegjelenitesenekKesleltetesenekMertekehány percig rejtett egy új jegy a beírás után

Értékelések (jegyek)

működikGET/ellenorzo/V3/Sajat/Ertekelesek
MezőJelentés
Uidazonosító
TantargyUid, Nev, Kategoria.Nev
SzamErteka jegy számként (1–5), szöveges értékelésnél 0
SzovegesErtek, SzovegesErtekelesRovidNevpl. Jeles(5), illetve rövid alak
SulySzazalekErtekesúly százalékban (100, 200…)
Tipus.Nevlásd lent: évközi, félévi, év végi…
Mod.Leirasaz értékelés módja, pl. Írásbeli témazáró dolgozat
ErtekFajtaaz értékelés fajtája (osztályzat, szöveges…)
Tematéma
KeszitesDatuma, RogzitesDatumaa jegy dátuma, illetve a beírás ideje
ErtekeloTanarNevea tanár

Opcionálisan szűrhető: ?datumTol=2026-09-01&datumIg=2026-12-31. Ugyanez működik a Mulasztasok és a BejelentettSzamonkeresek végponton is; szűrés nélkül az egész tanévet adja.

Tipus.Nev értékei: evkozi_jegy_ertekeles, I_ne_jegy_ertekeles, II_ne_jegy_ertekeles, felevi_jegy_ertekeles, III_ne_jegy_ertekeles, IV_ne_jegy_ertekeles, evvegi_jegy_ertekeles, osztalyozo_vizsga. Az év végi bizonyítvány jegyei evvegi_jegy_ertekeles típusúak.

Átlagok

Az osztályátlaghoz előbb kell az osztály oktatási-nevelési feladatának azonosítója:

működikGET/ellenorzo/V3/Sajat/OsztalyCsoportok

A lista első elemének OktatasNevelesiFeladat.Uid mezője kell. Ezzel:

működikGET/ellenorzo/V3/Sajat/Ertekelesek/Atlagok/OsztalyAtlagok?oktatasiNevelesiFeladatUid={Uid}

Elemenként Tantargy.Uid és OsztalyCsoportAtlag (az osztály átlaga az adott tantárgyból).

működikGET/ellenorzo/V3/Sajat/Ertekelesek/Atlagok/TantargyiAtlagok?oktatasiNevelesiFeladatUid={Uid}

A csoport összes tantárgya, azok is, amelyekből még nincs jegy. Jó arra, hogy az üres tantárgyak is megjelenjenek.

Órarend

működikGET/ellenorzo/V3/Sajat/OrarendElemek?datumTol=2026-11-09&datumIg=2026-11-13
MezőJelentés
Uid, Datumazonosító, a nap
KezdetIdopont, VegIdopontaz óra kezdete és vége
Oraszam, OraEvesSorszamahányadik óra a napon, illetve az évben
Nev, Tantargyaz óra neve, a tantárgy
TeremNeve, TanarNeveterem, tanár
HelyettesTanarNeveha nem üres, az óra helyettesítés
Allapot.NevElmaradt, ha az óra elmarad
Tema, TanuloJelenletaz óra témája, a jelenlét
HaziFeladatUid, BejelentettSzamonkeresUidkapcsolt házi feladat és számonkérés
OsztalyCsoport.Nev, IsDigitalisOracsoport, digitális óra-e

Egy héten belül kérj (hétfőtől péntekig vagy vasárnapig). A szünetek nincsenek benne, azokat a szomszédos órák idejéből lehet kiszámolni.

Mulasztások

működikGET/ellenorzo/V3/Sajat/Mulasztasok
MezőJelentés
Uid, Datumazonosító, a nap
Tipus.Nevhiányzás vagy késés
KesesPercbenkésésnél a percek
IgazolasAllapotaIgazolt, Igazolando vagy igazolatlan
IgazolasTipusaaz igazolás fajtája
OraKezdoDatum, VegDatum, Oraszam
Tantargy, RogzitoTanarNeve, KeszitesDatumatantárgy, ki és mikor írta be

Bejelentett számonkérések

működikGET/ellenorzo/V3/Sajat/BejelentettSzamonkeresek

Mezők: Uid, Datum (a dolgozat napja), BejelentesDatuma, OrarendiOraOraszama, Tantargy, Temaja, Modja (pl. írásbeli témazáró), RogzitoTanarNeve.

Házi feladatok

működikGET/ellenorzo/V3/Sajat/HaziFeladatok?datumTol=2026-11-01
működikGET/ellenorzo/V3/Sajat/HaziFeladatok/{Uid}

Mezők: Uid, Tantargy, Szoveg (HTML), FeladasDatuma, HataridoDatuma, RogzitoTanarNeve, IsTanarRogzitette, Csatolmanyok. A lista rövidített lehet; a teljes szöveghez kérd le az elemet külön.

Feljegyzések

működikGET/ellenorzo/V3/Sajat/Feljegyzesek

Dicséretek, figyelmeztetések, üzenőfüzet-bejegyzések. Mezők: Uid, Cim, Tartalom, Tipus, Datum, KeszitesDatuma, KeszitoTanarNeve.

Faliújság

működikGET/ellenorzo/V3/Sajat/FaliujsagElemek

Iskolai hirdetmények. Mezők: Uid, Cim, Tartalom (HTML), ErvenyessegKezdete, ErvenyessegVege. Csak az érvényességi időn belüli elemeket érdemes mutatni.

További végpontok nem ellenőrzött

Ezeket a reFilc forráskódja ismeri, a Radír nem használja, ezért nem teszteltük:

  • GET /ellenorzo/V3/Sajat/Intezmenyek: az iskola adatai
  • GET /ellenorzo/V3/Sajat/Csatolmany/{Uid}: házi feladat csatolmánya
  • /ellenorzo/V3/Sajat/HaziFeladatok/Megoldva: házi feladat megoldottnak jelölése

Üzenetek (eÜgyintézés)

Alapcím: https://eugyintezes.e-kreta.hu/api/v1/. Ugyanaz az access token és user agent kell, de itt a mezők kisbetűsek.

működikGET/api/v1/kommunikacio/postaladaelemek/{mappa}

A {mappa} értéke beerkezett, elkuldott vagy torolt. Elemenként: azonosito (szám), isElolvasva, uzenetFeladoNev, uzenetTargy, uzenetKuldesDatum, hasCsatolmany. A szöveg itt még nincs benne.

működikGET/api/v1/kommunikacio/postaladaelemek/{azonosito}

Egy üzenet részletei; a KRÉTA ilyenkor olvasottnak jelöli. A uzenet objektumban: kuldesDatum, feladoNev, targy, szoveg (HTML), cimzettLista[].nev, csatolmanyok[] (azonosito, fajlNev).

működikGET/api/v1/dokumentumok/uzenetek/{csatolmanyAzonosito}

A csatolmány bináris tartalma.

Címzettek

működikGET/api/v1/adatszotarak/cimzetttipusok
működikGET/api/v1/kreta/alkalmazottak/tanar
működikGET/api/v1/kreta/alkalmazottak/igazgatosag

A címzetttípusok közül diákként a TANAR és az IGAZGATOSAG kódú címezhető (azonosito, kod, leiras, nev, rovidNev). Az alkalmazottak listájában kretaAzonosito és nev van.

Üzenet küldése

működikPOST/api/v1/kommunikacio/uzenetek

JSON törzs, Content-Type: application/json és X-Uzenet-Lokalizacio: hu-HU fejléccel:

{
  "cimzettLista": [{
    "kretaAzonosito": 12345,
    "nev": "Tanár Neve",
    "tipus": { "azonosito": 1, "kod": "TANAR", "leiras": "…", "nev": "…", "rovidNev": "…" }
  }],
  "csatolmanyok": [],
  "azonosito": 12345,
  "feladoNev": "Diák Neve",
  "feladoTitulus": "Diák",
  "kuldesDatum": "2026-11-13T10:00:00Z",
  "targy": "Tárgy",
  "szoveg": "Az üzenet szövege"
}

Ha az iskola nem engedi a diákoknak az üzenetküldést, a válaszban "hibakod": "UzenetKuldesEngedelyRule" jön. Gondviselőnél a feladoTitulus Szülő.

Nem ellenőrzött (reFilc): postaladaelemek/kuka és postaladaelemek/torles (kukába tétel, végleges törlés), cimezhetotipusok.

DKT: beadandó feladatok működik · kreta-tui

A Digitális Kollaborációs Tér (DKT) a házi és órai feladatok beadására való, saját API-val. Ugyanaz az access token kell hozzá. Forrás: kreta-tui (2026); a Radír nem használja.

Az iskola DKT-címe

GEThttps://kretadktapi-kk.e-kreta.hu/dktapi/intezmenyek/bff/url

Egy JSON szöveget ad vissza: az iskola saját DKT alapcímét (a továbbiakban {dkt}). Utána:

GET{dkt}/intezmenyek/felhasznalo/tanulo

Ebből kell az intezmenyId és a tanevId. Minden további DKT-kéréshez fejlécként is el kell küldeni őket:

IntezmenyId: {intezmenyId}
TanevId: {tanevId}

Feladatok és beadás

A {fajta} értéke hazifeladatok vagy oraifeladatok.

KérésMire való
GET /intezmenyek/tanulok/{fajta}a feladatok listája
GET /intezmenyek/tanulok/{fajta}/{feladat}/fajloka tanár által csatolt fájlok
GET /intezmenyek/tanulok/{fajta}/{feladat}/beadasa saját beadásod. Az első hívás létre is hozza („Megnyitotta” állapot), mint a weben a megnyitás.
PUT /intezmenyek/tanulok/{fajta}/beadasok/{beadas}válaszszöveg mentése beadás nélkül: {"szoveg": "<p>…</p>"} (HTML)
GET /intezmenyek/tanulok/{fajta}/beadasok/{beadas}/beadasbeadja a feladatot. Igen, GET kéréssel.
GET /intezmenyek/tanulok/{fajta}/beadasok/{beadas}/fajloka beadáshoz csatolt saját fájlok
DELETE /intezmenyek/tanulok/{fajta}/beadasok/{beadas}/fajlok/{fajl}csatolt fájl törlése

Fájl feltöltése

  1. POST {dkt}/intezmenyek/fajlok/feltoltes/ideiglenes/proxy, multipart: fajl (a fájl) és Utvonal = DKT/{intezmenyId}/{tanevId}/{fajta}/{feladat}. Fejlécek: X-version: 3.0 és böngészős user agent; az app user agentjére a fájlszolgáltatás üres 500-at ad. A válaszban: fajlId, fajlMeretByteLength.
  2. POST /intezmenyek/tanulok/{fajta}/beadasok/{beadas}/fajlok/veglegesites: {"fajlId": …, "teljesFajlNev": "valasz.pdf", "meretInBytes": …}

Fájl letöltése

Egy fájl API-útvonala után /url-t írva (például …/fajlok/{fajl}/url) egy egyszer használható letöltési linket kapsz. Azt token nélkül, böngészős user agenttel kell megnyitni, mert a files.e-kreta.hu az app user agentjét elutasítja.

Elavult módszerek

A neten található KRÉTA API leírások nagy része ezeket mutatja. Ha valami „nem működik” egy régi doksi alapján, általában ez az oka.

Régi módszerMi van helyette
elavult Jelszavas tokenkérés: grant_type=password, client_id=kreta-ellenorzo-mobile-android, X-AuthorizationPolicy-Key/-Nonce fejlécek a /nonce végpontrólBöngészős OAuth + PKCE (lásd fent); a hivatalos app is így lép be. A régi módszerre jellemzően invalid_request/invalid_grant jön.
elavult Intézménylista: GET https://kretaglobalmobileapi2.ekreta.hu/api/v3/Institute apiKey fejléccel404 (2026. november 13-án kipróbálva). Helyette: iskola keresése.
elavult v1/v2 API: https://{intezmeny}.e-kreta.hu/idp/api/v1/Token, /mapi/api/v1/…Az IdP és az /ellenorzo/V3/Sajat/ végpontok.
Elírás régi doksikban: …/api/v1/kommunkacio/…Helyesen kommunikacio.

Buktatók

  • A + jel a tokenkérésben. Form-kódolásban a + szóközt jelent, ezért a refresh tokenben lévő +-t %2B-ként kell küldeni, különben invalid_grant jön.
  • User agent. A token végpont a hivatalos app user agentjét várja; mással előfordulhat, hogy elutasítja.
  • Rejtett új jegyek. Az iskola beállíthatja, hogy egy új jegy csak néhány perc múlva látsszon (ErtekelesekMegjelenitesenekKesleltetesenekMerteke).
  • Időzóna. A dátumok UTC-ben jönnek; az órarendet Europe/Budapest szerint kell megjeleníteni.
  • HTML a szövegekben. A házik, a faliújság és az üzenetek szövege HTML, \r sortörésekkel.
  • Nincs push. A KRÉTA nem küld értesítést a változásokról; időnként újra le kell kérni az adatokat. Kíméld a szervert, ne pollozz percenként.

Források

Ezt az oldalt több nem hivatalos forrás összevetéséből állítottuk össze. Ahol eltértek, a ma is működő változat került ide.

  • Radír (RadirKit, AGPL-3.0): az működik jelölésű végpontok, tesztekkel.
  • aronkv/kreta-tui (Rust, 2026): fej nélküli belépés, iskolakereső, DKT.
  • bczsalba/ekreta-docs-v3 (2022): a V3 végpontok első összefoglalója; a bejelentkezési része elavult.
  • boapps/e-kreta-api-docs: a régi v1 API leírása, ma már csak történeti érdekesség.
  • KRÉTA Ellenőrző (Postman): régi Postman-gyűjtemény.
  • manen/gokreta: Go kliens végpontlistája.
  • A Filc, a reFilc és a Firka nyílt forrású kliensei, amelyekre a Radír épül.

Hibát találtál, vagy változott valami a KRÉTA-ban? Írd meg, és frissítjük.