---
title: DataClientConfiguration
summary: API reference for DataClientConfiguration.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data.Guidewire
reference_type: package
---

# DataClientConfiguration

Concrete, mutable implementation of `IDataClientConfiguration` with sensible defaults for caching: caching enabled, a default policy key of `data-client-cache-policy`, and a 30-second maximum cache duration. It is the configuration object passed into the primary `HttpClientBase`-derived constructors, and is also constructed internally by the obsolete `HttpClientBase` constructor overload (with `UseCache` forced to `false`).

## Purpose
- Supplies default values for system identity and caching settings so callers need only override what differs from the defaults (for example `SystemType`).
- Acts as the plain-old-CLR-object configuration payload consumed by `HttpClientBase` and its subclasses.

## Context
- Namespace: `SAIF.Data.Guidewire.Clients`
- Assembly/package: `SAIF.Data.Guidewire` (packaged in `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| SystemType | `public SystemType SystemType { get; set; }` | Identifies the calling system's type; no default value, defaults to the type's default (`SystemType` default enum value) |
| SystemName | `public string SystemName { get; set; }` | Optional system name; null by default, meaning `HttpClientBase` uses `SystemHashUtil.Get(SystemType)` rather than a name-based hash |
| UseCache | `public bool UseCache { get; set; } = true` | Defaults to `true`, enabling response caching per [SDG-BR-003](../../business-rules.md#sdg-br-003-responses-cached-unless-caching-is-disabled) |
| CachePolicyKey | `public string CachePolicyKey { get; set; } = "data-client-cache-policy"` | Default Polly policy registry key used to resolve the caching policy |
| MaxCacheDuration | `public TimeSpan MaxCacheDuration { get; set; } = TimeSpan.FromSeconds(30)` | Default maximum cache duration of 30 seconds |

## Behavioral notes
- The obsolete `HttpClientBase` constructor overload constructs a `DataClientConfiguration` internally with `UseCache = false`, overriding the class's own default of `true`.

## Constraints and usage notes
- All properties are mutable (`get; set;`), so callers can freely override any default before passing the instance to a client constructor.
- Enforcement of `MaxCacheDuration` depends entirely on how the Polly policy registered under `CachePolicyKey` is configured by the consuming application*; this class only stores the value.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `Data/SAIF.Data.Guidewire/Clients/DataClientConfiguration.cs`
- `Data/SAIF.Data.Guidewire/Clients/HttpClientBase.cs`
