One tool, one way it failed, and how many times that happened in the turn.
API reference sections
Schema
ToolFailureTally
Type object
Shape
| Field | Type | Description |
|---|---|---|
| toolrequired | ToolKind | Which tool ran, as the adapter that watched it declares. Not the provider's name for it: an adapter maps its provider's own tool vocabulary onto this list, and a tool it has no token for is [ |
| failurerequired | ToolFailure | Why a tool call did not work, classified by the adapter from the structured fields it already reads. Five classes and no sixth escape hatch that carries text. A provider that failed a call in a way the adapter cannot place is [ |
| callsrequired | integer (uint16, >= 0, <= 65535) | How many calls of this tool failed this way. Never zero in a listed tally. Sixteen bits, because a coalesced step is written at the turn's end or at the orchestrator's tool bound, whichever comes first - no one step has ever counted more than a couple of hundred calls, and a count that somehow did would saturate rather than wrap. |
{
"tool": "web_search",
"failure": "denied",
"calls": 0
}The contract has no example values, so example bodies are generated from each schema: every field is shown with a placeholder of its type.
Generated from contract version 1. Last updated .
