---
title: "Continue an actor-owned command in its original product scope"
method: POST
path: "/v1/workspaces/{workspaceId}/ai/command-runs/{runId}/tool-results"
---

# Continue an actor-owned command in its original product scope

`POST /v1/workspaces/{workspaceId}/ai/command-runs/{runId}/tool-results`

## Request

- Base URL: `https://api.bangermail.com`
- URL: `https://api.bangermail.com/v1/workspaces/{workspaceId}/ai/command-runs/{runId}/tool-results`
- Auth: HTTP bearer

## Path parameters

- `workspaceId` string, uuid, required
- `runId` string, uuid, required

## Headers

- `X-Banger-Product-Id` string, uuid

## Request body

- object
  - `toolResults` object[], required
    - `toolCallId` string, uuid, required
    - `toolName` 'list_mailboxes' | 'search_mail' | 'list_unread' | 'list_work_items' | 'get_thread', required
    - `ok` boolean, required
    - `result` unknown
    - `error` string

## Response `200`

Next command response; repeated results replay without another inference call

- MailAssistantCommand
  - `runId` string, uuid, required
  - `status` 'requires_tool_results' | 'completed' | 'requires_confirmation', required
  - `assistantMessage` string, required
  - `toolCalls` MailAssistantTool[], required
    - `id` string, uuid, required
    - `toolName` string, required
    - `arguments` object, required
    - `reason` string, required
  - `proposedActions` object[], required
    - `id` string, uuid, required
    - `toolName` string, required
    - `arguments` object, required
    - `reason` string, required
    - `confirmationRequired` true, required

---

[API](https://skmtc.dev/bangermail/apis/banger-api.md) · [All operations](https://skmtc.dev/bangermail/apis/banger-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bangermail/apis/banger-api/revisions/a149909267f9?raw)
