BashBrainTeammatesPricingDevelopersGet a test key

Work

The work Bash does on its computer: list it, read it, stop it or delete it.

Send Authorization: Bearer vk_test_... on every call.

RoutesOpen one for every field it takes and answers.

GET/v1/tasksAll work across your users, or one user's with user_id.

Filter by status, deployment, conversation or date too.

Your API key, scope runtime or all. On the card: ask. Over HTTP it is made from the contract: fill in every value.

Request8 fields

Query

limitintegerHow many items per page, 1 to 100. Default 20.
Type
integer
cursorstringWhere to go on from: the next_cursor of the page before, unchanged. Absent: the first page.
Type
string
status"queued" | "working" | "waiting" | "done" | "failed"Only tasks with this status.
Type
"queued" | "working" | "waiting" | "done" | "failed"
user_idstringOnly this user's, by your id for them.
Type
string
deployment_idstringOnly this deployment's (dep_...).
Type
string
conversation_idstringOnly this conversation's (conv_...).
Type
string
created_afterstring (date and time)Only tasks started after this ISO 8601 time.
Type
string (date and time)
created_beforestring (date and time)Only tasks started before this ISO 8601 time.
Type
string (date and time)
Answers 2002 fields
dataobject[]The items on this page.
idstringThe task: one piece of work Bash started (task_...).
Example
task_91d
object"task"Always task.
Type
"task"
user_idstring | nullYour id for its user; null on your company's own Bash.
Type
string | null
conversation_idstring | nullThe conversation that started it (conv_...); null when none did.
Type
string | null
deployment_idstring | nullThe deployment it runs on (dep_...); null when none.
Type
string | null
deployment_versioninteger | nullThe version of that deployment it runs on; null when none.
Type
integer | null
status"queued" | "working" | "waiting" | "done" | "failed"queued: not started yet. working: running on the user's computer. waiting: it waits on an approval or a question. done or failed: it has ended.
Type
"queued" | "working" | "waiting" | "done" | "failed"
titlestring | nullWhat the work is, in a few words; null until Bash names it.
Type
string | null
progressobject[]Its plan, as its latest to-do list; empty when it has none.
contentstringOne step of its plan.
Type
string
statusstringWhere that step is: pending, in_progress or completed.
Type
string
resultobjectWhat the work came to.
textstring | nullThe work's answer: its final reply. Read one task for all of it; a list cuts it to 280 characters, as does a task that ended before its answer was recorded. Null until it has any, or when the work ended with no final reply.
Type
string | null
dataany | nullData it returned for an output_schema; null when it returned none.
Type
any | null
outcomeobject | nullWhether it met the success criteria of its message; null when there were none.
metbooleanWhether it met the success criteria.
Type
boolean
reasonstringWhy, in a sentence.
Type
string
cost_usdnumberWhat it has cost so far, in billed US dollars; the last charges can land a few seconds after it ends.
Example
0.0412
cost_breakdownobjectThe same cost, by kind of spend.
orchestratornumberBash's own replies in the conversation, in billed US dollars; 0 on a piece of work.
Type
number
intelligencenumberThe thinking Bash did while it worked, in billed US dollars.
Type
number
toolsnumberThe tools and apps Bash used, in billed US dollars.
Type
number
computenumberTime on Bash's computer, in billed US dollars.
Type
number
backgroundnumberWork Bash did in the background, such as remembering and tidying, in billed US dollars.
Type
number
voicenumberVoice call time, in billed US dollars.
Type
number
created_atstringWhen it started, as an ISO 8601 time.
Type
string
updated_atstringWhen it last changed, as an ISO 8601 time.
Type
string
next_cursorstring | nullSend it as cursor for the next page; null on the last page.
Type
string | null
HTTP

No sample in your language for this route, so here it is over HTTP.

curl "$VESTRA_BASE_URL/v1/tasks" \  -H "Authorization: Bearer $VESTRA_API_KEY"
GET/v1/tasks/{task_id}Status, title, the progress list, the result (text, and data when an output_schema was set), the outcome, cost so far.

Your API key, scope runtime or all. On the card: ask. Over HTTP it is made from the contract: fill in each {…} and every value.

DELETE/v1/tasks/{task_id}Delete it and its outputs.

Your API key, scope runtime or all. On the card: ask. Over HTTP it is made from the contract: fill in each {…} and every value.

GET/v1/tasks/{task_id}/traceEvery step: tools called with a summary of inputs and outputs, timings, tokens and cost per turn.

Your API key, scope runtime or all. On the card: events. Every call here is a checked sample.

POST/v1/tasks/{task_id}/stopStop this piece of work only.

Your API key, scope runtime or all. On the card: ask. Over HTTP it is made from the contract: fill in each {…} and every value.