Přeskočit na obsah

API — základ

  • Base: https://api.contenta.cz/api/v1/public/sites/<slug>
  • Hlavička: X-Site-Key: <apiKey> — povinná u všech public endpointů.
  • Envelope: { data: T }, u stránkovaných { data: T[], meta: { nextCursor, hasMore } }.
const res = await fetch(`${BASE}/posts`, { headers: { 'X-Site-Key': KEY } });
const { data, meta } = await res.json();

Co je X-Site-Key (a co není)

Sekce “Co je X-Site-Key (a co není)”

Je to per-web read/form klíč, ne admin secret. Opravňuje pouze ke čtení publikovaného obsahu daného webu a k odeslání formulářů/komentářů. Žádný zápis ani přístup do adminu.

  • Read data ber přednostně při buildu (SITE_KEY zůstane mimo bundle).
  • Pro client-side komentáře/formuláře je OK klíč vystavit v prohlížeči přes PUBLIC_SITE_KEY — leak zpřístupní jen to, co je beztak veřejné. Zneplatnění: POST /admin/sites/:slug/rotate-key.

Seznamy vrací meta.nextCursor a meta.hasMore. Další stránku načteš přes ?cursor=<nextCursor>.

Standardizované (RFC 7807) — { type, title, status, detail, instance }. Build-time klient by měl mít graceful fallback (na chybu vrátit prázdno), ať build nespadne.

Plná reference (Swagger / OpenAPI)

Sekce “Plná reference (Swagger / OpenAPI)”

Živá, auto-generovaná OpenAPI reference jen pro public API (interaktivní „try it out“):

Obsahuje pouze /public/* endpointy (read & form) s autentizací přes X-Site-Key. Admin endpointy jsou session-auth a nejsou určené pro integraci. Tato dokumentace je ruční průvodce — reference se bere ze Swaggeru, aby nezastarala.