{"ok":true,"data":{"suite":[{"id":"agentui","name":"AgentUI","canonicalUrl":"https://agentui.platphormnews.com","purpose":"Visual workflow orchestration and tool UI rendering.","browserOpsRelationship":["Validate rendered tool UIs.","Screenshot generated forms.","Test workflow navigation and state persistence.","Send browser proof back to AgentUI panels."],"preferredTransports":["mcp","openapi","sse","webhook"],"authBoundary":"Public workflow reads remain public-safe; protected workflow run updates require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["validate_rendered_tool_ui","read_workflow_step","open_originating_workflow"],"capabilitiesBrowserOpsMayReceive":["browser_validation_requested","workflow_step_update"],"handoffExamples":[{"from":"agentui","to":"browserops","capability":"validate_rendered_workflow_ui","status":"preview_ready","explanation":"AgentUI remains the workflow UI surface; BrowserOps proves what the browser saw."}],"publicRoutes":["https://agentui.platphormnews.com","https://agentui.platphormnews.com/api/health","https://agentui.platphormnews.com/api/docs","https://agentui.platphormnews.com/llms.txt"],"apiDocsUrl":"https://agentui.platphormnews.com/api/docs","llmsUrl":"https://agentui.platphormnews.com/llms.txt","healthUrl":"https://agentui.platphormnews.com/api/health"},{"id":"spec","name":"Spec","canonicalUrl":"https://spec.platphormnews.com","purpose":"Contract validation, diff, repair, and generation for OpenAPI, AsyncAPI, JSON Schema, MCP, webhook, event, policy, and envelope contracts.","browserOpsRelationship":["Receive generated journey plans from validated contracts.","Validate API docs and generated forms in a browser.","Publish browser evidence for contract acceptance."],"preferredTransports":["openapi","mcp","json_schema","asyncapi"],"authBoundary":"Public contract reads remain public-safe; journey import and protected validation require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["read_contract","validate_form_contract","get_contract_diff"],"capabilitiesBrowserOpsMayReceive":["journey_plan_generated","contract_acceptance_requested"],"handoffExamples":[{"from":"spec","to":"browserops","capability":"dry_run_contract_journey","status":"preview_ready","explanation":"Spec remains the contract truth engine; BrowserOps dry-runs the browser plan before protected execution."}],"publicRoutes":["https://spec.platphormnews.com","https://spec.platphormnews.com/api/health","https://spec.platphormnews.com/api/docs","https://spec.platphormnews.com/llms.txt"],"apiDocsUrl":"https://spec.platphormnews.com/api/docs","llmsUrl":"https://spec.platphormnews.com/llms.txt","healthUrl":"https://spec.platphormnews.com/api/health"},{"id":"mcp","name":"MCP","canonicalUrl":"https://mcp.platphormnews.com","purpose":"Canonical MCP gateway, tool registry, capability graph, and integration broker.","browserOpsRelationship":["Discover tools and resources.","Expose BrowserOps tools.","Validate tool UI and browser run actions.","Route protected delegation."],"preferredTransports":["mcp","openapi"],"mcpStatusUrl":"https://mcp.platphormnews.com/.well-known/mcp.json","authBoundary":"Read-only MCP introspection may be public-safe; protected tool calls require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["tools/list","resources/list","capability_graph"],"capabilitiesBrowserOpsMayReceive":["tools/call:run_browserops_journey","resources/read:browserops_evidence"],"handoffExamples":[{"from":"mcp","to":"browserops","capability":"route_browserops_tool_call","status":"protected_required","explanation":"MCP remains the tool registry; BrowserOps only executes protected browser work after authorization."}],"publicRoutes":["https://mcp.platphormnews.com","https://mcp.platphormnews.com/api/health","https://mcp.platphormnews.com/api/docs","https://mcp.platphormnews.com/llms.txt"],"apiDocsUrl":"https://mcp.platphormnews.com/api/docs","llmsUrl":"https://mcp.platphormnews.com/llms.txt","healthUrl":"https://mcp.platphormnews.com/api/health"},{"id":"sandbox","name":"Sandbox","canonicalUrl":"https://sandbox.platphormnews.com","purpose":"Bounded command execution, file writing, logs, artifacts, and public-safe reports.","browserOpsRelationship":["Receive built preview URLs or reports.","Validate generated UI in a browser.","Capture screenshots.","Send public-safe artifacts back."],"preferredTransports":["openapi","mcp","webhook","trace"],"authBoundary":"Public preview reads may be public-safe; execution and artifact persistence require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["read_preview_report","read_public_artifact"],"capabilitiesBrowserOpsMayReceive":["preview_url_ready","sandbox_report_ready"],"handoffExamples":[{"from":"sandbox","to":"browserops","capability":"validate_public_preview_url","status":"preview_ready","explanation":"Sandbox remains the bounded execution lab; BrowserOps verifies the resulting public preview."}],"publicRoutes":["https://sandbox.platphormnews.com","https://sandbox.platphormnews.com/api/health","https://sandbox.platphormnews.com/api/docs","https://sandbox.platphormnews.com/llms.txt"],"apiDocsUrl":"https://sandbox.platphormnews.com/api/docs","llmsUrl":"https://sandbox.platphormnews.com/llms.txt","healthUrl":"https://sandbox.platphormnews.com/api/health"},{"id":"webhooks","name":"WebhookLab","canonicalUrl":"https://webhooklab.platphormnews.com","purpose":"Event delivery, contracts, signatures, replay, async jobs, and evidence.","browserOpsRelationship":["Receive job events.","Emit run status events.","Validate webhook UI and delivery pages.","Verify callback signing when configured."],"preferredTransports":["asyncapi","webhook","openapi"],"authBoundary":"Public event schemas are readable; replay, signing, and callback mutation require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["read_event_contract","verify_public_delivery_page"],"capabilitiesBrowserOpsMayReceive":["workflow_state_changed","signed_browserops_request"],"handoffExamples":[{"from":"webhooks","to":"browserops","capability":"validate_event_driven_ui_state","status":"protected_required","explanation":"WebhookLab remains the event surface; BrowserOps marks protected execution when a real browser run is requested."}],"publicRoutes":["https://webhooklab.platphormnews.com","https://webhooklab.platphormnews.com/api/health","https://webhooklab.platphormnews.com/api/docs","https://webhooklab.platphormnews.com/llms.txt"],"apiDocsUrl":"https://webhooklab.platphormnews.com/api/docs","llmsUrl":"https://webhooklab.platphormnews.com/llms.txt","healthUrl":"https://webhooklab.platphormnews.com/api/health"},{"id":"claws","name":"Claws","canonicalUrl":"https://claws.platphormnews.com","purpose":"Agent toolchain discovery, planning, dry-run, validation, trace, and handoff harness.","browserOpsRelationship":["Receive agent plans that need browser verification.","Publish browser evidence for plan steps.","Validate dry-run UX."],"preferredTransports":["mcp","openapi","trace"],"authBoundary":"Public plan templates may be readable; remediation and delegated execution require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["read_agent_plan","read_dry_run_state"],"capabilitiesBrowserOpsMayReceive":["agent_plan_browser_verification_requested"],"handoffExamples":[{"from":"claws","to":"browserops","capability":"verify_agent_plan_browser_steps","status":"preview_ready","explanation":"Claws remains the planning/remediation harness; BrowserOps attaches browser-visible evidence."}],"publicRoutes":["https://claws.platphormnews.com","https://claws.platphormnews.com/api/health","https://claws.platphormnews.com/api/docs","https://claws.platphormnews.com/llms.txt"],"apiDocsUrl":"https://claws.platphormnews.com/api/docs","llmsUrl":"https://claws.platphormnews.com/llms.txt","healthUrl":"https://claws.platphormnews.com/api/health"},{"id":"trace","name":"Trace","canonicalUrl":"https://trace.platphormnews.com","purpose":"Timeline observability for agent, tool, API, BrowserOps, Evals, Sandbox, AgentUI, Claws, and CLI activity.","browserOpsRelationship":["Start spans.","Update spans per step.","Complete spans.","Link artifacts.","Show trace timeline links in BrowserOps UI."],"preferredTransports":["openapi","trace","webhook"],"authBoundary":"Public-safe trace summaries may be linked; detailed writes and sensitive trace inspection require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["open_trace","append_public_safe_span"],"capabilitiesBrowserOpsMayReceive":["trace_context_join_requested"],"handoffExamples":[{"from":"browserops","to":"trace","capability":"append_browser_run_span","status":"planned","explanation":"Trace remains the observability spine; BrowserOps carries trace context and only claims export after confirmation."}],"publicRoutes":["https://trace.platphormnews.com","https://trace.platphormnews.com/api/health","https://trace.platphormnews.com/api/docs","https://trace.platphormnews.com/llms.txt"],"apiDocsUrl":"https://trace.platphormnews.com/api/docs","llmsUrl":"https://trace.platphormnews.com/llms.txt","healthUrl":"https://trace.platphormnews.com/api/health"},{"id":"monitor","name":"Monitor","canonicalUrl":"https://monitor.platphormnews.com","purpose":"Infrastructure, deployments, domains, analytics, firewall, security, sync runs, audit, rate limits, and system health.","browserOpsRelationship":["Validate deployed domains.","Detect broken public pages.","Send health and browser evidence.","Receive deployment trigger requests."],"preferredTransports":["openapi","webhook","rss","atom"],"authBoundary":"Public status reads remain public-safe; deployment-triggered smoke runs require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["read_deployment_status","read_domain_status"],"capabilitiesBrowserOpsMayReceive":["deployment_changed","domain_health_changed"],"handoffExamples":[{"from":"monitor","to":"browserops","capability":"run_deployment_smoke_journey","status":"protected_required","explanation":"Monitor remains the infrastructure surface; BrowserOps supplies browser evidence for release visibility."}],"publicRoutes":["https://monitor.platphormnews.com","https://monitor.platphormnews.com/api/health","https://monitor.platphormnews.com/api/docs","https://monitor.platphormnews.com/llms.txt"],"apiDocsUrl":"https://monitor.platphormnews.com/api/docs","llmsUrl":"https://monitor.platphormnews.com/llms.txt","healthUrl":"https://monitor.platphormnews.com/api/health"},{"id":"sheets","name":"Sheets","canonicalUrl":"https://sheets.platphormnews.com","purpose":"Tabular evidence ingestion, schema inference, filtering, summarization, charts, exports, and handoff.","browserOpsRelationship":["Export run summaries as tables.","Import route lists or test matrices.","Visualize browser evidence CSV."],"preferredTransports":["openapi","csv","mcp"],"authBoundary":"Public schema reads may be safe; report export and sheet creation require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["create_evidence_table","append_public_run_summary"],"capabilitiesBrowserOpsMayReceive":["route_matrix_ready","test_matrix_ready"],"handoffExamples":[{"from":"browserops","to":"sheets","capability":"export_run_summary_table","status":"protected_required","explanation":"Sheets remains the tabular evidence surface; BrowserOps does not claim export until accepted."}],"publicRoutes":["https://sheets.platphormnews.com","https://sheets.platphormnews.com/api/health","https://sheets.platphormnews.com/api/docs","https://sheets.platphormnews.com/llms.txt"],"apiDocsUrl":"https://sheets.platphormnews.com/api/docs","llmsUrl":"https://sheets.platphormnews.com/llms.txt","healthUrl":"https://sheets.platphormnews.com/api/health"},{"id":"docs","name":"Docs","canonicalUrl":"https://docs.platphormnews.com","purpose":"Attributed documentation, ingestion, ranking, scoring, search, clipping, publishing, MCP/API docs, and evidence reports.","browserOpsRelationship":["Publish public-safe run reports.","Cite browser artifacts.","Convert run evidence into docs."],"preferredTransports":["openapi","rss","atom","mcp"],"authBoundary":"Public docs are readable; publishing and report mutation require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["publish_evidence_report","read_report_status"],"capabilitiesBrowserOpsMayReceive":["docs_report_requested"],"handoffExamples":[{"from":"browserops","to":"docs","capability":"publish_public_safe_browser_report","status":"protected_required","explanation":"Docs remains the publishing surface; BrowserOps prepares report evidence and waits for confirmed ingestion."}],"publicRoutes":["https://docs.platphormnews.com","https://docs.platphormnews.com/api/health","https://docs.platphormnews.com/api/docs","https://docs.platphormnews.com/llms.txt"],"apiDocsUrl":"https://docs.platphormnews.com/api/docs","llmsUrl":"https://docs.platphormnews.com/llms.txt","healthUrl":"https://docs.platphormnews.com/api/health"},{"id":"evals","name":"Evals","canonicalUrl":"https://evals.platphormnews.com","purpose":"Evidence-backed QA, scorecards, release gates, suites, and decisions.","browserOpsRelationship":["Receive eval suite browser tasks.","Return browser evidence and pass/fail context for scorecards.","Mark downstream evidence gaps degraded when completed BrowserOps reports or artifacts are missing.","Block or approve release gates when Evals confirms a decision."],"preferredTransports":["openapi","mcp","webhook","trace"],"authBoundary":"Public scorecards may be readable; suite execution and release decisions require PLATPHORM_API_KEY.","capabilitiesBrowserOpsMayCall":["submit_browser_evidence","read_release_gate_decision"],"capabilitiesBrowserOpsMayReceive":["eval_browser_task_requested","release_gate_browser_check_requested"],"handoffExamples":[{"from":"browserops","to":"evals","capability":"submit_browser_run_evidence","status":"protected_required","explanation":"Evals remains the scorecard and release gate; BrowserOps provides browser proof for scoring and reports missing completed artifacts as degraded evidence gaps."}],"publicRoutes":["https://evals.platphormnews.com","https://evals.platphormnews.com/api/health","https://evals.platphormnews.com/api/docs","https://evals.platphormnews.com/llms.txt"],"apiDocsUrl":"https://evals.platphormnews.com/api/docs","llmsUrl":"https://evals.platphormnews.com/llms.txt","healthUrl":"https://evals.platphormnews.com/api/health"}],"count":11,"live":[{"service":{"id":"agentui","name":"AgentUI","canonicalUrl":"https://agentui.platphormnews.com","purpose":"Visual workflow orchestration and tool UI rendering.","authBoundary":"Public workflow reads remain public-safe; protected workflow run updates require PLATPHORM_API_KEY."},"overall":"degraded","recommendedAction":"AgentUI public surfaces are reachable; configure a BrowserOps receive-handoff route before claiming downstream delivery.","browserbase":{"provider":"browserbase","browserbase":{"status":"configured","configured":true,"projectConfigured":true,"credentialSource":"prefixed","apiUrl":"https://api.browserbase.com"}},"probes":[{"name":"health","path":"/api/health","url":"https://agentui.platphormnews.com/api/health","fetched":true,"status":"passed","httpStatus":200,"durationMs":299,"contentType":"application/json","traceAccepted":false,"message":"AgentUI /api/health responded with HTTP 200."},{"name":"apiDocs","path":"/api/docs","url":"https://agentui.platphormnews.com/api/docs","fetched":true,"status":"passed","httpStatus":200,"durationMs":180,"contentType":"application/json","traceAccepted":false,"message":"AgentUI /api/docs responded with HTTP 200."},{"name":"llms","path":"/llms.txt","url":"https://agentui.platphormnews.com/llms.txt","fetched":true,"status":"passed","httpStatus":200,"durationMs":84,"contentType":"text/plain; charset=utf-8","traceAccepted":false,"message":"AgentUI /llms.txt responded with HTTP 200."},{"name":"mcp","path":"/.well-known/mcp.json","url":"https://agentui.platphormnews.com/.well-known/mcp.json","fetched":true,"status":"passed","httpStatus":200,"durationMs":161,"contentType":"application/json","traceAccepted":false,"message":"AgentUI /.well-known/mcp.json responded with HTTP 200."},{"name":"handoffReceiver","path":"/api/browserops/receive-handoff","url":"https://agentui.platphormnews.com/api/browserops/receive-handoff","fetched":true,"status":"degraded","httpStatus":404,"durationMs":60,"contentType":"text/html; charset=utf-8","traceAccepted":false,"message":"AgentUI /api/browserops/receive-handoff returned HTTP 404; BrowserOps will keep this lane degraded until the route is available."}],"updatedAt":"2026-05-25T07:24:01.649Z"}],"liveCount":1},"meta":{"generatedAt":"2026-05-25T07:24:01.649Z","traceId":"browserops-public-read","degraded":true,"source":"remote"},"warnings":[],"errors":[]}