{"openapi": "3.1.0", "info": {"title": "Prompt Bench agent interface", "version": "1", "description": "Public packs without sign-in; every pack with it. Read /llms.txt first."}, "servers": [{"url": "https://prompt-bench.flyinggoatman.my.id"}], "paths": {"/api/agent": {"get": {"summary": "Manifest: what this is, how to drive it, what it accepts"}}, "/api/agent/manifest": {"get": {"summary": "Manifest for one bench", "parameters": [{"name": "bench", "in": "query", "schema": {"type": "string", "enum": ["main", "persona"]}}]}}, "/api/agent/model": {"get": {"summary": "Every installed module, master, dial and field", "parameters": [{"name": "bench", "in": "query", "schema": {"type": "string"}}]}}, "/api/agent/capabilities": {"get": {"summary": "Short capability summary"}}, "/api/agent/compose": {"get": {"summary": "Brief in, prompt out, for agents that can only browse", "parameters": [{"name": "brief", "in": "query", "schema": {"type": "string"}}, {"name": "bench", "in": "query", "schema": {"type": "string"}}, {"name": "cast", "in": "query", "schema": {"type": "string"}}, {"name": "castJson", "in": "query", "schema": {"type": "string"}}, {"name": "castCount", "in": "query", "schema": {"type": "string"}}, {"name": "master", "in": "query", "schema": {"type": "string"}}, {"name": "module", "in": "query", "schema": {"type": "string"}}, {"name": "fill", "in": "query", "schema": {"type": "string"}}, {"name": "recipe", "in": "query", "schema": {"type": "string"}}, {"name": "seed", "in": "query", "schema": {"type": "string"}}, {"name": "mode", "in": "query", "schema": {"type": "string"}}, {"name": "format", "in": "query", "schema": {"type": "string"}}]}, "post": {"summary": "Brief, cast and partial recipe in; prompt, shareable, gaps and questions out", "requestBody": {"content": {"application/json": {"schema": {"type": "object", "properties": {"bench": {"type": "string"}, "brief": {"type": "string"}, "cast": {"type": "array", "items": {"type": "object"}}, "recipe": {"type": "object"}, "fill": {"type": "string", "enum": ["empty", "none"]}, "context": {"type": "string"}, "discipline": {"type": "boolean"}}}}}}}}, "/api/agent/suggest": {"post": {"summary": "Read a brief and propose a recipe without applying it"}}, "/api/agent/gaps": {"post": {"summary": "What a recipe still leaves open, as questions"}}, "/api/agent/assemble": {"post": {"summary": "Assemble a recipe in one mode"}}, "/api/agent/offered": {"post": {"summary": "Which modules a recipe can and cannot use, with reasons"}}, "/api/agent/recipe": {"post": {"summary": "Normalise and check a recipe"}}, "/mcp": {"post": {"summary": "Model Context Protocol, stateless JSON-RPC: initialize, tools/list, tools/call"}}}}