diff --git a/web/content/posts/api-usage-v2/index.md b/web/content/posts/api-usage-v2/index.md
new file mode 100644
index 0000000..1da9dca
--- /dev/null
+++ b/web/content/posts/api-usage-v2/index.md
@@ -0,0 +1,249 @@
+---
+title: "API Dokumentace - Verze 2"
+date: 2025-12-20
+tags: ["api", "docs", "v2"]
+hiddenInHomelist: true
+---
+
+Tato stránka detailně popisuje **Verzi 2 (v2)** API Ječná Rozvrh.
+
+## Endpoint: `GET /versioned/v2`
+
+Toto je hlavní endpoint, který poskytuje veškerá data o rozvrhu pro v2.
+
+### Struktura Odpovědi
+
+Odpověď je JSON objekt, který obsahuje tři hlavní klíče: `schedule`, `props`, a `status`.
+
+
+Zobrazit příklad struktury odpovědi
+
+```json
+{
+ "schedule": [ /* pole denních rozvrhů */ ],
+ "props": [ /* pole vlastností dnů */ ],
+ "status": { /* objekt stavu */ }
+}
+```
+
+
+---
+
+### Datové Struktury
+
+#### Sekce: `schedule`
+
+Tato sekce je pole, kde každý prvek představuje jeden den. Každý den je objekt, jehož klíče jsou názvy jednotlivých tříd (např. `A1`, `C2a`, `E4`) a speciální klíč `ABSENCE`.
+
+##### Rozvrh Třídy
+- **Klíč:** Název třídy (např. `"A1"`)
+- **Hodnota:** Pole s 10 prvky, které reprezentují 10 vyučovacích hodin.
+ - `string`: Pokud je hodina normálně vyučována, obsahuje název předmětu nebo informaci o změně.
+ - `null`: Pokud hodina odpadá nebo pro ni není záznam.
+ - Text `(bude upřesněno)` může být připojen k předmětu, pokud je změna nejistá.
+
+
+Zobrazit příklad rozvrhu pro třídu A1
+
+```json
+"A1": [
+ "M 5 Kp(Ng)",
+ null,
+ null,
+ "(Me) (bude upřesněno)",
+ null,
+ null,
+ null,
+ null,
+ null,
+ null
+]
+```
+
+
+##### Absence Učitelů
+- **Klíč:** `"ABSENCE"`
+- **Hodnota:** Pole objektů, kde každý objekt specifikuje jednu absenci. Struktura objektu je následující:
+ - `teacher` (string | null): Celé jméno učitele, pokud je známé.
+ - `teacherCode` (string | null): Zkratka jména učitele (např. "me", "ad").
+ - `type` (string): Typ absence. Může nabývat následujících hodnot:
+ - `"wholeDay"`: Učitel chybí celý den.
+ - `"single"`: Učitel chybí jednu vyučovací hodinu.
+ - `"range"`: Učitel chybí v rozmezí několika hodin.
+ - `"exkurze"`: Učitel je na exkurzi.
+ - `"invalid"`: Záznam o absenci se nepodařilo zpracovat.
+ - `hours` (object | number | null): Specifikuje hodiny absence.
+ - `null`: Pro typy `wholeDay`, `exkurze`, a `invalid`.
+ - `number` (např. `3`): Pro typ `single`.
+ - `object` (např. `{ "from": 2, "to": 4 }`): Pro typ `range`.
+ - `original` (string | null): Pouze pro typ `invalid`, obsahuje původní nezpracovaný text.
+
+
+Zobrazit příklady absencí
+
+**Celý den:**
+```json
+{
+ "teacher": "Jan Novák",
+ "teacherCode": "no",
+ "type": "wholeDay",
+ "hours": null
+}
+```
+
+**Jedna hodina:**
+```json
+{
+ "teacher": "Jan Novák",
+ "teacherCode": "no",
+ "type": "single",
+ "hours": 1
+}
+```
+
+**Rozsah hodin:**
+```json
+{
+ "teacher": "Jan Novák",
+ "teacherCode": "no",
+ "type": "range",
+ "hours": { "from": 2, "to": 4 }
+}
+```
+
+**Exkurze:**
+```json
+{
+ "teacher": "Jan Novák",
+ "teacherCode": "no",
+ "type": "exkurze",
+ "hours": null
+}
+```
+
+**Zastupuje:**
+```json
+{
+ "teacher": "Ing. Zdeněk Vondra",
+ "teacherCode": "vn",
+ "type": "zastoupen",
+ "hours": null,
+ "zastupuje": {
+ "teacher": "David Janoušek",
+ "teacherCode": "jk",
+ },
+},
+```
+
+**Neplatný záznam:**
+```json
+{
+ "type": "invalid",
+ "teacher": null,
+ "teacherCode": null,
+ "hours": null,
+ "original": "Nezpracovatelný text"
+}
+```
+
+
+#### Sekce: `props` - Vlastnosti Dnů
+
+Pole objektů, které doplňují metadata ke každému dni v poli `schedule`. Pořadí prvků v `props` přesně odpovídá pořadí dnů v `schedule`.
+
+- `date` (string): Datum daného rozvrhu ve formátu `YYYY-MM-DD`.
+- `priprava` (boolean): Hodnota je `true`, pokud je den součástí "přípravného týdne", jinak `false`.
+
+
+Zobrazit příklad props
+
+```json
+"props": [
+ {
+ "date": "2025-12-20",
+ "priprava": false
+ },
+ {
+ "date": "2025-12-21",
+ "priprava": true
+ }
+]
+```
+
+
+#### Sekce: `status` - Stav a Metadata
+
+Objekt poskytující informace o aktuálnosti dat.
+
+- `lastUpdated` (string): Čas poslední úspěšné aktualizace dat ve formátu `HH:MM`.
+- `currentUpdateSchedule` (number): Interval v **minutách**, ve kterém scraper interně kontroluje a stahuje novou verzi rozvrhu. Tento interval se dynamicky mění v závislosti na denní době (kratší během vyučování, delší v noci).
+
+
+Zobrazit příklad status
+
+```json
+"status": {
+ "lastUpdated": "08:30",
+ "currentUpdateSchedule": 5
+}
+```
+
+
+---
+
+### Kompletní Příklad Odpovědi z `GET /versioned/v2`
+
+
+Zobrazit kompletní příklad
+
+```json
+{
+ "schedule": [
+ {
+ "A1": [
+ "M 6 Kp(Ng)",
+ null,
+ null,
+ null,
+ "(Me) (bude upřesněno)",
+ null,
+ null,
+ null,
+ null,
+ null
+ ],
+ "C2": [
+ "M 6 Kp(Ng)",
+ null,
+ null,
+ null,
+ "(Me) (bude upřesněno)",
+ null,
+ null,
+ null,
+ null,
+ null
+ ],
+ "ABSENCE": [
+ {
+ "teacher": "Jan Novák",
+ "teacherCode": "no",
+ "type": "range",
+ "hours": {"from": 1, "to": 3}
+ }
+ ]
+ }
+ ],
+ "props": [
+ {
+ "date": "2025-12-20",
+ "priprava": false
+ }
+ ],
+ "status": {
+ "lastUpdated": "14:30",
+ "currentUpdateSchedule": 5
+ }
+}
+```
+
diff --git a/web/content/posts/api-usage/index.md b/web/content/posts/api-usage/index.md
index 24b76b3..0f443c6 100644
--- a/web/content/posts/api-usage/index.md
+++ b/web/content/posts/api-usage/index.md
@@ -16,7 +16,7 @@ Všechny cesty v této dokumentaci jsou relativní k následující základní U
Kořenový endpoint (`/`) je **zastaralý (deprecated)**.
-Ačkoliv v současnosti vrací stejná data jako `/versioned/v1`, jeho podpora může být v budoucnu ukončena. **Prosím, nepoužívejte tento endpoint pro nové projekty a existující projekty aktualizujte na verzované endpoint.**
+Ačkoliv v současnosti vrací stejná data jako `/versioned/v1`, jeho podpora může být v budoucnu ukončena. **Prosím, nepoužívejte tento endpoint pro nové projekty a existující projekty aktualizujte na verzované endpointy.**
---
@@ -24,11 +24,15 @@ Ačkoliv v současnosti vrací stejná data jako `/versioned/v1`, jeho podpora m
API je verzované, aby byla zajištěna zpětná kompatibilita. Zde je seznam dostupných verzí:
-- ### [Verze 1 (v1)](../api-usage-v1)
+- ### [Verze 2 (v2)](../api-usage-v2)
**Status:** Stabilní
**Endpoint:** `/versioned/v1`
- Toto je aktuální a doporučená verze API. Klikněte na odkaz pro zobrazení kompletní dokumentace pro v1.
+ Toto je aktuální a doporučená verze API. Klikněte na odkaz pro zobrazení kompletní dokumentace pro v2.
+
+- ### [Verze 1 (v1)](../api-usage-v1)
+ **Status:** Stabilní
+ **Endpoint:** `/versioned/v1`
---