{"openapi":"3.1.0","info":{"title":"Claws - OpenClaw for PlatPhormNews API","version":"3.0.0","description":"AI Integration and Testing PlatPhorm API. Counts are registry backed: 73 tools, 36 sites, 4 MCP server records."},"servers":[{"url":"https://claws.platphormnews.com","description":"Claws public API"}],"security":[],"components":{"securitySchemes":{"platphormApiKeyBearer":{"type":"http","scheme":"bearer","description":"Use Authorization: Bearer $PLATPHORM_API_KEY for protected actions."},"platphormApiKeyHeader":{"type":"apiKey","in":"header","name":"X-PlatPhorm-API-Key","description":"Use X-PlatPhorm-API-Key: $PLATPHORM_API_KEY for protected actions."}}},"paths":{"/health":{"get":{"summary":"Get /health","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/health":{"get":{"summary":"Get /v1/health","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/discovery":{"get":{"summary":"Get /v1/discovery","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/network":{"get":{"summary":"Get /v1/network","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/network/sites":{"get":{"summary":"Get /v1/network/sites","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/network/tools":{"get":{"summary":"Get /v1/network/tools","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/network/mcp":{"get":{"summary":"Get /v1/network/mcp","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/network/integrations":{"get":{"summary":"Get /v1/network/integrations","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/tools":{"get":{"summary":"Get /v1/tools","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/toolchains":{"get":{"summary":"Get /v1/toolchains","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/toolchains/{id}/dry-run":{"get":{"summary":"Get deterministic toolchain dry-run plan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Toolchain dry-run plan with handler states","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}},"post":{"summary":"Create deterministic toolchain dry-run plan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Toolchain dry-run plan with missing/delegated handlers"}}}},"/v1/harness":{"get":{"summary":"Get /v1/harness","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/harness/scenarios":{"get":{"summary":"Get /v1/harness/scenarios","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/runs":{"get":{"summary":"Get /v1/runs","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/integrations":{"get":{"summary":"Get /v1/integrations","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/openclaw/status":{"get":{"summary":"Get /v1/openclaw/status","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/openclaw/config":{"get":{"summary":"Get /v1/openclaw/config","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/openclaw/compatibility":{"get":{"summary":"Get /v1/openclaw/compatibility","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/openclaw/adapters":{"get":{"summary":"Get /v1/openclaw/adapters","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/ide":{"get":{"summary":"Get /v1/ide","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/ide/vscode":{"get":{"summary":"Get /v1/ide/vscode","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/ide/cursor":{"get":{"summary":"Get /v1/ide/cursor","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/ide/windsurf":{"get":{"summary":"Get /v1/ide/windsurf","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/ide/codex":{"get":{"summary":"Get /v1/ide/codex","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/ide/mcp":{"get":{"summary":"Get /v1/ide/mcp","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/agent-policy":{"get":{"summary":"Get /v1/agent-policy","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/agent-policy/platforms":{"get":{"summary":"Get /v1/agent-policy/platforms","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/agent-policy/robots":{"get":{"summary":"Get /v1/agent-policy/robots","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/agent-policy/summary":{"get":{"summary":"Get /v1/agent-policy/summary","responses":{"200":{"description":"Public-safe response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/mcp":{"get":{"summary":"MCP metadata","responses":{"200":{"description":"MCP metadata"}}},"post":{"summary":"MCP JSON-RPC 2.0 endpoint","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method"],"properties":{"jsonrpc":{"const":"2.0"},"id":{},"method":{"type":"string"},"params":{"type":"object"}}}}}},"responses":{"200":{"description":"JSON-RPC response"}}}},"/v1/tools/{idOrName}/call":{"post":{"summary":"Call a public-safe tool or prepare a protected action","parameters":[{"name":"idOrName","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"platphormApiKeyBearer":[]},{"platphormApiKeyHeader":[]}],"responses":{"200":{"description":"Public-safe tool result"},"401":{"description":"Protected tool requires PLATPHORM_API_KEY"},"501":{"description":"Registered tool has no public handler and is degraded"}}}},"/v1/tools/{idOrName}/handler":{"get":{"summary":"Get tool handler truth state","parameters":[{"name":"idOrName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Handler capability state and execution policy","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}}},"/v1/tools/{idOrName}/dry-run":{"get":{"summary":"Explain public-safe tool dry-run route","parameters":[{"name":"idOrName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dry-run metadata without tool execution","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"object"}}}}}}}},"post":{"summary":"Dry-run one tool schema/handler validation without execution","parameters":[{"name":"idOrName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dry-run plan"}}}},"/v1/harness/scenarios/{id}/dry-run":{"post":{"summary":"Dry-run one public-safe harness scenario","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Harness dry-run plan"}}}},"/v1/openclaw/validate-config":{"post":{"summary":"Validate OpenClaw-compatible config metadata","responses":{"200":{"description":"Schema/policy validation only; no hosted runtime execution"}}}},"/v1/ide/generate-config":{"post":{"summary":"Generate labeled sample IDE/MCP client config","responses":{"200":{"description":"Public-safe sample config without protected credentials"}}}},"/v1/memory":{"post":{"summary":"Protected /v1/memory","security":[{"platphormApiKeyBearer":[]},{"platphormApiKeyHeader":[]}],"responses":{"200":{"description":"Protected action accepted"},"401":{"description":"PLATPHORM_API_KEY required"}}}},"/v1/protected-actions/{id}/execute":{"post":{"summary":"Protected /v1/protected-actions/{id}/execute","security":[{"platphormApiKeyBearer":[]},{"platphormApiKeyHeader":[]}],"responses":{"200":{"description":"Protected action accepted"},"401":{"description":"PLATPHORM_API_KEY required"}}}},"/v1/reports/docs":{"post":{"summary":"Protected /v1/reports/docs","security":[{"platphormApiKeyBearer":[]},{"platphormApiKeyHeader":[]}],"responses":{"200":{"description":"Protected action accepted"},"401":{"description":"PLATPHORM_API_KEY required"}}}},"/v1/reports/sheets":{"post":{"summary":"Protected /v1/reports/sheets","security":[{"platphormApiKeyBearer":[]},{"platphormApiKeyHeader":[]}],"responses":{"200":{"description":"Protected action accepted"},"401":{"description":"PLATPHORM_API_KEY required"}}}},"/v1/reports/decks":{"post":{"summary":"Protected /v1/reports/decks","security":[{"platphormApiKeyBearer":[]},{"platphormApiKeyHeader":[]}],"responses":{"200":{"description":"Protected action accepted"},"401":{"description":"PLATPHORM_API_KEY required"}}}}},"tags":[{"name":"Discovery"},{"name":"Tools"},{"name":"Toolchains"},{"name":"MCP"},{"name":"OpenClaw"},{"name":"Integrations"},{"name":"Agent Policy"}],"x-claws-policy":{"publicRead":true,"protectedActionsRequire":"PLATPHORM_API_KEY","noGenericApiKeyExamples":true,"noFakeExecution":true}}