Skip to content

Blog

Categorie voor publieke blog-API-endpoints.

Beschikbare endpoints

  • GET /api/posts

    • Geeft een lijst met gepubliceerde blogposts terug.
    • Limiet: maximaal 100 records.
    • Response: { ok, posts }
  • GET /api/posts/:slug

    • Geeft een enkele gepubliceerde blogpost terug op basis van de slug.
    • Fouten: 400 bij ontbrekende slug, 404 als het bericht niet bestaat.
    • Response: { ok, post }
  • GET /api/search?q=zoekterm

    • Zoekt in gepubliceerde blogposts op titel, slug, excerpt, inhoud en categorienaam.
    • Als q leeg is, geeft het endpoint de nieuwste posts terug.
    • Response: { ok, items, total }
  • GET /:slug/json

    • Geeft de volledige JSON van een enkele gepubliceerde post terug op basis van de slug.
    • Fouten: 400 bij ontbrekende slug, 404 als het bericht niet bestaat.
    • Response: { ok, post }
  • GET /api/categories

    • Geeft de lijst met blogcategorieen terug.
    • Ondersteunt een optionele q-filter op slug of name.
    • Response: { ok, categories }
  • POST /api/categories

    • Maakt een nieuwe blogcategorie aan.
    • JSON body: { name, slug? }
    • Fouten: 400 bij ongeldige payload, 409 bij dubbele slug.
    • Response: { ok, category }
  • GET /api/categories/:id

    • Geeft een enkele categorie terug op id.
    • Fouten: 400 bij ongeldige id, 404 als de categorie niet bestaat.
    • Response: { ok, category }
  • PUT /api/categories/:id

  • PATCH /api/categories/:id

    • Werkt een blogcategorie bij.
    • JSON body: { name?, slug? }
    • Fouten: 400, 404, 409.
    • Response: { ok, category }
  • DELETE /api/categories/:id

    • Verwijdert een categorie als die niet de standaardcategorie is en niet gekoppeld is aan posts.
    • Fouten: 400, 404, 409.
    • Response: { ok: true }

Opmerkingen

  • Alle endpoints geven JSON terug.
  • Foutresponses gebruiken { ok: false, error }.
  • De categorie-endpoints zijn momenteel publiek toegankelijk en hebben geen extra autorisatielaag.