/v2/agents/sessions/{session_id}/ingressGetIngressURL returns the public HTTPS URL of the session's OpenHands Agent Server.
Publishes the URL on first call and returns it. Idempotent while the session runs: the same URL is
returned until the session is paused, locked or rolled back, after which the next call returns a new
hostname (pause and lock revoke the URL; rollback moves the session to a new sandbox, so re-fetch
after resume, unlock or rollback). The URL fronts guest port 8000 (the OpenHands Agent Server,
HTTP + WebSocket) and replaces the port-forward bridge for browser clients. Requests to the URL carry
the caller's DO token as a Bearer header. Poll until state is INGRESS_URL_STATE_READY; there is no
failed state. Only OpenHands sessions support ingress, and it is gated per team.
A 401 is returned: Authentication failed due to invalid credentials. A 403 is returned: Session belongs to another team. A 404 is returned: The resource was not found. A 409 is returned: Session is not running. A 423 is returned: This session is unavailable; contact support. A 429 is returned: The API rate limit has been exceeded. A 500 is returned: There was a server error. A 501 is returned: Public ingress is not supported for this agent kind or sandbox substrate. Any other status is an error: There was an unexpected error.