Copy a harness
POST /v1/harnesses/{harness_id}/copy
Creates a new harness with the same configuration as the source harness. The new harness’s name will be “{original name} (copy)”.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Source harness ID to copy
Responses
Section titled “ Responses ”Harness copied successfully
Harness configuration for sessions. A harness defines the base behavior and capabilities that apply to all sessions.
object
Timestamp when the harness was archived.
Capabilities enabled for this harness with per-harness configuration.
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
Timestamp when the harness was created.
Default LLM model ID for this harness. Lowest priority in chain: controls > session > agent > harness.
Example
model_01933b5a00007000800000000000001Timestamp when the harness was deleted.
Human-readable description of what the harness does.
Human-readable display name shown in UI.
Unique identifier for the harness (format: harness_{32-hex}).
Example
harness_01933b5a00007000800000000000001Starter files copied into each new session for this harness.
Starter file copied into a new session from an agent or harness.
object
File content: plain text or base64-encoded binary.
Content encoding: text or base64.
Prevent session-side edits or deletes when true.
Absolute path within the session workspace. /workspace prefix is accepted.
Whether this harness is built-in (system-managed, readonly). Built-in harnesses are provisioned during org initialization and cannot be modified or deleted via the API. Users can copy them.
URL/CLI-friendly addressable name, unique per org.
Format: [a-z0-9]+(-[a-z0-9]+)*, max 64 chars. No consecutive hyphens.
Network access list controlling which hosts/URLs sessions can reach. Merged with agent and session layers (allowed: intersect, blocked: union).
object
Allowed host patterns. If non-empty, only matching URLs are permitted. An empty list means “no restriction from this layer” (inherit parent).
Blocked host patterns. Always denied, even if matched by allowed.
Optional parent harness that this harness inherits from.
Example
harness_01933b5a000070008000000000000602Current lifecycle status of the harness.
System prompt that defines the harness’s base behavior. Forms the foundation of the prompt stack.
Tags for organizing and filtering harnesses.
Timestamp when the harness was last updated.
Invalid harness ID
Standard error response for API endpoints.
object
Error message describing what went wrong.
Forbidden
Standard error response for API endpoints.
object
Error message describing what went wrong.
Source harness not found
Standard error response for API endpoints.
object
Error message describing what went wrong.
Internal server error
Standard error response for API endpoints.
object
Error message describing what went wrong.