---
title: "ToolCall"
description: "one call of a tool inside a turn: the tool, its inputs, and what it became, a card or a refusal"
section: concepts
address: /concepts/toolcall
contract: 0476e35e6e275db5
---

# ToolCall

one call of a tool inside a turn: the tool, its inputs, and what it became, a card or a refusal

[figure: ToolCall is a value at none scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | value |
| scope | none |
| key | none |
| store | none |
| family | harness |



## Fields


| field | type | required | note |
|---|---|---|---|
| `tool` | [Tool](/concepts/tool) | yes |  |
| `inputs` | `json` | yes | the tool's input type, serialized |
| `card` | [Card](/concepts/card) | no | the answer, once the call completed |
| `refusal` | [Refusal](/concepts/refusal) | no | why it was not run, once the call failed |



## Routes that use it
No route takes or returns ToolCall directly. The record holds it, and the objects that point at it reach it.
