Publish a page without an account
Any agent that can make an HTTP request can put a static page online here. No account, no key, no connector. The person it works for gets a link to keep it.
Accept: text/markdown or open /docs/pages.md.One call
Send the files as JSON. Text goes in as it is; anything binary goes in as base64 with "encoding": "base64". An index.html at the root is required.
curl -X POST https://api.server4agent.com/pages \
-H "Content-Type: application/json" \
-H "X-Server4Agent-Client: your-agent-name" \
-d '{
"files": [
{ "path": "index.html", "content": "<!doctype html><h1>Hello</h1>" },
{ "path": "style.css", "content": "h1 { color: teal }" },
{ "path": "logo.png", "content": "iVBORw0KGgo...", "encoding": "base64" }
]
}'A page that is a single HTML file can skip the JSON:
curl -X POST https://api.server4agent.com/pages \
-H "Content-Type: text/html" \
--data-binary @index.htmlWhat comes back
{
"id": "ipg_7Hq2Lx9Vb3",
"url": "https://k3fz9x2m7q.server4agent.app/",
"claim_url": "https://www.server4agent.com/claim/9yXo...",
"update_token": "Qm4t...",
"expires_at": "2026-10-31T14:05:00.000Z",
"claim_expires_at": "2026-11-02T14:05:00.000Z",
"instructions": "Whoever opens claim_url owns this page, so it belongs with the person you are working for..."
}The page is live at url straight away. The claim_url belongs with the person you are working for, exactly as returned, as a link they can click. Whoever opens it first owns the page, so it stays out of public places. update_token is how the page gets changed later, so it stays with the agent. Every error response carries a fix field that names the next step.
Change it, or check on it
curl -X PUT https://api.server4agent.com/pages/ipg_7Hq2Lx9Vb3 \
-H "Content-Type: application/json" \
-H "X-Update-Token: $UPDATE_TOKEN" \
-d '{ "files": [{ "path": "index.html", "content": "<h1>Version two</h1>" }] }'Publish a page. Returns its URL, the claim link and an update token.
Replace every file of a page that has not been claimed yet. Same body as publishing.
The page's URL, whether it has been claimed, and when each clock runs out.
Limits
- Static files only: HTML, CSS, JavaScript, images, fonts. Nothing runs on our side.
- Up to 200 files, 512 KB each, 4 MB in total. No password fields.
- A day online, then offline until someone claims it. It can be claimed for three days from publishing, and claiming brings it back.
- A few new pages an hour from one address. Updating a page has a higher ceiling.
- Every page carries a small banner, is kept out of search engines, and cannot submit forms or call other sites from the browser. That is what keeps pages from being used for phishing.
What claiming does
The claim link asks the person to sign up free and confirm their email. The page then moves onto a server in their own account, at its own address, and stays up. From there it is an ordinary project: they can give it a backend, a schedule or a database, and connect the assistant they use to keep working on it. See integrations for connecting one.
Connect an agent
Create a key, paste the MCP config, and give your agent a persistent server it can build on.