Submit tool-call input (batch)
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Answers several waiting tool calls at once with the same action, then resumes the turn. Use it instead of calling Submit tool-call input once per tool call.
Each tool call gets its own entry in results, so one of them can fail while the rest succeed. Check every entry rather than assuming the whole batch worked. The app is returned under app, not at the top level as it is on the single-tool-call endpoint.
The request stays open until the resumed turn settles, so it can take several minutes. Resuming a turn consumes credits.
<Note>An empty results array means this request was a retry of one that already ran, so nothing was applied a second time. It does not mean the tool calls were rejected.</Note>
<Warning>A turn that fails still returns 200. Check app.status.state: error means the turn failed, and app.status.error_source says where. paywall there means you ran out of credits.</Warning>
<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.</Warning>
Path parameters
ID of the app whose builder chat this request acts on.
ID of the app whose builder chat this request acts on.
Request body
Example request
{
"tool_call_ids": [
"toolu_01A9FJd3kP2mNqRs7VwXyZ4b",
"toolu_01B8GKe4lQ3nOrSt8WxYzA5c"
],
"action": "approved"
}Response
Per-tool-call results and the app once the resumed turn finished.
Example response
{
"results": [
{
"id": "toolu_01A9FJd3kP2mNqRs7VwXyZ4b",
"success": true,
"error": "Failed to process tool call"
}
],
"app": {
"id": "6820f3a4e7b91d003c45a1f2",
"name": "My CRM",
"status": {
"state": "ready",
"details": "Publishing app",
"request_id": "a1b2c3d4e5f67890abcdef12",
"last_updated_date": "2026-08-02T14:30:00",
"error_source": "build",
"paywall_context": {
"billing_organization_id": "6820f3a4e7b91d003c45a1f2",
"user_id": "6820f3a4e7b91d003c45a1f3",
"evaluated_at": "2026-08-02T14:30:00"
}
},
"conversation": {
"id": "1f0c2b7a-9d51-4c3e-8a62-7b4d5e6f8a90",
"messages": [
{
"id": "7f3a1c88-52d4-4a0e-9b31-2c6f0d8e4a19",
"role": "assistant",
"content": "I added a contact form to the home page.",
"file_urls": [
"https://storage.base44.com/uploads/mockup.png"
],
"checkpoint_id": "6886b8d390dc7e2f4a2c91b3",
"tool_calls": [
{
"id": "toolu_01A9FJd3kP2mNqRs7VwXyZ4b",
"name": "create_file",
"status": "waiting_for_user_input",
"requires_user_input": true
}
],
"usage": {
"prompt_tokens": 18432,
"completion_tokens": 742,
"credits_charged": 1.5
},
"metadata": {
"created_date": "2026-08-02T14:30:00",
"created_by_email": "developer@example.com"
}
}
]
}
}
}Changes
Changed in 1 of the 10 revisions of this API.1
- ○
endpoint added
endpoint-added
- ○