Conversations
Ask Bash in a conversation, follow its reply as it happens, and stop it.
GET/v1/conversations/{conversation_id}One conversation: status (idle, replying, working, waiting), its open work, its open approvals.
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
# 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"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"