Assistant
Set thread goal.
Set or replace the durable thread-level goal without appending a user message or starting a new assistant stream.
PUT
/
api
/
v1
/
assistant
/
threads
/
{id}
/
goal
Set thread goal.
curl --request PUT \
--url https://api.revoengine.com/api/v1/assistant/threads/{id}/goal \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"objective": "<string>"
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({objective: '<string>'})
};
fetch('https://api.revoengine.com/api/v1/assistant/threads/{id}/goal', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revoengine.com/api/v1/assistant/threads/{id}/goal"
payload = { "objective": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)Authorizations
Bearer JWT token or API Key (sk-*).
Path Parameters
Body
application/json
Durable thread-level objective used to validate assistant completion across turns, tool loops, approval resumes, and compaction.
Required string length:
1 - 4000Optional concrete criteria the goal reviewer should require before marking the goal satisfied.
Maximum array length:
20Optional exclusions that should not be treated as required work for this goal.
Maximum array length:
20Optional evidence the reviewer should expect, such as tests, lint, screenshots, API results, or changed resources.
Maximum array length:
20Optional validation commands or checks relevant to this goal.
Maximum array length:
20Optional concise definition of done used by the reviewer when evaluating candidate completion.
Maximum string length:
500Response
Thread goal updated.
⌘I
Set thread goal.
curl --request PUT \
--url https://api.revoengine.com/api/v1/assistant/threads/{id}/goal \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"objective": "<string>"
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({objective: '<string>'})
};
fetch('https://api.revoengine.com/api/v1/assistant/threads/{id}/goal', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revoengine.com/api/v1/assistant/threads/{id}/goal"
payload = { "objective": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)
