---
title: SAIF.Data.Guidewire overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data.Guidewire
reference_type: package
---

# SAIF.Data.Guidewire overview

> **Documentation context:** Packaged Component (NuGet)

SAIF.Data.Guidewire is a .NET Framework 4.6.2 class library of five typed HTTP clients — Activity, Claim, Financial, Provider, and Worker data — that call Guidewire ClaimCenter and ContactManager (AddressBook) REST APIs on behalf of `SAIF.Data`, `SAIF.Domain`, and `SAIF.Services`, and it ships inside the `SAIF.SAIFCode.Core` NuGet package.

## Purpose
- Provide async, typed client interfaces (`IActivityDataApiClient`, `IClaimDataApiClient`, `IFinancialDataApiClient`, `IProviderDataApiClient`, `IWorkerDataApiClient`) and their implementations over Guidewire ClaimCenter/ContactManager REST data APIs.
- Centralize base-URL resolution, HTTP Basic authentication, and Polly-backed response caching in a shared `HttpClientBase` so each concrete client only declares its endpoint paths and DTOs.
- Define the request/response DTOs for each Guidewire API surface under `Models/**` and `Contracts/**`.
- It is consumed by `SAIF.Data` (which registers the clients via `AddDataClients` and derives `CCClaimApiService` from `HttpClientBase`), `SAIF.Domain`, and `SAIF.Services`.

## Responsibilities
- Resolve each client's base URL from environment configuration (`UrlKey`) and its Basic-auth credentials from secure configuration (`AuthKey`), decrypted with a `SystemHashUtil` system hash, through `HttpClientBase`.
- Cache GET/POST responses through a Polly policy looked up in `IReadOnlyPolicyRegistry<string>`, configurable per `IDataClientConfiguration` (`UseCache`, `CachePolicyKey`, `MaxCacheDuration`).
- Serialize and deserialize Guidewire request/response payloads for claims, activities, financials, provider addresses, and worker data.
- Supply `IDataClientConfiguration`/`DataClientConfiguration`, the configuration contract `SAIF.Data`'s `ContainerBuilderExtensions.AddDataClients` uses to register these clients.

## Key components
- `HttpClientBase`: shared abstract base providing URL/AuthKey resolution, Basic authentication, and Polly-cached GET/POST helpers.
- `HttpClientHelper`: shared HTTP/JSON helper utilities, including the `JSON_DATE_FORMAT` constant.
- `IDataClientConfiguration` / `DataClientConfiguration`: the configuration contract (`SystemType`, `SystemName`, `UseCache`, `CachePolicyKey`, `MaxCacheDuration`) supplied to every client.
- `ActivityDataApiClient`, `ClaimDataApiClient`, `FinancialDataApiClient`, `ProviderDataApiClient`, `WorkerDataApiClient`: the five concrete Guidewire clients, each with a corresponding `I*DataApiClient` interface.
- `Models/**` and `Contracts/**`: per-API request/response DTOs (`ActivityDataApi`, `ClaimDataApi`, `FinancialDataApi`, `ProviderDataApi`, `Shared`, `WorkerDataApi`).

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [API reference](api/index.md)

## Sources
- `Data/SAIF.Data.Guidewire/SAIF.Data.Guidewire.csproj`
- `Data/SAIF.Data.Guidewire/Clients/HttpClientBase.cs`
- `Data/SAIF.Data.Guidewire/Clients/HttpClientHelper.cs`
- `Data/SAIF.Data.Guidewire/Clients/DataClientConfiguration.cs`
- `Data/SAIF.Data/Configuration/ContainerBuilderExtensions.cs`
- `Data/SAIF.Data/Queries/Claims/CCClaimApiService.cs`
- `Core/SAIF.Core/SAIF.SAIFCode.Core.nuspec`
