# ISamplingSupport

> 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/api/tracon.isamplingsupport/
> Summary: ISamplingSupport: An optional interface of an IModelProvider that states which SamplingFields its API surface sends to the model.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Abstractions.dll</code></div>

An optional interface of an [IModelProvider](/api/tracon.imodelprovider/) that states which
[SamplingFields](/api/tracon.samplingfields/) its API surface sends to the model.

```csharp
public interface ISamplingSupport
```

## Remarks

The support belongs to the API surface, not to the model: `openai` and
`openai-responses` reach the same models, and the Responses API drops
[ModelBinding.Seed](/api/tracon.modelbinding/#Tracon_ModelBinding_Seed) where Chat Completions sends it. A provider
registered under several names states each name's own support.

A provider that does not implement this interface supports none of the
fields: a definition that sets one fails to compile and the validation report
names the field and the provider. A field is never dropped silently. The
primary provider and every [ModelBinding.Fallbacks](/api/tracon.modelbinding/#Tracon_ModelBinding_Fallbacks) link are
checked, because a link receives the primary call's request options.

**Lifetime and threading**

The registry reads the property from the provider's **singleton** instance whenever
it lists providers, which the compile path and the validation path do, so it may be read
concurrently. Return a value that does not change after construction.

**Tenant mode**

The answer is **tenant-independent**: it describes the API surface, so every tenant
gets the same one, including a tenant that brings its own credential.

**Delivery**

A read of a value, with no side effect: no delivery guarantee applies.

## Properties

### <a id="Tracon_ISamplingSupport_SupportedSamplingFields"></a> SupportedSamplingFields

Gets the fields this provider's API surface sends to the model. Report a field
only when the wire request carries it.

```csharp
SamplingFields SupportedSamplingFields { get; }
```

#### Property Value

 [SamplingFields](/api/tracon.samplingfields/)
