# tinker.types.ClientDynamicConfigResponse ## *class* [**tinker.types.ClientDynamicConfigResponse**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_dynamic_config_response.py#L8)(*[BaseModel](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/_models.py#L88)*) Server-side flags re-fetched periodically by a live client. Unlike ClientConfigResponse (fetched once at client creation), these flags are refreshed in the background at refresh_interval_sec cadence, so server-side changes take effect on the next request without recreating the client. Uses BaseModel (extra="ignore") so new flags from the server are silently dropped until the SDK adds fields for them. **Fields:** - [**refresh_interval_sec**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_dynamic_config_response.py#L19) (*int*) – How often the SDK re-fetches this config from the server. - [**sample_cancel_enabled**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_dynamic_config_response.py#L22) (*bool*) – When true, abandoning a sampling future (timeout or local cancel) sends an explicit cancel_future request to the server so the in-flight sampling work is stopped promptly. When false, cancellation falls back to the server's SDK-heartbeat-expiry path. - [**sample_cancel_max_batch_size**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_dynamic_config_response.py#L28) (*int*) – Maximum number of queued sampling cancellations the client dispatches in parallel per drain iteration.