Skip to main content
Agent37 Cloud gives every user their own hosted agent computer. Create an instance and Hermes comes back running at its own URL: it chats, streams, browses, runs tools, and keeps state between conversations — files, connected accounts, and memory stay on the agent until you delete it. You create the agent with one call, then talk to it with the next; you never touch a server.
Building with an AI coding agent? Point it at llms-full.txt — the entire API in one file — and it can scaffold a working client.
Three ways to build on Agent37:

Starter Kit

Fork a white-label, multi-tenant dashboard, rebrand it, and deploy. The fastest way to ship.

Build a chat app

Wire the two API planes into your own app. Where most teams start.

Custom Docker image

Extend Hermes or bring any Dockerfile — Agent37 builds the image in the cloud.
The rest of this page is the API itself — create an instance and stream a reply in two calls. Agent37 Cloud routes requests from your app to isolated agent instances.
1

Get a key

Mint an API key at www.agent37.com/dashboard/cloud/api-keys. The full sk_live_... key is shown once, at creation. Send it as Authorization: Bearer on api.agent37.com and as X-Agent37-Key on your instance’s URL.New workspaces include enough credit to create one instance. Add funds from billing before you run more than one instance. Billing covers pricing, instance limits, and top-up rules.
2

Create an instance

POST /v1/instances provisions a computer running the default agent37-hermes template and returns 201 once its status is running. Every field is optional, but include managed-spend headroom if you want built-in LLM calls to work from the first message.
The url is the instance’s own API: the instance id is the DNS label, so ab12cd34ef answers at https://ab12cd34ef.agent37.app. That is the address you talk to next. Any other port — the agent’s dashboard, terminal, and files included — is reachable at https://ab12cd34ef-{port}.agent37.app; see Instance and preview URLs.
3

Send it a streamed message

POST /v1/responses on the instance URL runs a turn. Set stream: true to receive Server-Sent Events as the agent reasons, calls tools, and writes its answer. Same sk_live_ key, sent as the X-Agent37-Key header.
The stream opens with response.created, which carries the ids you need, and ends with a terminal event after which the server closes the connection:
events
Prefer not to stream? Leave stream off (the default is false) and the call returns the finished response as one JSON body.
4

Continue the conversation

Reuse the session_id to continue the same thread. The agent keeps the full history on the instance, so you send only the new input.
curl
Done experimenting? DELETE /v1/instances/{id} ends billing on the spot: compute is metered per minute, so you only ever pay for the time the instance existed. See Billing.
Looking for OpenClaw channel, model, or networking setup? Start at the OpenClaw overview.