{"ok":true,"data":{"openapi":"3.1.0","info":{"title":"Phorm API","description":"Phorm is the AI-first design, layout generation, prompt-to-interface, template, preview, export, and design review layer for the PlatPhormNews web mesh.","version":"0.1.0"},"servers":[{"url":"https://phorm.platphormnews.com","description":"Production"}],"paths":{"/api/health":{"get":{"summary":"Health summary","description":"Public Phorm health summary.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/health":{"get":{"summary":"Versioned health summary","description":"Public versioned Phorm health summary.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/docs":{"get":{"summary":"OpenAPI JSON","description":"OpenAPI 3.1 document as JSON.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/openapi.json":{"get":{"summary":"OpenAPI JSON","description":"OpenAPI 3.1 document as canonical JSON.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/openapi.yaml":{"get":{"summary":"OpenAPI YAML","description":"OpenAPI 3.1 document as YAML.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/llms.txt":{"get":{"summary":"LLMS summary","description":"Readable public Phorm LLM context.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/llms-full.txt":{"get":{"summary":"Full LLMS context","description":"Full public Phorm LLM context, templates, integrations, CLI examples, and policy.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/llms-index.json":{"get":{"summary":"LLMS index","description":"Structured public Phorm discovery index.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/rss.xml":{"get":{"summary":"RSS feed","description":"Public-safe Phorm changelog, template, and integration feed.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/feed.xml":{"get":{"summary":"Atom feed","description":"Public-safe Phorm Atom feed.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/sitemap.xml":{"get":{"summary":"Sitemap","description":"Canonical public sitemap on phorm.platphormnews.com.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/sitemap-main.xml":{"get":{"summary":"Main sitemap","description":"Alias for the canonical public Phorm sitemap.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/sitemap-index.xml":{"get":{"summary":"Sitemap index","description":"Canonical Phorm sitemap index.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/.well-known/agents.json":{"get":{"summary":"Agents policy","description":"Public agent policy and discovery summary.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/.well-known/agent-policy.json":{"get":{"summary":"Agent policy","description":"Detailed AI and agent access policy.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/.well-known/ai-policy.json":{"get":{"summary":"AI policy","description":"AI training, crawling, and public/protected access policy.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/.well-known/trust.json":{"get":{"summary":"Trust policy","description":"PlatPhorm trust policy for Phorm.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs":{"get":{"summary":"List public designs","description":"Lists public and unlisted server-side design sessions.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}},"post":{"summary":"Create protected design session","description":"Creates a protected server-side design session in degraded memory storage.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs/{id}":{"get":{"summary":"Get design","description":"Gets a public design, or a private design with PLATPHORM_API_KEY.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}},"put":{"summary":"Update design","description":"Updates a protected server-side design session.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}},"delete":{"summary":"Delete design","description":"Deletes a protected server-side design session.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/templates":{"get":{"summary":"List templates","description":"Lists real public Phorm design templates.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/templates/{id}":{"get":{"summary":"Get template","description":"Gets a public design template.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/templates/{id}/instantiate":{"post":{"summary":"Instantiate template","description":"Creates a protected server-side design session from a template.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/generate/design":{"post":{"summary":"Generate public design draft","description":"Runs public deterministic prompt-to-interface generation without server persistence.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/generate/layout":{"post":{"summary":"Generate layout","description":"Returns deterministic layout recommendation and variants.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/generate/variants":{"post":{"summary":"Generate variants","description":"Returns deterministic layout variants for the submitted prompt or design.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/generate/from-schema":{"post":{"summary":"Generate from schema","description":"Creates a schema-aware UI shell from pasted JSON Schema, OpenAPI schema, or form schema.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/generate/from-mcp-tool":{"post":{"summary":"Generate from MCP tool","description":"Creates an MCP tool form shell from supplied MCP tool metadata.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/generate/from-openapi-operation":{"post":{"summary":"Generate from OpenAPI operation","description":"Creates an operation form shell from supplied OpenAPI operation metadata.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/generate":{"post":{"summary":"Generate design from prompt","description":"Runs deterministic local prompt-to-design generation. External model generation is honestly degraded unless configured.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/generation-runs/{id}":{"get":{"summary":"Get generation run","description":"Gets a protected generation run summary.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs/{id}/prompts":{"get":{"summary":"List prompts","description":"Lists protected prompt records.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}},"post":{"summary":"Add prompt","description":"Adds a protected prompt record and deterministic generation run.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs/{id}/export":{"post":{"summary":"Export design","description":"Exports a protected design as SVG, HTML, JSON, or React source.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs/{id}/review":{"post":{"summary":"Review design","description":"Runs deterministic local design review and returns score, recommendations, and evidence.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs/{id}/preview":{"get":{"summary":"Get preview","description":"Gets an HTML preview for a public or authorized design.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}},"post":{"summary":"Render preview","description":"Renders a protected design preview artifact.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/preview":{"post":{"summary":"Preview design","description":"Creates a public-safe preview payload from submitted elements.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/preview/responsive":{"post":{"summary":"Responsive preview","description":"Returns viewport preview metadata for 375, 430, 768, 1280, 1536, and custom widths.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/preview/accessibility":{"post":{"summary":"Accessibility preview","description":"Runs deterministic accessibility preview checks.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/preview/export":{"post":{"summary":"Export preview","description":"Returns export capability and degraded destination state.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs/{id}/screenshot":{"post":{"summary":"Capture screenshot","description":"Returns an honest degraded BrowserOps screenshot state unless downstream capture is configured.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs/{id}/review/browserops":{"post":{"summary":"BrowserOps review","description":"Returns a trace-linked degraded BrowserOps review unless downstream review is configured.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs/{id}/review/evals":{"post":{"summary":"Evals review","description":"Returns a trace-linked degraded Evals review unless downstream scoring is configured.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/designs/{id}/reviews":{"get":{"summary":"List reviews","description":"Lists protected design reviews.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/network/graph":{"get":{"summary":"Network graph","description":"Reads canonical root graph and base sitemap index discovery sources.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/network/sites":{"get":{"summary":"Network sites","description":"Lists discovered trusted and pending PlatPhormNews sites.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/network/trusted-domains":{"get":{"summary":"Trusted domains","description":"Lists trusted and pending domains from canonical discovery.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/network/route-compliance":{"get":{"summary":"Route compliance","description":"Reports Phorm route compliance.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/network/discovery-compliance":{"get":{"summary":"Discovery compliance","description":"Reports Phorm discovery file compliance.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/network/graph/sync":{"post":{"summary":"Sync network graph","description":"Protected sync trigger. Returns degraded state without canonical persistence.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/integrations":{"get":{"summary":"Integration matrix","description":"Lists Phorm integration status across the PlatPhormNews mesh.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/integrations/status":{"get":{"summary":"Integration status","description":"Alias for the Phorm integration matrix.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/integrations/agentui/status":{"get":{"summary":"AgentUI status","description":"Returns AgentUI handoff target status.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/agentui/preview-handoff":{"post":{"summary":"Preview AgentUI handoff","description":"Creates deterministic Phorm-to-AgentUI workflow/form draft preview.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/agentui/create-workflow":{"post":{"summary":"Create AgentUI workflow","description":"Protected workflow creation endpoint. Degrades honestly without downstream adapter.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/agentui/validate-design":{"post":{"summary":"Validate AgentUI compatibility","description":"Validates Phorm design shape for AgentUI handoff.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/agentui/handoffs/{id}":{"get":{"summary":"Get AgentUI handoff","description":"Returns a handoff preview or degraded not-found state.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/integrations/cli/status":{"get":{"summary":"CLI status","description":"Returns platphormctl integration status and docs links.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/cli/examples":{"get":{"summary":"CLI examples","description":"Lists copyable public-safe platphormctl command examples.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/cli/examples/{id}":{"get":{"summary":"CLI example","description":"Returns one platphormctl command example.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/agent-policy":{"get":{"summary":"Agent policy summary","description":"Returns public Phorm agent policy summary.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/agent-policy/platforms":{"get":{"summary":"Agent platforms","description":"Lists AI/agent platform policy entries.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/agent-policy/platforms/{id}":{"get":{"summary":"Agent platform policy","description":"Returns one agent platform policy entry.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/agent-policy/robots":{"get":{"summary":"Robots policy","description":"Returns robots policy summary.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/v1/agent-policy/summary":{"get":{"summary":"Agent policy summary alias","description":"Returns public agent policy summary.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}},"/api/mcp":{"get":{"summary":"MCP metadata","description":"Returns Phorm MCP server metadata.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}},"post":{"summary":"MCP JSON-RPC","description":"Handles Phorm MCP JSON-RPC 2.0 methods.","security":[{"PlatPhormBearer":[]},{"PlatPhormHeader":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccess"}}}},"400":{"description":"Invalid request"},"401":{"description":"PLATPHORM_API_KEY required"},"503":{"description":"Configured backend unavailable"}}}}},"components":{"securitySchemes":{"PlatPhormBearer":{"type":"http","scheme":"bearer","description":"Bearer token value is PLATPHORM_API_KEY."},"PlatPhormHeader":{"type":"apiKey","in":"header","name":"X-PlatPhorm-API-Key","description":"Header value is PLATPHORM_API_KEY."}},"schemas":{"ApiSuccess":{"type":"object","properties":{"ok":{"const":true},"data":{"type":"object"}}},"ApiError":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object"}}}}}}}}}