{"service":"Helix Protocol Bridge","version":"0.2.6","docs":"https://github.com/scottiehidalgo24-lgtm/helix-protocol","multi_tenancy":"Each tenant sees only their own tools. Tools are isolated by agentId.","auth":{"methods":["Authorization: Bearer <apiKey>","Authorization: Bearer <access_token>"],"api_key":"Long-lived secret (hk_*). No expiry. For server-to-server integrations.","access_token":"Short-lived OAuth2 token (expires_in: 3600). Obtain via POST /auth/register. For client apps.","note":"X-API-Key passes through Cloudflare in most cases but Authorization: Bearer is recommended for guaranteed cross-environment compatibility (works on localhost, VPS, and Cloudflare)."},"proxy":{"semantics":"Transparent passthrough — upstream HTTP status forwarded to client as-is (no remapping to 502/504).","upstream_status":"Present in both success and error responses as upstream_status field."},"endpoints":{"health":"GET /health","register":"POST /auth/register (public — onboarding)","tools":"GET /tools?limit=&offset= (auth — tenant-scoped, paginated)","create_tool":"POST /tools (auth)","get_tool":"GET /tools/:id (auth — ownership required)","delete_tool":"DELETE /tools/:id (auth — ownership required)","call":"POST /call/:toolId (auth — ownership required)","token_info":"GET /auth/me (auth — token introspection)","translate":"POST /translate (auth — auto-registers for your tenant)","oauth_token":"POST /auth/oauth2/token (public)"},"error_model":"{ error: { code, message, details?, validation_errors?, upstream_status?, upstream_url?, request_id } }"}