Je AI-agent werkt mee. Jij houdt de sleutel.
Een REST API voor je hele site, gemaakt voor agents die fouten maken en opnieuw proberen. Met grenzen die jij bepaalt en een spoor van elke wijziging.
-
189
API-operaties
Allemaal beschreven in één OpenAPI 3.1-spec. Een ongedocumenteerde route laat de build falen.
-
5
sleutelprofielen
Van alleen lezen tot volledig project, met concepten-zonder-publiceren daartussen.
-
120
schrijfacties per minuut
Per sleutel, naast 600 leesacties. Daarboven krijgt je agent een duidelijke Retry-After.
-
24u
idempotentie
Stuurt je agent dezelfde aanvraag opnieuw met dezelfde Idempotency-Key, dan ontstaat er geen dubbel.
Agents maken fouten. De API vangt ze op.
Elke laag is gemaakt voor software die opnieuw probeert, gokt en soms verkeerd leest.
-
Eén sleutel, één project
Een sleutel hoort bij één site en draagt een expliciete lijst rechten, met een vervaldatum als je wil.
-
Profielen op maat
Alleen lezen, concepten maken, publiceren, media beheren of volledig project. Persoonsgegevens alleen in dat laatste.
-
Publiceren blijft menselijk
Zonder publicatierecht komt alles wat een agent maakt offline binnen. Jij leest na en zet het live.
-
Eerst proefdraaien
Met dryRun=true wordt een wijziging volledig uitgevoerd en gecontroleerd, en daarna teruggedraaid. Je ziet het resultaat zonder risico.
-
Geen blinde overschrijvingen
Stuur de ETag mee in If-Match en een wijziging op verouderde inhoud wordt geweigerd. Zo blijft het werk van je collega's staan.
-
Opnieuw proberen zonder dubbels
Een Idempotency-Key op elke aanmaak. Een herhaalde aanvraag krijgt het eerste antwoord terug.
-
Elke wijziging gelogd
Elke schrijfactie komt in het auditlog, met per veld en per taal de oude en nieuwe waarde, gegroepeerd per agent-run.
-
Fouten die een agent begrijpt
Stabiele foutcodes en alle schendingen in één antwoord, per veld. Je agent past zijn plan aan in plaats van te gokken.
Eerst ontdekken, dan schrijven.
Een agent hoeft niets te raden. Het contentmodel van je site staat beschreven in de API zelf.
-
Stap 1
Context
GET /api/context: welk project, welke talen, welke rechten, welke modules en welke limieten.
-
Stap 2
Schema
GET /api/website/schema: welke blokken waar mogen, met elk veld beschreven als JSON Schema.
-
Stap 3
Lezen
De pagina komt terug als een boom die je zo weer kan schrijven, met een ETag per blok.
-
Stap 4
Schrijven
Eerst als proefdraai, dan echt, met If-Match en een Idempotency-Key. Is er iets mis, dan krijg je alle fouten tegelijk en wordt er niets weggeschreven.
Sleutel maken, documentatie openen, uitproberen.
Een PageSquirrel-beheerder maakt een sleutel aan voor je project, met het profiel en de vervaldatum die jij kiest. Het token zie je één keer.
- Swagger UI per project, rechtstreeks in de backoffice
- Elke aanroep live uit te proberen, ook als proefdraai
- Dezelfde spec als bestand, als Postman-collectie en als script
Je hele site, niet alleen blogposts.
-
Pagina's en blokken
Pagina's, secties en blokken aanmaken, vullen, sorteren en verplaatsen, in elke taal van je site.
-
Media
Afbeeldingen uploaden of veilig importeren vanaf een https-adres, met alt-tekst per taal.
-
Menu's
Pagina's in het hoofdmenu, mobiele menu of de footer zetten, in de juiste volgorde.
-
Formulieren
Velden, volgorde en ontvangers van je formulieren aanpassen.
-
Instellingen
SEO-profiel, contactgegevens, cookiebanner, Google-koppeling, redirects en talen.
-
Modules
Blogartikels, portfolio, accommodaties en boekingen, panden, producten, voorraad en recepten.
Claude, MCP of je eigen script.
De API is zo ontworpen dat een dunne laag tools volstaat: Claude-tools, een MCP-server, LangChain of een gewoon script. Genereer ze uit de OpenAPI-spec of begin met een handvol:
get_contextenget_schemaom te ontdekkenread_pageom een pagina met ETags te lezenadd_nodeenpatch_node_fieldsom te schrijvenupload_image_from_urlvoor beelden- en
?dryRun=trueom alles eerst te tonen
De eerste aanroep van elke agent: de context van het project ophalen.
curl https://pagesquirrel.com/api/context \
-H "Authorization: Bearer psq_…" \
-H "X-Agent-Run-Id: my-run"Start je agent met een sleutel die alleen concepten maakt. Geef pas publicatierechten als je hem vertrouwt.
Deze site is gebouwd door een agent, via de API.
Elke pagina, elk blok, elke afbeelding en elk menu-item op pagesquirrel.com is aangemaakt via de Content API, door een Claude-agent die een beschrijving van de site afspeelt.
- Eerst volledig als proefdraai, daarna echt
- Elke aanmaak met een Idempotency-Key, elke wijziging met If-Match
- Een tweede run verandert niets meer
Wat je wil weten vóór je een agent loslaat.
Kan een agent mijn site kapotmaken?
Dat bepaal jij met de sleutel. Een conceptsleutel kan niets publiceren en niets verwijderen: alles wat hij maakt, komt offline binnen tot jij het live zet. Met een proefdraai zie je vooraf exact wat er zou gebeuren.
Met welke AI-tools werkt het?
Met alles wat HTTP spreekt. Claude met tool use, een MCP-server die je zelf bovenop de OpenAPI-spec bouwt, LangChain of een eigen script. Er is geen SDK nodig.
Wie maakt de sleutels aan?
Een PageSquirrel-beheerder maakt de sleutel aan voor jouw project, met het profiel en eventueel de vervaldatum die jij kiest. Een sleutel kan nooit zelf nieuwe sleutels aanmaken.
Kan ik een wijziging van een agent terugdraaien?
Een knop om terug te zetten is er nog niet. Wel staat elke wijziging in het auditlog, met per veld en per taal de oude en de nieuwe waarde. Zo zie je altijd wat er veranderd is en kan je het herstellen. Daarom raden we conceptsleutels aan voor agents die zelfstandig werken.
Kan een agent klantgegevens lezen?
Alleen met het profiel "volledig project". Formulierinzendingen, bestellingen en offerteaanvragen zitten bewust niet in de profielen voor lezen, concepten of publiceren.
Welke limieten gelden er?
Standaard 600 leesacties en 120 schrijfacties per minuut per sleutel, afbeeldingen tot 2 MB en 3000 × 3000 pixels (JPEG, PNG of GIF). Elk antwoord vertelt je agent hoeveel ruimte hij nog heeft.
Bekijk de API live in de backoffice.
In de demo maken we samen een conceptsleutel aan en laten we een agent een pagina bouwen.