{"service":"jules","version":"0.1.0","baseUrl":"https://jules.platphormnews.com","trustPolicy":"Web dashboard, public-safe discovery, browser-based operations, trusted-domain discovery, standard route compliance, Vercel metadata capture, trace inspection, and agentic workflow discovery are intentionally supported for public read-only debugging and operator workflows. Mutating, administrative, ingestion, replay, fork, remediation, deployment, sync, test-triggering, reporting, and write actions require PLATPHORM_API_KEY. Public Jules coding assistance, coding-session examples, Google Jules task wrapping through the server-side JULES_API_KEY provider credential, configured GitHub workspace access, local non-sensitive session drafts, and public-safe Onboard handoff discovery remain product capabilities.","auth":{"platformKey":"PLATPHORM_API_KEY","acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"],"providerCredential":"JULES_API_KEY is used only server-side for calls to https://jules.googleapis.com/v1alpha.","neverStore":["Authorization","X-PlatPhorm-API-Key","JULES_API_KEY","cookies","session tokens","raw IPs","private prompts","protected onboarding data"]},"publicReadOnlyAccess":["GET /","GET /dashboard","GET /create","GET /api/health","GET /api/v1/health","GET /api/docs","GET /openapi.yaml","GET /llms.txt","GET /llms-full.txt","GET /llms-index.json","GET /robots.txt","GET /sitemap.xml","GET /sitemap-index.xml","GET /rss.xml","GET /feed.xml","GET /manifest.webmanifest","GET /.well-known/mcp.json","GET /.well-known/agents.json","GET /.well-known/ai-plugin.json","GET /.well-known/security.txt","GET /.well-known/trust.json","GET /api/mcp","POST /api/mcp","GET /api/v1alpha/auth-status","GET /api/v1alpha/sources","GET /api/v1alpha/sessions","POST /api/v1alpha/sessions","GET /api/v1alpha/sessions/{id}","DELETE /api/v1alpha/sessions/{id}","GET /api/v1alpha/sessions/{id}/activities","POST /api/v1alpha/sessions/{id}:sendMessage","POST /api/v1alpha/sessions/{id}:approvePlan","GET /api/github/auth-status","GET /api/github/repositories","POST /api/github/repositories","POST /api/github/repositories/create","GET /api/v1/sessions","GET /api/v1/sessions/{id}","GET /api/v1/sessions/{id}/messages","GET /api/v1/sessions/{id}/plans","GET /api/v1/plans/{id}","GET /api/v1/onboard/applications","GET /api/v1/onboard/applications/{id}","POST /api/v1/onboard/import","POST /api/v1/onboard/import/{id}/create-session","POST /api/v1/onboard/import/{id}/generate-plan","POST /api/v1/onboard/import/{id}/create-kanban-tasks","POST /api/v1/onboard/import/{id}/generate-docs","GET /api/v1/integrations","GET /api/v1/integrations/status","POST /api/v1/integrations/mcp/sync","POST /api/v1/integrations/kanban/create-tasks","POST /api/v1/integrations/docs/report","POST /api/v1/integrations/sandbox/dry-run","POST /api/v1/integrations/browserops/run","POST /api/v1/integrations/evals/run","GET /api/v1/network/graph","GET /api/v1/network/sites","GET /api/v1/network/trusted-domains","GET /api/v1/network/route-compliance","GET /api/v1/network/discovery-compliance"],"protectedActions":["POST /api/v1/sessions","PUT /api/v1/sessions/{id}","DELETE /api/v1/sessions/{id}","POST /api/v1/sessions/{id}/export","POST /api/v1/sessions/import","POST /api/v1/sessions/{id}/messages","POST /api/v1/sessions/{id}/plans","POST /api/v1/network/graph/sync"],"localSessionDraftPersistencePolicy":"IndexedDB is used only for non-sensitive local drafts, plans, task drafts, and prompt history. Jules does not ask browser users to enter API keys.","trustedDomainPolicy":{"defaultTrustedScope":"*.platphormnews.com","discoverySources":["https://platphormnews.com/api/network/graph","https://base.platphormnews.com/sitemap-index.xml"],"blocked":["localhost","private IPs","link-local addresses","metadata service addresses"]},"routeStandard":[{"method":"GET","path":"/","public":true,"protected":false,"summary":"Jules workspace and local session dashboard."},{"method":"GET","path":"/dashboard","public":true,"protected":false,"summary":"Public-safe Jules integration and activity dashboard."},{"method":"GET","path":"/create","public":true,"protected":false,"summary":"New coding-session and Onboard handoff wizard."},{"method":"GET","path":"/api/health","public":true,"protected":false,"summary":"Platform health payload."},{"method":"GET","path":"/api/v1/health","public":true,"protected":false,"summary":"Versioned platform health payload."},{"method":"GET","path":"/api/docs","public":true,"protected":false,"summary":"OpenAPI JSON specification."},{"method":"GET","path":"/openapi.yaml","public":true,"protected":false,"summary":"OpenAPI YAML specification."},{"method":"GET","path":"/llms.txt","public":true,"protected":false,"summary":"Concise LLM context."},{"method":"GET","path":"/llms-full.txt","public":true,"protected":false,"summary":"Full LLM context."},{"method":"GET","path":"/llms-index.json","public":true,"protected":false,"summary":"Machine-readable LLM index."},{"method":"GET","path":"/robots.txt","public":true,"protected":false,"summary":"Crawler policy."},{"method":"GET","path":"/sitemap.xml","public":true,"protected":false,"summary":"Sitemap."},{"method":"GET","path":"/sitemap-index.xml","public":true,"protected":false,"summary":"Sitemap index."},{"method":"GET","path":"/rss.xml","public":true,"protected":false,"summary":"RSS feed."},{"method":"GET","path":"/feed.xml","public":true,"protected":false,"summary":"Atom feed."},{"method":"GET","path":"/manifest.webmanifest","public":true,"protected":false,"summary":"Web app manifest."},{"method":"GET","path":"/.well-known/mcp.json","public":true,"protected":false,"summary":"MCP discovery manifest."},{"method":"GET","path":"/.well-known/agents.json","public":true,"protected":false,"summary":"Agent discovery manifest."},{"method":"GET","path":"/.well-known/ai-plugin.json","public":true,"protected":false,"summary":"AI plugin manifest."},{"method":"GET","path":"/.well-known/security.txt","public":true,"protected":false,"summary":"Security contact."},{"method":"GET","path":"/.well-known/trust.json","public":true,"protected":false,"summary":"Trust policy."},{"method":"GET","path":"/api/mcp","public":true,"protected":false,"summary":"MCP metadata and usage."},{"method":"POST","path":"/api/mcp","public":true,"protected":false,"summary":"JSON-RPC MCP endpoint for public introspection and public-safe Jules handoff tools."},{"method":"GET","path":"/api/v1alpha/auth-status","public":true,"protected":false,"summary":"Public Google Jules provider status; does not expose JULES_API_KEY."},{"method":"GET","path":"/api/v1alpha/sources","public":true,"protected":false,"summary":"Public wrapper for connected Google Jules repository sources."},{"method":"GET","path":"/api/v1alpha/sessions","public":true,"protected":false,"summary":"Public wrapper for Google Jules session list using server-side JULES_API_KEY."},{"method":"POST","path":"/api/v1alpha/sessions","public":true,"protected":false,"summary":"Public wrapper to create a Google Jules coding session with the configured account."},{"method":"GET","path":"/api/v1alpha/sessions/{id}","public":true,"protected":false,"summary":"Public wrapper for Google Jules session detail."},{"method":"DELETE","path":"/api/v1alpha/sessions/{id}","public":true,"protected":false,"summary":"Public wrapper for Google Jules session deletion through the configured account."},{"method":"GET","path":"/api/v1alpha/sessions/{id}/activities","public":true,"protected":false,"summary":"Public wrapper for Google Jules activity feed."},{"method":"POST","path":"/api/v1alpha/sessions/{id}:sendMessage","public":true,"protected":false,"summary":"Public wrapper to send follow-up feedback to a Google Jules session."},{"method":"POST","path":"/api/v1alpha/sessions/{id}:approvePlan","public":true,"protected":false,"summary":"Public wrapper to approve a Google Jules plan."},{"method":"GET","path":"/api/github/auth-status","public":true,"protected":false,"summary":"Public server-side GitHub credential status."},{"method":"GET","path":"/api/github/repositories","public":true,"protected":false,"summary":"List repositories available to the configured server-side GitHub account."},{"method":"POST","path":"/api/github/repositories","public":true,"protected":false,"summary":"List repositories with optional owner filter."},{"method":"POST","path":"/api/github/repositories/create","public":true,"protected":false,"summary":"Create a repository under the configured GitHub account or organization."},{"method":"GET","path":"/api/v1/sessions","public":true,"protected":false,"summary":"List public-safe sessions; protected callers see private server sessions."},{"method":"POST","path":"/api/v1/sessions","public":false,"protected":true,"summary":"Create protected server-side Jules session."},{"method":"GET","path":"/api/v1/sessions/{id}","public":true,"protected":false,"summary":"Get public-safe or protected session details."},{"method":"PUT","path":"/api/v1/sessions/{id}","public":false,"protected":true,"summary":"Update protected server-side session."},{"method":"DELETE","path":"/api/v1/sessions/{id}","public":false,"protected":true,"summary":"Delete protected server-side session."},{"method":"POST","path":"/api/v1/sessions/{id}/export","public":false,"protected":true,"summary":"Export a session as JSON or Markdown."},{"method":"POST","path":"/api/v1/sessions/import","public":false,"protected":true,"summary":"Import session JSON."},{"method":"GET","path":"/api/v1/sessions/{id}/messages","public":true,"protected":false,"summary":"List public-safe messages or protected session messages."},{"method":"POST","path":"/api/v1/sessions/{id}/messages","public":false,"protected":true,"summary":"Add protected session message."},{"method":"GET","path":"/api/v1/sessions/{id}/plans","public":true,"protected":false,"summary":"List public-safe plans or protected session plans."},{"method":"POST","path":"/api/v1/sessions/{id}/plans","public":false,"protected":true,"summary":"Generate implementation plan and task breakdown."},{"method":"GET","path":"/api/v1/plans/{id}","public":true,"protected":false,"summary":"Get plan details."},{"method":"GET","path":"/api/v1/onboard/applications","public":true,"protected":false,"summary":"List public-safe Onboard availability and local imports."},{"method":"GET","path":"/api/v1/onboard/applications/{id}","public":true,"protected":false,"summary":"Get public-safe Onboard application/import status."},{"method":"POST","path":"/api/v1/onboard/import","public":true,"protected":false,"summary":"Import manually provided public-safe Onboard handoff data."},{"method":"POST","path":"/api/v1/onboard/import/{id}/create-session","public":true,"protected":false,"summary":"Create public-safe Jules session from Onboard import."},{"method":"POST","path":"/api/v1/onboard/import/{id}/generate-plan","public":true,"protected":false,"summary":"Generate public-safe plan from Onboard import."},{"method":"POST","path":"/api/v1/onboard/import/{id}/create-kanban-tasks","public":true,"protected":false,"summary":"Create public Kanban task handoff from Onboard import."},{"method":"POST","path":"/api/v1/onboard/import/{id}/generate-docs","public":true,"protected":false,"summary":"Create public Docs report handoff from Onboard import."},{"method":"GET","path":"/api/v1/integrations","public":true,"protected":false,"summary":"List Jules integration catalog."},{"method":"GET","path":"/api/v1/integrations/status","public":true,"protected":false,"summary":"Integration status, with optional live checks."},{"method":"POST","path":"/api/v1/integrations/mcp/sync","public":true,"protected":false,"summary":"Create public MCP registry sync handoff."},{"method":"POST","path":"/api/v1/integrations/kanban/create-tasks","public":true,"protected":false,"summary":"Create public Kanban task handoff."},{"method":"POST","path":"/api/v1/integrations/docs/report","public":true,"protected":false,"summary":"Create public Docs report handoff."},{"method":"POST","path":"/api/v1/integrations/sandbox/dry-run","public":true,"protected":false,"summary":"Create public Sandbox dry-run handoff."},{"method":"POST","path":"/api/v1/integrations/browserops/run","public":true,"protected":false,"summary":"Create public BrowserOps run handoff."},{"method":"POST","path":"/api/v1/integrations/evals/run","public":true,"protected":false,"summary":"Create public Evals run handoff."},{"method":"GET","path":"/api/v1/network/graph","public":true,"protected":false,"summary":"Read root network graph with degraded status."},{"method":"POST","path":"/api/v1/network/graph/sync","public":false,"protected":true,"summary":"Protected graph sync."},{"method":"GET","path":"/api/v1/network/sites","public":true,"protected":false,"summary":"Discovered site list."},{"method":"GET","path":"/api/v1/network/trusted-domains","public":true,"protected":false,"summary":"Trusted domain policy."},{"method":"GET","path":"/api/v1/network/route-compliance","public":true,"protected":false,"summary":"Route compliance summary."},{"method":"GET","path":"/api/v1/network/discovery-compliance","public":true,"protected":false,"summary":"Discovery compliance summary."}],"vercelMetadataPolicy":"Only safe Vercel metadata is captured; raw IPs, Authorization, cookies, keys, and bodies are excluded.","tracePropagationPolicy":"Jules accepts and propagates W3C traceparent/tracestate and safe X-PlatPhorm trace headers.","onboardingDataExposurePolicy":"Public views and imports use public-safe summaries only. Protected application data is not exposed publicly and must be redacted before persistence or traces.","dataExposurePolicy":"No private repo data, private session prompts, protected onboarding data, secrets, or generated private code is included in public discovery files.","securityContact":"security@platphormnews.com"}