obhut documentation
obhut operates authoritative DNS, certificates, TLS termination, a WAF and hosting for static
websites in one platform. This site documents its API, which the dashboard, the obhut CLI and
its MCP server use too.
Your first request
You need an obhut account and an API token. Create the token on the dashboard's API tokens page. The dashboard shows its secret once, so keep the secret in a safe place.
Send the token in the Authorization header. This request answers with the caller, here the
token itself:
curl https://api.obhut.io/v1/me \
-H "Authorization: Bearer $OBHUT_TOKEN"Note
Each operation's page names the permission that the operation needs. Give a token only the permissions that its work needs.
Which release this describes
The release that runs the API also builds this site, from the same code. The footer of each page names that release.
What the edge forwards to your origin
edged, the edge that serves your hostnames, forwards a WebSocket upgrade to your origin when
it opens as RFC 6455 says: a GET with Sec-WebSocket-Version: 13 and a 16-byte
Sec-WebSocket-Key. It relays the connection once your origin's 101 carries that key's
Sec-WebSocket-Accept, and answers 502 otherwise. Every other upgrade (h2c, any other
protocol) and any HTTP2-Settings header get 400, and nothing reaches your origin: after an
upgrade the connection would carry requests past the firewall, the rate limits and Access (since
2026-11-02). A Connection header may name only close, keep-alive, te, transfer-encoding,
upgrade and proxy-connection; any other token gets 400, since the edge would remove a
header of that name, such as Content-Type, before your origin reads the request. Request
trailers are not forwarded.