Vývojář API reference

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

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.

Související články

Laravix Documentation · 14.07.2026
Star on GitHub