# RunCost

> 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/runcost/
> Summary: OpenAPI request or response schema for RunCost, including required fields, defaults, constraints, and linked nested types.

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

Cost of a run. It is computed and written once when the run ends (a price
snapshot) — a later change to the price list does not change past values.

**Shape:** `object`

| Property | Required | Type | Description | Rules |
|---|---|---|---|---|
| `inputCost` | no | `number (double)` | Gets the input token cost, or `null` when the price is unknown. | pattern `^-?(?:0\\|[1-9]\d*)(?:\.\d+)?$` |
| `inputPricePerMillionTokens` | no | `number (double)` | Gets the input price, per million tokens, that produced `InputCost`. `null` when the price is unknown, or when the run's tokens were priced at more than one model. | pattern `^-?(?:0\\|[1-9]\d*)(?:\.\d+)?$` |
| `outputCost` | no | `number (double)` | Gets the output token cost, or `null` when the price is unknown. | pattern `^-?(?:0\\|[1-9]\d*)(?:\.\d+)?$` |
| `outputPricePerMillionTokens` | no | `number (double)` | Gets the output price, per million tokens, that produced `OutputCost`. `null` when the price is unknown, or when the run's tokens were priced at more than one model. | pattern `^-?(?:0\\|[1-9]\d*)(?:\.\d+)?$` |
| `cachedInputCost` | no | `number (double)` | Gets the cost of the input tokens that were served from the prompt cache, or `null` when no cache read was priced. | pattern `^-?(?:0\\|[1-9]\d*)(?:\.\d+)?$` |
| `cachedInputPricePerMillionTokens` | no | `number (double)` | Gets the cache-read price, per million tokens, that produced `CachedInputCost`. `null` when no cache rate was applied — either the cache rate is undefined, or the provider reported no cache read at all — or when the run's tokens were priced at more than one model. | pattern `^-?(?:0\\|[1-9]\d*)(?:\.\d+)?$` |
| `currency` | no | `string` | Gets the currency, taken from `Tracon:Pricing:Currency`. | — |
| `source` | yes | [`PricingSource`](/http-api/schemas/pricingsource/) | Gets where the price came from. | — |
