POST /v1/harnesses/preview
const url = 'https://app.everruns.com/api/v1/harnesses/preview';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"capabilities":[{"config":{},"ref":"web.search"},{"config":{"root":"/workspace"},"ref":"filesystem.read"}],"mcpServers":{"additionalProperty":{"auth_mode":"none","headers":{"additionalProperty":"example"},"oauth_provider_id":"example","tool_discovery":true,"type":"http","url":"example"}},"parent_harness_id":"harness_01933b5a000070008000000000000602","system_prompt":"You are a research assistant."}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://app.everruns.com/api/v1/harnesses/preview \ --header 'Content-Type: application/json' \ --data '{ "capabilities": [ { "config": {}, "ref": "web.search" }, { "config": { "root": "/workspace" }, "ref": "filesystem.read" } ], "mcpServers": { "additionalProperty": { "auth_mode": "none", "headers": { "additionalProperty": "example" }, "oauth_provider_id": "example", "tool_discovery": true, "type": "http", "url": "example" } }, "parent_harness_id": "harness_01933b5a000070008000000000000602", "system_prompt": "You are a research assistant." }'Request Body required
Section titled “Request Body required ”Request to preview harness shape with capabilities applied
object
Capability configurations to layer onto the preview. Empty list means none.
Per-agent capability configuration
Associates a capability with an agent, including optional per-agent configuration. The config field allows the same capability to behave differently per-agent.
object
Per-agent configuration for this capability (capability-specific)
Reference to the capability ID
Example
[ { "config": {}, "ref": "web.search" }, { "config": { "root": "/workspace" }, "ref": "filesystem.read" }]MCP servers scoped to this preview, keyed by scope (shared / per-agent / etc.).
Use the camelCase key mcpServers (preferred) or the snake_case alias mcp_servers. Empty by default.
object
Session-, agent-, or harness-scoped remote MCP server configuration.
This intentionally mirrors the mcpServers object shape used by common MCP
client config files while staying within Everruns’ current remote-HTTP-only
support.
object
Authentication mode used when executing tools from this scoped server.
Example
api_keyAdditional HTTP headers sent on MCP requests.
object
Provider id used to resolve a user-scoped bearer token.
Whether to discover tool definitions live from this server.
MCP transport type. Only remote HTTP is supported today.
Example
httpURL of the remote MCP server endpoint.
Parent harness to extend. When set, its prompt, capabilities, and MCP servers are merged with the fields in this request before rendering.
Example
harness_01933b5a000070008000000000000602System prompt to render as the base prompt for the preview.
Example
You are a research assistant.Responses
Section titled “ Responses ”Harness preview generated
Preview response showing merged prompt and tools
object
object
Example generated
{ "system_prompt": "example", "tools": [ {} ]}Internal server error
Standard error response.
Wire shape is RFC 9457 Problem Details:
every error response includes title and status, and may include
detail, code, allowed_actions, retry_after_seconds, instance,
and type. The content type is rewritten to application/problem+json
by [problem_json_content_type].
object
Recovery actions the caller can take next.
Agent-actionable recovery hint attached to an error response.
object
Short, agent-readable hint (e.g. “Shorten ‘name’ to <= 200 chars.”).
Optional absolute or relative URL the caller may invoke directly.
OpenAPI operationId the caller should invoke to recover.
Link relation describing the action (e.g. retry, get-existing,
unarchive, retry-later).
Stable, machine-readable error code (snake_case).
Human-readable explanation specific to this occurrence.
Request URI for this occurrence.
Seconds the caller should wait before retrying (429 / transient 503).
HTTP status code; mirrors the response status line.
Short, human-readable summary of the problem (e.g. “Not Found”).
RFC 9457 problem type URI. Optional; identifies the problem class.
Example generated
{ "allowed_actions": [ { "hint": "example", "href": "example", "operation_id": "example", "rel": "example" } ], "code": "example", "detail": "example", "instance": "example", "retry_after_seconds": 1, "status": 1, "title": "example", "type": "example"}