API reference
Kompletní reference REST API Laravixu, verze 1. Všechny endpointy jsou GET, žijí pod /api/v1, vyžadují Bearer token a fungují jen na headless webech — nastavení popisuje Headless režim a API tokeny.
Společný query parametr: locale (kód zapnutého jazyka; výchozí je výchozí jazyk webu) na každém obsahovém endpointu.
Stránky
GET /api/v1/pages
Všechny publikované stránky a archivy daného jazyka, řazené podle názvu. Vrací souhrny (bez fields/blocks/html).
GET /api/v1/pages/homepage
Publikovaná úvodní stránka jako plný objekt stránky.
GET /api/v1/pages/{slug}
Jedna publikovaná stránka nebo archiv podle slugu, plný objekt:
{
"data": {
"id": 12,
"type": "page",
"title": "O nás",
"slug": "o-nas",
"is_homepage": false,
"status": "published",
"published_at": "2026-07-01T10:00:00+00:00",
"fields": { "meta_title": "O nás", "og_image": "34" },
"og_image": { "id": 34, "name": "tym.jpg", "mime_type": "image/jpeg", "size": 812345, "url": "…", "variants": { "thumbnail": "…", "medium": "…", "large": "…", "og": "…", "favicon": "…", "full": "…" } },
"blocks": [ { "type": "hero", "data": { "heading": "…" } } ],
"html": "<section>…</section>",
"taxonomies": [ { "id": 3, "type": "category", "name": "Firma", "slug": "firma", "parent_id": null } ],
"author": { "id": 1, "name": "Jana Nováková" }
}
}
html je exportované HTML z vizuálního builderu (null, když stránka v builderu nevznikla); blocks je klasické pole bloků; fields nese všechna custom/SEO pole jako surové páry klíč–hodnota.
Příspěvky
GET /api/v1/posts
Publikované příspěvky od nejnovějšího, stránkované (Laravel pagination obálka s data, links, meta).
| Parametr | Význam |
|---|---|
per_page |
Velikost stránky, výchozí 15, max 100 |
page |
Číslo stránky |
taxonomy_slug |
Jen příspěvky přiřazené taxonomii s tímto slugem |
locale |
Jazyk |
GET /api/v1/posts/{slug}
Jeden publikovaný příspěvek — stejný tvar jako plná stránka, bez is_homepage.
Taxonomie
GET /api/v1/taxonomies
Top-level taxonomie s vnořenými children, řazené podle názvu. Filtr přes type (např. ?type=category).
{ "data": [ { "id": 3, "type": "category", "name": "Novinky", "slug": "novinky", "parent_id": null, "children": [] } ] }
Nastavení
GET /api/v1/settings
Veřejná nastavení webu — pevný whitelist:
- textové hodnoty:
site_name,site_description,locale,contact_email,meta_title,meta_description,google_site_verification,twitter_url,linkedin_url,facebook_url,instagram_url,github_url - objekty médií (nebo null):
logo,favicon,og_image
Navigace
GET /api/v1/navigation
Menu webu a jejich design, přesně jak jsou nakonfigurované v administraci:
{ "data": { "navigations": { "header": [ { "label": "Úvod", "url": "/", "target": "_self", "children": [] } ], "footer": [] }, "design": { "header": { "bg_color": "#ffffff" } } } }
Vyhledávání
GET /api/v1/search?q=dotaz
Fulltextové vyhledávání v publikovaném obsahu (Laravel Scout). Vrací stránkované souhrny.
| Parametr | Význam |
|---|---|
q |
Povinný. 2–200 znaků |
type |
Omezení na jeden typ obsahu (page, post, …) |
per_page |
Výchozí 15, max 100 |
locale |
Jazyk |
Kvalita výsledků závisí na nakonfigurovaném Scout driveru — viz Fulltextové vyhledávání.
Objekty médií
Kdekoli se objeví médium (og_image, logo, favicon), má tvar:
{ "id": 34, "name": "tym.jpg", "mime_type": "image/jpeg", "size": 812345, "url": "https://…/storage/media/….jpg", "variants": { "thumbnail": "…", "medium": "…", "large": "…", "og": "…", "favicon": "…", "full": "…" } }
Varianty odpovídají přednastaveným velikostem (300×300 ořez, ≤800×600, ≤1200×800, ≤1200×630, 32×32, originál). U ne-obrazových souborů se URL variant rovnají originálu.
Sémantika publikace
Všechny endpointy vracejí jen obsah se status = published, jehož published_at je prázdné nebo v minulosti — koncepty a naplánovaný obsah přes API nikdy neuniknou.