trickroom / Docs
Sign in
API reference/harnesses

Rename a harness or change its description

Supply the version you read; stale versions return 409 harness_changed. Settings change only by saving a version.

PATCH/v1/applications/{id}/harnesses/{harnessId}

Authorization

Authorizationstringrequired

Bearer tak_… — an application API key. Keep it on your backend; all resources are scoped to that application.

Create an application key →

Path parameters

idstringrequired

Min length: 1

harnessIdstringrequired

Min length: 1

Body

namestring

Min length: 1 · Max length: 40 · Pattern: ^[a-z0-9]+(-[a-z0-9]+)*$

descriptionstring

Max length: 500

versionintegerrequired

Minimum: 1 · Maximum: 9007199254740991

Response

200Rename a harness or change its description
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

idstringrequired

Min length: 1

application_idstringrequired

Min length: 1

namestringrequired
descriptionstringrequired
is_defaultbooleanrequired
active_version_idstring | nullrequired
active_numberinteger | nullrequired
versionintegerrequired

Minimum: -9007199254740991 · Maximum: 9007199254740991

activated_bystring | nullrequired
activated_atstring | nullrequired
archived_atstring | nullrequired
created_atstringrequired

Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$

updated_atstringrequired

Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$

active_versionobject | null
Allowed shapes

object

idstringrequired

Min length: 1

harness_idstringrequired

Min length: 1

application_idstring

Min length: 1

numberintegerrequired

Minimum: -9007199254740991 · Maximum: 9007199254740991

parent_idstring | nullrequired
spec_jsonobject
Object fields
instructionsstring

Default: "" · Max length: 12000

modelobject

Default: {}

Object fields
modelstring

Min length: 1 · Max length: 200

model_version_idstring

Min length: 1 · Max length: 200

reasoning_effortstring

Allowed: "none""minimal""low""medium""high""xhigh""max"

max_output_tokensinteger

Minimum: 1 · Maximum: 128000

samplingobject
Object fields
temperaturenumber

Minimum: 0 · Maximum: 2

top_pnumber

Maximum: 1

seedinteger

Minimum: -9007199254740991 · Maximum: 9007199254740991

logprobsboolean
top_logprobsinteger

Minimum: 0 · Maximum: 20

return_token_idsboolean
execution_modestring

Allowed: "computer""tools"

Default: "computer"

max_stepsinteger

Default: 40 · Minimum: 1 · Maximum: 100

toolsobject

Default: {}

Object fields
web_accessboolean

Default: false

connectorsarray<string> | null
Allowed shapes

array<string>

itemsstring

Allowed: "gmail""github""drive""calendar""slack""figma"

null

valuenull
approvalsobject

Default: {}

Object fields
action_policystring

Allowed: "approval_required""unrestricted"

Default: "approval_required"

capture_screenshotsboolean

Default: true

skillsobject

Default: {}

Object fields
enabledboolean

Default: true

limitinteger

Default: 40 · Minimum: 1 · Maximum: 40

explorationnumber

Minimum: 0 · Maximum: 0.2

programobject
Allowed shapes

object

kind"command"required
argsarray<string>required

Min items: 1 · Max items: 32

imagestring

Pattern: ^(?:[a-zA-Z0-9._/:\-]+@)?sha256:[a-f0-9]{64}$

timeout_secondsinteger

Default: 600 · Minimum: 10 · Maximum: 3600

max_model_callsinteger

Default: 100 · Minimum: 1 · Maximum: 1000

toolsstring

Allowed: "none""mcp"

Default: "none"

object

kindstringrequired

Allowed: "codex""claude_code"

argsarray<string>

Default: [] · Max items: 0

imagestringrequired

Pattern: ^(?:[a-zA-Z0-9._/:\-]+@)?sha256:[a-f0-9]{64}$

timeout_secondsinteger

Default: 600 · Minimum: 10 · Maximum: 3600

max_model_callsinteger

Default: 100 · Minimum: 1 · Maximum: 1000

toolsstring

Allowed: "none""mcp"

Default: "none"

loop_jsonobject | null
hashstringrequired
notestringrequired
created_bystring | nullrequired
created_atstringrequired

Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$

null

valuenull
versionsarray<object>
Item fields
idstringrequired

Min length: 1

harness_idstringrequired

Min length: 1

application_idstring

Min length: 1

numberintegerrequired

Minimum: -9007199254740991 · Maximum: 9007199254740991

parent_idstring | nullrequired
spec_jsonobject
Object fields
instructionsstring

Default: "" · Max length: 12000

modelobject

Default: {}

Object fields
modelstring

Min length: 1 · Max length: 200

model_version_idstring

Min length: 1 · Max length: 200

reasoning_effortstring

Allowed: "none""minimal""low""medium""high""xhigh""max"

max_output_tokensinteger

Minimum: 1 · Maximum: 128000

samplingobject
Object fields
temperaturenumber

Minimum: 0 · Maximum: 2

top_pnumber

Maximum: 1

seedinteger

Minimum: -9007199254740991 · Maximum: 9007199254740991

logprobsboolean
top_logprobsinteger

Minimum: 0 · Maximum: 20

return_token_idsboolean
execution_modestring

Allowed: "computer""tools"

Default: "computer"

max_stepsinteger

Default: 40 · Minimum: 1 · Maximum: 100

toolsobject

Default: {}

Object fields
web_accessboolean

Default: false

connectorsarray<string> | null
Allowed shapes

array<string>

itemsstring

Allowed: "gmail""github""drive""calendar""slack""figma"

null

valuenull
approvalsobject

Default: {}

Object fields
action_policystring

Allowed: "approval_required""unrestricted"

Default: "approval_required"

capture_screenshotsboolean

Default: true

skillsobject

Default: {}

Object fields
enabledboolean

Default: true

limitinteger

Default: 40 · Minimum: 1 · Maximum: 40

explorationnumber

Minimum: 0 · Maximum: 0.2

programobject
Allowed shapes

object

kind"command"required
argsarray<string>required

Min items: 1 · Max items: 32

imagestring

Pattern: ^(?:[a-zA-Z0-9._/:\-]+@)?sha256:[a-f0-9]{64}$

timeout_secondsinteger

Default: 600 · Minimum: 10 · Maximum: 3600

max_model_callsinteger

Default: 100 · Minimum: 1 · Maximum: 1000

toolsstring

Allowed: "none""mcp"

Default: "none"

object

kindstringrequired

Allowed: "codex""claude_code"

argsarray<string>

Default: [] · Max items: 0

imagestringrequired

Pattern: ^(?:[a-zA-Z0-9._/:\-]+@)?sha256:[a-f0-9]{64}$

timeout_secondsinteger

Default: 600 · Minimum: 10 · Maximum: 3600

max_model_callsinteger

Default: 100 · Minimum: 1 · Maximum: 1000

toolsstring

Allowed: "none""mcp"

Default: "none"

loop_jsonobject | null
hashstringrequired
notestringrequired
created_bystring | nullrequired
created_atstringrequired

Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$

Additional keys: any

4XX400 invalid input; 401 missing/revoked credentials; 403 disallowed operation/application; 404 missing or inaccessible resource; 409 conflicting submission/version/state; 413 body too large; 415 unsupported content type. Inspect error.code, not message text.
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

errorobjectrequired
Object fields
codestringrequired
messagestringrequired
request_idstringrequired

Additional keys: any

5XX500 unexpected failure or 503 unavailable dependency. A failed response does not prove that a submission was not committed. Retry job/flow admission with the same key and body.
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

errorobjectrequired
Object fields
codestringrequired
messagestringrequired
request_idstringrequired

Additional keys: any