# ToolInvocationRecord

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/http-api/schemas/toolinvocationrecord/
> Summary: OpenAPI request or response schema for ToolInvocationRecord, including required fields, defaults, constraints, and linked nested types.

[← All HTTP schemas](/http-api/schemas/)

The summary of a single completed tool call.

**Shape:** `object`

| Property | Required | Type | Description | Rules |
|---|---|---|---|---|
| `id` | yes | `string (uuid)` | The record identifier. A time-ordered UUID (v7). | — |
| `runId` | yes | `string (uuid)` | The run that made the call. | — |
| `toolName` | yes | `string` | The name of the tool called. | — |
| `toolCallId` | no | `string` | The call identifier generated by the model. Distinguishes multiple calls of the same kind. | — |
| `source` | no | `string` | The tool's source. `null` for tools defined in code; the server name for MCP tools. | — |
| `arguments` | no | `string` | The call arguments. Raw text; may not be valid JSON. | — |
| `result` | no | `string` | The call result. Raw text; may not be valid JSON. | — |
| `duration` | no | `string` | The call's duration. `null` if the event pair did not match. | pattern `^-?(\d+\.)?\d{2}:\d{2}:\d{2}(\.\d{1,7})?$` |
| `error` | no | `string` | The error message. Populated only if the call errored. | — |
| `createdAt` | yes | `string (date-time)` | The moment the call settled (UTC). | — |
| `usage` | no | `null` oneOf [`ToolCallUsage`](/http-api/schemas/toolcallusage/) | — | — |
| `authorizationDenied` | no | `boolean` | Whether IToolAuthorizationHandler denied this call before it ran. | — |
| `timedOut` | no | `boolean` | Whether the call ended because its execution timeout elapsed (TraconToolTimeoutException). | — |
| `lateCompletedAt` | no | `string (date-time)` | The moment a call that had already been reported as timed out actually settled (UTC). `null` for every call that settled within its own timeout. | — |
| `succeeded` | no | `boolean` | Whether the call finished successfully. | — |
