{"name":"AutoPostSite Content API","version":"v1","authenticationHeader":"X-AutoPost-Api-Key","openApiDocument":"/openapi/v1.json","routes":[{"method":"GET","path":"/api/status","requiresAuthentication":false,"description":"Returns service health and server time."},{"method":"GET","path":"/api/documentation","requiresAuthentication":false,"description":"Returns structured API documentation used by the starter page."},{"method":"GET","path":"/api/content/pages","requiresAuthentication":false,"description":"Lists published content pages."},{"method":"GET","path":"/api/content/pages/{slug}","requiresAuthentication":false,"description":"Returns one published HTML content page."},{"method":"GET","path":"/api/content/assets?slug={slug}&path={assetPath}","requiresAuthentication":false,"description":"Streams an asset uploaded with a multi-file page."},{"method":"POST","path":"/api/content/pages/single","requiresAuthentication":true,"description":"Publishes or replaces a page from one JSON payload containing HTML, CSS, and JavaScript."},{"method":"POST","path":"/api/content/pages/multifile","requiresAuthentication":true,"description":"Publishes or replaces a page from multipart form data containing a manifest and separate files."},{"method":"DELETE","path":"/api/content/pages/{slug}","requiresAuthentication":true,"description":"Deletes a published page."}],"samples":[{"name":"Single payload publish","description":"Use this when the sender already has HTML, CSS, and JavaScript as strings.","command":"curl.exe -X POST https://localhost:7036/api/content/pages/single ^\n  -H \"Content-Type: application/json\" ^\n  -H \"X-AutoPost-Api-Key: <your-key>\" ^\n  --data \"{\\\"slug\\\":\\\"launch\\\",\\\"title\\\":\\\"Launch Page\\\",\\\"html\\\":\\\"<h1>Launch</h1><p>Published by API.</p>\\\",\\\"css\\\":\\\"h1{color:#114b5f}\\\",\\\"javaScript\\\":\\\"console.log('launch page loaded')\\\"}\""},{"name":"Multi-file publish","description":"Use this when the sender has separate HTML, CSS, JavaScript, image, or download files.","command":"curl.exe -X POST https://localhost:7036/api/content/pages/multifile ^\n  -H \"X-AutoPost-Api-Key: <your-key>\" ^\n  -F \"manifest={\\\"slug\\\":\\\"campaign\\\",\\\"title\\\":\\\"Campaign\\\",\\\"htmlFile\\\":\\\"index.html\\\",\\\"cssFiles\\\":[\\\"site.css\\\"],\\\"javaScriptFiles\\\":[\\\"site.js\\\"],\\\"assetFiles\\\":[\\\"hero.jpg\\\"]}\" ^\n  -F \"files=@index.html;filename=index.html\" ^\n  -F \"files=@site.css;filename=site.css\" ^\n  -F \"files=@site.js;filename=site.js\" ^\n  -F \"files=@hero.jpg;filename=hero.jpg\""}]}