12.08.2026 – Pavel Klavík, Kamila Klavíková
OrgPad nyní má API, takže ostatní programy mohou číst vaše data a provádět změny. Díky tomu jej lze snadno propojit s nástroji AI, jako jsou Claude a Codex, zatímco API klíče udržují každý požadavek pod vaší kontrolou. Zároveň otevírá nové možnosti práce s vašimi OrgStránkami i mimo samotný OrgPad.
#novinky, #API, #integrace, #automatizace, #vývoj, #OrgPad, #AI
OrgPad získal novou superschopnost. API umožňuje jiným programům číst a upravovat vaše data. Díky tomu jej lze snadno propojit s nástroji AI, jako jsou Claude nebo Codex (ChatGPT). Pro používání API potřebujete profesionální, školní nebo firemní předplatné. Podrobnou dokumentaci k API najdete na GitHubu.
Každý požadavek API musí být ověřen platným API klíčem v HTTP hlavičce Authorization. API klíče můžete vytvářet v Nastavení.
Podívejme se na krátký příklad: pomocí Bashe a curl vytvoříme novou OrgStránku se dvěma propojenými buňkami. Začneme vytvořením nového API klíče s oprávněním správce:
Zkopírujeme API klíč a uložíme ho do proměnné prostředí.
export ORGPAD_API_KEY="orgpad_..."
Teď ověříme API klíč načtením jeho informací. Výstup je ve výchozím nastavení JSON, proto ho pomocí jq naformátujeme:
curl -sS "https://orgpad.info/api/v1/info" \
-H "Authorization: Bearer $ORGPAD_API_KEY" \
-H "Accept: application/json" | jq
Výsledkem je následující JSON:
{
"id": "tYix-aSPk_Y",
"title": "Quick Start",
"userId": "50475d55-4f6d-401f-9b08-33927a04897f",
"permission": "permission/admin",
"creationTime": "2026-08-06T13:02:06.864267119Z"
}Dále vytvoříme novou OrgStránku a získáme její ID:
ORGPAGE_ID=$(
curl -X POST "https://orgpad.info/api/v1/o" \
-H "Authorization: Bearer $ORGPAD_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"title": "API quick example",
"color": "color/red"
}' \
| jq -r '.id'
)
echo "$ORGPAGE_ID"
Pro provedení změn v této OrgStránce stačí do API poslat vektor operací. Zde vytvoříme dvě propojené buňky.
curl -X POST "https://orgpad.info/api/v1/o/$ORGPAGE_ID/ops" \
-H "Authorization: Bearer $ORGPAD_API_KEY" \
-H "Content-Type: application/json" \
--data '[
["unit/create", {
"textId": "first-cell",
"pos": [0, 0],
"title": "First cell",
"content": "<p>Hello from the API.</p>"
}],
["unit/create", {
"textId": "second-cell",
"pos": [360, 0],
"title": "Second cell",
"content": "<p>This cell is <b>connected</b> to the first one.</p>"
}],
["link/create", {
"endpointIds": ["first-cell", "second-cell"]
}]
]'
API můžeme dokonce použít k pořízení snímku výsledné OrgStránky:
curl -sS -X POST "https://orgpad.info/api/v1/o/$ORGPAGE_ID/screenshot" \
-H "Authorization: Bearer $ORGPAD_API_KEY" \
-H "Accept: image/png" \
-H "Content-Type: application/json" \
--data '{
"theme": "dark",
"open": "all"
}' \
-o screenshot.png
Výsledek vypadá takto:
Když už máme základní postup, podívejme se podrobněji na API klíč, který stojí za každým požadavkem: co obsahuje, k čemu má přístup a jak omezit jeho oprávnění.
API klíč je řetězec, který vypadá takto:
orgpad_IYwC5kruKvQ_iyGEz107I3nsPd620yi9sKel3AC65We9
Předpona orgpad_ označuje API klíč OrgPadu. Část IYwC5kruKvQ je identifikátor klíče. Poslední část, iyGEz107I3nsPd620yi9sKel3AC65We9, je tajná část klíče a funguje jako heslo.
Chraňte celý API klíč, protože kdokoliv, kdo jej získá, se dostane k vašim datům. Pokud ho někde omylem nasdílíte, hned ho smažte. Z bezpečnostních důvodů OrgPad v databázi neukládá tajnou část, ale jen její hash SHA-256. Celý API klíč se zobrazí pouze jednou — hned po vytvoření — proto ho zkopírujte a bezpečně uložte.
Každý API klíč poskytuje přístup k vašim datům v OrgPadu a může také umožňovat jejich změnu. Existují tři úrovně oprávnění:
Klíč lze také omezit na jednu OrgStránku. V takovém případě umožňuje přístup pouze k této OrgStránce a dalším veřejně dostupným zdrojům. Nelze jím načíst seznam vašich OrgStránek ani přistupovat k jiným OrgStránkám. Podrobnosti najdete v dokumentaci ke klíčům API.
Jakmile máte správně nastavená oprávnění, je potřeba zvolit způsob komunikace s API. OrgPad podporuje několik datových formátů podle toho, co vytváříte a jaký programovací jazyk používáte.
Všechny koncové body API mají tuto základní adresu URL:
https://orgpad.info/api/v1
Podporované koncové body najdete v dokumentaci.
Výchozím formátem API je JSON, a to pro požadavky i odpovědi. Metadata dříve vytvořené OrgStránky si například můžeme v JSONu načíst takto:
curl -sS "https://orgpad.info/api/v1/o/$ORGPAGE_ID/meta" \
-H "Authorization: Bearer $ORGPAD_API_KEY" \
-H "Accept: application/json" | jq
{
"lastEditTime": "2026-08-06T13:22:10.713394621Z",
"id": "f5d578db-53af-4053-b58a-73a91dece014",
"lastLoadTime": "2026-08-06T14:02:17.053593977Z",
"creationTime": "2026-08-06T13:14:18.738577619Z",
"owner": "50475d55-4f6d-401f-9b08-33927a04897f",
"color": "color/red",
"title": "API quick example"
}Všechna ID jsou UUIDv4, obvykle zapisovaná v šestnáctkové soustavě.
Bohatý obsah buňky je v JSONu reprezentován jako HTML. Například:
curl -sS "https://orgpad.info/api/v1/o/$ORGPAGE_ID/unit/second-cell" \
-H "Authorization: Bearer $ORGPAD_API_KEY" \
-H "Accept: application/json" | jq
{
"links": [
{
"endpointIds": [
"1de1e729-22f8-4695-abd0-6c3186ae1499",
"e740184b-c990-46d4-8725-cdb0fac0d1d5"
],
"id": "ee7e7917-32f5-4151-ad99-c52500518083",
"props": {
"color": "color/blue",
"arrowhead": "props/single"
}
}
],
"units": [
{
"content": "<p>This cell is <strong>connected</strong> to the first one.</p>",
"id": "2fb58985-104a-433b-8115-60d4e088fddc",
"type": "unit/page",
"parentId": "e740184b-c990-46d4-8725-cdb0fac0d1d5"
},
{
"id": "e740184b-c990-46d4-8725-cdb0fac0d1d5",
"pos": [
360,
0
],
"title": "Second cell",
"textId": "second-cell",
"childUnitIds": [
"2fb58985-104a-433b-8115-60d4e088fddc"
],
"type": "unit/book",
"props": {
"color": "color/blue",
"titleSize": "props/h2"
}
}
]
}Samotný OrgPad je napsaný v Clojure, kde se místo JSONu pro ukládání kódu i dat obvykle používá EDN. API OrgPadu podporuje formáty EDN a Transit+JSON pro vstup i výstup.
Stejná data v EDN vypadají takto:
curl -sS "https://orgpad.info/api/v1/o/$ORGPAGE_ID/meta" \
-H "Authorization: Bearer $ORGPAD_API_KEY" \
-H "Accept: application/edn"
{:orgpage/last-edit-time "2026-08-06T13:22:10.713394621Z"
:orgpage/id #uuid "f5d578db-53af-4053-b58a-73a91dece014"
:orgpage/last-load-time "2026-08-06T14:02:17.053593977Z"
:orgpage/creation-time "2026-08-06T13:14:18.738577619Z"
:orgpage/owner #uuid "50475d55-4f6d-401f-9b08-33927a04897f"
:orgpage/color :color/red
:orgpage/title "API quick example"}V EDN se obsah reprezentuje ve formátu Hiccup pomocí datových struktur Clojure:
curl -sS "https://orgpad.info/api/v1/o/$ORGPAGE_ID/unit/second-cell" \
-H "Authorization: Bearer $ORGPAD_API_KEY" \
-H "Accept: application/edn"
{:orgpage/links [{:link/endpoint-ids [#uuid"1de1e729-22f8-4695-abd0-6c3186ae1499"
#uuid"e740184b-c990-46d4-8725-cdb0fac0d1d5"]
:link/id #uuid"ee7e7917-32f5-4151-ad99-c52500518083"
:link/props {:props/color :color/blue
:props/arrowhead :props/single}}]
:orgpage/units [{:unit/content [[:p "This cell is " [:strong "connected"]
" to the first one."]]
:unit/id #uuid"2fb58985-104a-433b-8115-60d4e088fddc"
:unit/type :unit/page
:unit/parent-id #uuid"e740184b-c990-46d4-8725-cdb0fac0d1d5"}
{:unit/id #uuid"e740184b-c990-46d4-8725-cdb0fac0d1d5"
:unit/pos [360 0]
:unit/title "Second cell"
:unit/text-id "second-cell"
:unit/child-unit-ids [#uuid"2fb58985-104a-433b-8115-60d4e088fddc"]
:unit/type :unit/book
:unit/props {:props/color :color/blue
:props/title-size :props/h2}}]}I když nejste programátor, můžete API používat s AI agenty. API pravidelně používáme s Codexem a lidé na našem Discordu měli dobré výsledky také s Claude Code. Zde chceme popsat naše zkušenosti: co fungovalo dobře a co ne.
Pokud chcete AI agentovi zpřístupnit svůj API klíč, vložit ho přímo do chatu není nejlepší řešení. Pro rychlý experiment můžete vytvořit dočasný klíč k úpravě omezený na prázdnou OrgStránku. Další možností je uložit API klíč do souboru nebo jiného bezpečného úložiště v počítači, aby jej agent mohl použít, aniž by jej kamkoliv odesílal.
Lidé se nás ptali na lokální zálohy dat z OrgPadu. OrgPad vytváříme pro vás tak, abyste nad svými daty měli plnou kontrolu. Data už proto bylo dříve možné ručně exportovat v různých formátech.
API umožňuje tento proces automatizovat. Rychle jsme vytvořili skript v Pythonu, který s vaším API klíčem ke čtení stáhne lokální zálohu všech vašich OrgStránek. Při dalším spuštění stahuje jen změny, takže po prvním stažení je synchronizace dat velmi rychlá. Můžete si například snadno naplánovat úlohu, která bude data automaticky synchronizovat každý den.
Skript má také řadu voleb. Může vynechat přílohy a stáhnout jen menší data OrgStránek s informacemi o buňkách, propojeních a podobně. Umí stáhnout jen některé OrgStránky, například ty s určitým štítkem nebo slovem v názvu. Dokáže také automaticky odstranit přístupové tokeny, abyste je nesdíleli se svými AI agenty. Úplný seznam najdete v jeho dokumentaci.
Upozornění: Tento skript jsme během několika hodin celý vytvořili s pomocí Codexu. Python moc nepíšeme, ale kód jsme zkontrolovali a vypadá v pořádku. Hlavně jsme ale chtěli ověřit, zda Codex dokáže pracovat s API OrgPadu a jeho dokumentací. Tento test dopadl velmi dobře.
API otevírá mnoho možností práce s daty v OrgPadu — od praktických úkolů, jako je zálohování OrgStránek, po vlastní analýzy a vizualizace. Při vlastní práci s API zkoumáme, co je možné, když jiné nástroje mohou OrgStránky číst, chápat a upravovat. Následující příklady jsme už sami vyzkoušeli.
Chtěl jsem API OrgPadu ukázat své tchyni. Zpočátku ji nezaujalo, protože není programátorka. Otevřel jsem proto Codex a požádal ho, aby rychle vytvořil novou OrgStránku o jejích rodných Zvánovicích. Výsledek na obrázku vznikl po několika dalších pokynech — požádal jsem Codex, aby doplnil další fotografie z internetu a interaktivní mapu. Tchyně pak chtěla Codex nainstalovat do svého počítače, aby si mohla API OrgPadu vyzkoušet sama.
Codex jsme použili také při přípravě ukázkových dokumentů pro naši novou úvodní stránku. Pokusili jsme se přímo ze zdrojového kódu OrgPadu vytvořit přehled animací pružinové fyziky, ale výsledek byl typický nekvalitní výstup AI. Ručně jsme ho proto upravili. Codex nám přitom dál pomáhal s úpravou textu, zápisem matematických vzorců a dokonce i s vytvořením malých grafů pro každý ze tří typů pružin.
Pro zábavu jsme zkusili vytvořit graf všech jmenných prostorů (namespaců) ve zdrojovém kódu OrgPadu. Když byl kód ještě malý, používali jsme lein-ns-dep-graph. Dnes je zdrojový kód OrgPadu rozsáhlý. Má přibližně 175 tisíc řádků Clojure, asi 1 200 jmenných prostorů a 9 tisíc interních odkazů mezi nimi. Graf vytvořený Codexem pomocí API vypadal zajímavě, ale nebyl příliš užitečný.
Řekli jsme proto Codexu, aby graf zjednodušil: seskupil jmenné prostory do balíčků a ponechal jen ty nejdůležitější. Po několika pokynech vznikl tento užitečnější přehled.
Graf stále obsahoval mnoho propojení, z nichž některá nesla jen málo informací. Všechny klientské jmenné prostory jsou například modré, proto není nutné je všechny propojovat se samostatným kořenovým uzlem client. Lepší je tento vztah nahradit rámečkem s názvem client, tvořeným pěti buňkami propojenými do kruhu. Počet propojení se tím výrazně snížil a struktura se lépe čte.
Pro kvalitnější dokumentaci by bylo možné graf dál ručně upravit, přidat další jmenné prostory či propojení a napsat výstižnější popisy. Protože šlo jen o experiment s Codexem, dál jsme v něm nepokračovali.
OrgPad se výborně hodí k dokumentování schémat databází. Nechali jsme Codex vytvořit schéma PostgreSQL databáze OrgPadu. Po několika pokynech vznikl tento výsledek: různé typy tabulek jsou seskupené do obdélníkových celků a vztahy mezi tabulkami ukazují šedé uzly. Schéma tak poskytuje rychlý přehled a s Codexem ho lze snadno udržovat aktuální.
AI agenti dobře pracují i s existujícími daty v OrgPadu. Chyby a nápady na vylepšení OrgPadu sledujeme přímo v OrgPadu. Můžeme si tak organizovat aktuální práci, doplňovat informace k jednotlivým chybám a mnoho dalšího.
Nedávno jsme s Codexem analyzovali jednoduché nebo zastaralé chyby a nápady v této i souvisejících OrgStránkách. Vedlo to k řadě menších vylepšení OrgPadu, o kterých jste možná četli na našem Discordu. AI agenti jsou pro tento typ práce výborným nástrojem.
Při psaní tohoto článku jsme s Codexem hledali nesprávné nebo zastaralé informace v přehledu architektury OrgPadu.
V dalším experimentu jsme s Codexem vyzkoušeli nelineární chat. Když chcete v AI chatu řešit složité téma, je těžké se vyznat v konverzaci, která se větví do různých směrů — právě s tím může pomoci nekonečné plátno OrgPadu.
Vyzkoušeli jsme to při plánování analytiky pro naši novou úvodní stránku. Analytiku si vytváříme sami, takže vaše data jsou chráněná a nesdílíme je s žádnou třetí stranou. Chtěli jsme ji rozšířit o nové události z úvodní stránky.
S Codexem jsme se domluvili na tomto postupu: bude psát zprávy do dané OrgStránky. Odpovědi a další otázky budeme přidávat k těmto zprávám. Codex bude dokument pravidelně kontrolovat přes API, například každých 30 sekund. Když najde novou buňku s otázkou, vytvoří k ní svou zelenou odpověď.
Fungovalo to velmi dobře. Mohli jsme dokumentem procházet, vše si číst, promýšlet, psát další nápady a otázky. O něco později jsme dostali strukturovanou odpověď a zároveň využili všechny možnosti OrgPadu.
Věříme, že je tento přístup velmi slibný. S lepší integrací by OrgPad mohl výrazně zlepšit AI chaty při zkoumání složitých témat.