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

# IDataClientConfiguration

Configuration contract consumed by `HttpClientBase` and its concrete `*DataApiClient` subclasses. It carries the caller's system identity (used to compute a credential-lookup hash) and the caching behavior (whether to cache, which Polly policy key to use, and how long cached entries live).

## Purpose
- Declares the system-identity and caching settings that `HttpClientBase` needs when authenticating and when deciding whether to route requests through a Polly cache policy.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| SystemType | `SystemType SystemType { get; set; }` | Identifies the calling system's type, used with `SystemName` to compute the credential hash per [SDG-BR-002](../../business-rules.md#sdg-br-002-basic-credentials-read-from-secure-configuration) |
| SystemName | `string SystemName { get; set; }` | Optional system name; when set, `HttpClientBase` uses `SystemHashUtil.ComputeHash(SystemType, SystemName)` instead of `SystemHashUtil.Get(SystemType)` to compute the credential hash |
| UseCache | `bool UseCache { get; set; }` | Determines whether `HttpClientBase` resolves a real Polly cache policy from the registry or falls back to a no-op policy, per [SDG-BR-003](../../business-rules.md#sdg-br-003-responses-cached-unless-caching-is-disabled) |
| CachePolicyKey | `string CachePolicyKey { get; set; }` | Key used to look up the caching `IAsyncPolicy` in the supplied `IReadOnlyPolicyRegistry<string>` when `UseCache` is true |
| MaxCacheDuration | `TimeSpan MaxCacheDuration { get; set; }` | Intended maximum lifetime of cached responses*; enforced by whichever Polly policy is registered under `CachePolicyKey`, not by `HttpClientBase` itself |

## Behavioral notes
- This interface only declares data; all behavior described above is implemented by consumers such as `HttpClientBase` and by the Polly policy registered under `CachePolicyKey`.

## Constraints and usage notes
- Implementations are expected to be simple data holders; the sole first-party implementation is `DataClientConfiguration`.
- `MaxCacheDuration`'s enforcement is external to this library* — the actual expiration behavior depends on how the Polly policy referenced by `CachePolicyKey` is configured by the consuming application.

> **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/IDataClientConfiguration.cs`
- `Data/SAIF.Data.Guidewire/Clients/HttpClientBase.cs`
