odysseus-dev/odysseus · error · HTTPException

Endpoint unreachable: {e}

Error message

Endpoint unreachable: {e}

What it means

Error "Endpoint unreachable: {e}" thrown in odysseus-dev/odysseus.

Source

Thrown at routes/embedding_routes.py:285

        ok, reason = check_outbound_url(
            url,
            block_private=os.getenv("EMBEDDING_BLOCK_PRIVATE_IPS", "false").lower() == "true",
        )
        if not ok:
            raise HTTPException(400, f"Rejected endpoint URL: {reason}")

        # Quick health check
        try:
            import httpx
            resp = httpx.post(
                url,
                json={"input": ["test"], "model": model or "test"},
                headers={"Authorization": f"Bearer {api_key}"} if api_key else {},
                timeout=10,
            )
            resp.raise_for_status()
        except Exception as e:
            raise HTTPException(400, f"Endpoint unreachable: {e}")

        # Persist and set in environment for immediate use
        data = {"url": url}
        if model:
            data["model"] = model
        if api_key:
            from src.secret_storage import encrypt
            data["api_key"] = encrypt(api_key)

        _save_custom_endpoint(data)
        os.environ["EMBEDDING_URL"] = url
        if model:
            os.environ["EMBEDDING_MODEL"] = model
        if api_key:
            os.environ["EMBEDDING_API_KEY"] = api_key

        # Reset the RAG singleton so it picks up the new endpoint
        import src.rag_singleton as _rs

View on GitHub (pinned to f9235ebbf1)

Solutions

  1. Verify the endpoint server is running and reachable from this host.
  2. Check the URL, port, and firewall rules, then retry the connectivity test.

When it happens

Trigger: Triggered when the corresponding server-side validation or runtime check at the recorded location rejects the request or operation and returns this error message to the caller.

Common situations: See trigger scenarios.


AI-assisted analysis of odysseus-dev/odysseus@f9235ebbf1 (2026-08-14). Data as JSON: /api/errors/bc9b011ffeefffcc. Report an issue: GitHub.