{"ok":true,"service":"astra-relay","status":"online","environment":"production","config":{"durable_observations":true,"durable_provider_credentials":true,"catalog_count":1327,"synced_catalog_count":2512,"local_node_count":10,"binding_count":1,"provider_count":7,"key_count":0,"credential_count":7,"api_key_count":1,"ok_base_url":"https://owlandkestrel.com","vault_configured":true,"has_node_target":false},"endpoints":{"landing":{"method":"GET","path":"/","description":"Public landing page."},"login_page":{"method":"GET","path":"/login","description":"Browser sign-in entry point."},"login_start":{"method":"GET","path":"/login/start","description":"Start O+K OAuth sign-in."},"login_callback":{"method":"GET","path":"/login/callback","description":"Complete O+K OAuth sign-in."},"logout":{"method":"GET","path":"/logout","description":"Clear the browser session cookie."},"catalog_page":{"method":"GET","path":"/catalog","description":"Browser model catalogue and provider setup entry point."},"node_page":{"method":"GET","path":"/node","description":"Browser local-node connection entry point."},"status":{"method":"GET","path":"/status","description":"Machine-readable relay status and route map."},"health":{"method":"GET","path":"/health","description":"Operational health for deploy checks."},"session":{"method":"GET","path":"/api/session","description":"API sign-in/session status."},"usage":{"method":"GET","path":"/api/usage","description":"Identity-scoped hosted relay usage, latency, and cost-shape summary."},"api_catalog":{"method":"GET","path":"/api/catalog","description":"API rich model catalogue surface."},"providers":{"method":"GET","path":"/api/providers","description":"API inference-provider setup status."},"add_provider":{"method":"POST","path":"/api/providers","description":"API inference-provider connection endpoint."},"discover_provider_models":{"method":"POST","path":"/api/providers/discover","description":"Poll an OpenAI-compatible provider /models endpoint before adding routes."},"refresh_provider_models":{"method":"POST","path":"/api/providers/refresh","description":"Re-poll a vault-backed provider /models endpoint using its stored credential."},"confirm_provider_refresh":{"method":"POST","path":"/api/providers/refresh/confirm","description":"Add selected newly discovered provider models using the stored provider credential."},"api_keys":{"method":"GET","path":"/api/keys","description":"List caller API keys without secrets."},"mint_api_key":{"method":"POST","path":"/api/keys","description":"Mint an Astra API key for model calls."},"revoke_api_key":{"method":"DELETE","path":"/api/keys/:key_id","description":"Revoke an Astra API key."},"local_node":{"method":"GET","path":"/api/local-node","description":"API local-node connection status."},"connect_local_node":{"method":"POST","path":"/api/local-node","description":"API local-node pairing endpoint."},"import_local_catalog":{"method":"POST","path":"/api/local-node/catalog","description":"Import paired-node ModelOption catalog metadata."},"import_local_providers":{"method":"POST","path":"/api/local-node/providers/import","description":"Migrate paired-node provider secrets into the hosted vault."},"remote_host_bash":{"method":"POST","path":"/api/local-node/remote-host-bash","description":"Enable or disable generic remote host command execution for this account."},"sync_local_node":{"method":"GET","path":"/api/local-node/sync","description":"Pull web-vault providers and synced catalog for local reconciliation."},"gpt_public_schema":{"method":"GET","path":"/gpt/public/openapi.json","description":"Public ChatGPT action schema on the hosted origin."},"gpt_account_schema":{"method":"GET","path":"/gpt/account/openapi.json","description":"OAuth-bound ChatGPT action schema on the hosted origin."},"gpt_public_tools":{"method":"POST","path":"/gpt/public/use_tool","description":"No-auth orientation and setup tools for ChatGPT."},"gpt_account_tools":{"method":"POST","path":"/gpt/use_tool","description":"OAuth-bound account/catalog/local-node/inference tools for ChatGPT."},"models":{"method":"GET","path":"/models","description":"Rich Astra model catalog surface."},"openai_models":{"method":"GET","path":"/v1/models","description":"Compact OpenAI-compatible model list."},"chat_completions":{"method":"POST","path":"/v1/chat/completions","description":"OpenAI-compatible chat completions."},"chat_completions_alias":{"method":"POST","path":"/chat/completions","description":"Compatibility alias for chat completions."}},"live_readiness":{"deployed_origin":true,"durable_observations":true,"login_flow":true,"catalog_sync":true,"provider_setup_api":true,"binding_source":true,"credential_vault":true,"local_node_pairing":true,"api_key_minting":true,"authenticated_completion_smoke":false}}