BashBrainTeammatesPricingDevelopersGet a test key

Conversations

Ask Bash in a conversation, follow its reply as it happens, and stop it.

Send Authorization: Bearer vk_test_... on every call. Every route of Conversations.

GET/v1/conversations/{conversation_id}One conversation: status (idle, replying, working, waiting), its open work, its open approvals.

Your API key, or a session's token, scope runtime or all. On the card: ask. Every call here is a checked sample.

Request1 field

Path

conversation_idstringrequiredThe conversation's id (conv_...).
Type
string
Answers 20015 fields
idstringThe conversation (conv_...).
Example
conv_8f2k
object"conversation"Always conversation.
Type
"conversation"
user_idstring | nullYour id for the user; null on your company's own Bash, and on an agent's conversation over A2A that names no user.
Type
string | null
deployment_idstring | nullThe deployment that answers it (dep_...); null when it has none.
Type
string | null
deployment_versioninteger | nullThe version of the deployment it runs on: in test mode the one it started on, in live mode the one live at its last message. Null with no deployment.
Type
integer | null
status"idle" | "replying" | "working" | "waiting"What the conversation is doing. idle: nothing. replying: Bash is writing its reply. working: work Bash started is running. waiting: Bash waits on an approval, a question or a call to one of your tools.
Type
"idle" | "replying" | "working" | "waiting"
metadatamap of stringYour labels, as you sent them; empty when you sent none.
Type
map of string
created_atstringWhen it started, as an ISO 8601 time.
Type
string
last_active_atstringWhen a message or its work last changed it, as an ISO 8601 time.
Type
string
open_workobject[]Work Bash started that has not ended, oldest first.
task_idstringThe task (task_...).
Type
string
titlestring | nullWhat the work is, in a few words; null until Bash names it.
Type
string | null
status"queued" | "working" | "waiting" | "done" | "failed"Where a piece of work is. 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"
open_interactionsobject[]Approvals and questions Bash waits on.
interaction_idstringThe approval or question, to answer by its id (int_...).
Type
string
task_idstringThe task that asked (task_...).
Type
string
kindstringWhat it asks for, as stored: such as tool_permission, ask_question or composio_auth.
Type
string
pending_tool_callsobject[]Calls to your tools that wait on your answer.
call_idstringThe call, to answer by its id (call_...).
Type
string
namestringThe tool Bash called.
Type
string
argumentsanyWhat Bash passed, matching the input schema of the tool.
Type
any
task_idstring | nullThe task that made the call; null when Bash's reply made it.
Type
string | null
last_event_seqintegerThe seq of the newest event on its stream: read the conversation, then follow its events after this seq, and you miss nothing.
Type
integer
cost_usdnumberWhat it has cost so far, in billed US dollars: Bash's replies, all its work and its voice calls.
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
HTTP
# The conversation answers what it has cost so far.curl "$VESTRA_BASE_URL/v1/conversations/conv_8f2k" \  -H "Authorization: Bearer $VESTRA_API_KEY" # The receipt: every charge behind it, newest first.curl "$VESTRA_BASE_URL/v1/usage/line-items?conversation_id=conv_8f2k" \  -H "Authorization: Bearer $VESTRA_API_KEY"
HTTP

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

# The conversation answers what it has cost so far.curl "$VESTRA_BASE_URL/v1/conversations/conv_8f2k" \  -H "Authorization: Bearer $VESTRA_API_KEY" # The receipt: every charge behind it, newest first.curl "$VESTRA_BASE_URL/v1/usage/line-items?conversation_id=conv_8f2k" \  -H "Authorization: Bearer $VESTRA_API_KEY"