*.service.gravixlayer.ai. Open it in a browser, call it from code or CI, or share a short-lived link with a teammate.
The guest process must already be listening on the port. Opening a web service only publishes a route — it does not start your server.
When to use it
Defaults and access model
Private (default)
- Programmatic clients send
X-Gravix-Web-Service-Token: <token>. - Browsers use
browser_url, which hits/_ws/authonce and sets an auth cookie for later page loads and API calls from that origin. - Auth headers and cookies are stripped before traffic is proxied into the guest — your app never sees the Gravix service token.
is_public=true / --public)
- No token required. Anyone with the URL can reach the guest port until expiry or revoke.
- Use only for intentionally open demos. Prefer private for APIs and anything with data.
Quick start: FastAPI
Start a small API in the runtime, open a private web service, then create and list items. Guest egress is deny-by-default, so the examples create a temporaryallow_all network policy so pip install can reach PyPI. Prefer a narrower allowlist in production.
Open a service
Call the service
The SDK handle adds the token header for private services automatically:List and revoke
From the UI
On the runtime detail page, open the Web Service section, enter a guest port, and open or copy the link. Private links use the same token/cookie model as the API. After expiry, open again for a fresh URL.Security best practices
- Keep private by default — only use
--public/is_public=Truefor deliberate demos. - Treat tokens like secrets — store them in CI secrets; never commit them; prefer
browser_urlfor humans so the token is not left in shared chat after auth. - Short TTLs — use the smallest
expires_in_secondsthat fits the session; revoke when done. - Rotate when leaked —
rotate_token=True/--rotate-tokeninvalidates the previous token and browser cookies. - Bind guest servers carefully — listen on
0.0.0.0only if you intend edge access; do not expose admin UIs without auth inside the app. - Egress is separate — web services are inbound HTTPS to the guest. Outbound calls from the guest still follow Network Policies.
Troubleshoot
Next
Network Policies
Control outbound destinations from the sandbox
Run commands
Start servers and install packages inside the runtime
Create Runtime
Create a sandbox to host your HTTP app
Identity Providers
Inject credentials your guest app needs