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

# ClaimDataApiClient

Concrete client for the Guidewire ClaimCenter ClaimDataApi. It extends `HttpClientBase`, resolving its base URL from the `cc.claimdata.api.url.v1` configuration key and Basic-auth credentials from `cc.gwcreds`, and implements `IClaimDataApiClient` by exposing a broad set of read operations for claim data, financials, conditions, contacts, MCO enrollments, and vocational details, plus bulk claim retrieval.

## Purpose
- Retrieves individual and bulk claim data, claim financial summaries, conditions, contacts, MCO enrollment/claims, vocational details, and non-converted claim records from ClaimCenter.
- Short-circuits bulk claim requests when the caller supplies an empty id list, avoiding an unnecessary API call.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| UrlKey | `protected override string UrlKey => "cc.claimdata.api.url.v1"` | Environment configuration key used to resolve this client's base URL, per [SDG-BR-001](../../business-rules.md#sdg-br-001-base-url-resolved-from-environment-configuration) |
| AuthKey | `protected override string AuthKey => "cc.gwcreds"` | Environment secure-configuration key used to resolve Basic auth credentials, per [SDG-BR-002](../../business-rules.md#sdg-br-002-basic-credentials-read-from-secure-configuration) |
| ClaimDataApiClient(IEnvironmentService, HttpClient, SystemType, string) | `[Obsolete] public ClaimDataApiClient(IEnvironmentService environmentService, HttpClient client, SystemType systemType, string baseUrlOverride = "")` | Obsolete constructor; forwards to `HttpClientBase`'s obsolete overload, which builds a `DataClientConfiguration` with `UseCache = false` and ignores `baseUrlOverride` |
| ClaimDataApiClient(IEnvironmentService, HttpClient, IDataClientConfiguration, IReadOnlyPolicyRegistry\<string\>) | `public ClaimDataApiClient(IEnvironmentService environmentService, HttpClient client, IDataClientConfiguration configuration, IReadOnlyPolicyRegistry<string> policyRegistry)` | Primary constructor; delegates directly to `HttpClientBase`'s primary constructor |
| GetClaim(long) | `public Task<ClaimData> GetClaim(long claimId)` | Cached GET of `claims/id/{claimId}`, returning claim data by internal claim id |
| GetClaim(string) | `public Task<ClaimData> GetClaim(string claimNumber)` | Cached GET of `claims/{claimNumber}`, returning claim data by claim number |
| GetClaims(List\<long\>) | `public Task<ClaimsData> GetClaims(List<long> claimIds)` | Cached POST of `claims` with a serialized `{ claims: [{ claimID }] }` body; returns an empty `ClaimsData` without calling the API per [SDG-BR-012](../../business-rules.md#sdg-br-012-empty-bulk-claim-request-short-circuits) when `claimIds` is empty |
| GetGuidewireClaimDataMCO(long) | `public Task<McoData> GetGuidewireClaimDataMCO(long claimId)` | Cached GET of `claims/{claimId}/mco`, returning the single current MCO for the claim |
| GetGWClaimDataCondition(long) | `public Task<ClaimConditions> GetGWClaimDataCondition(long claimId)` | Cached GET of `claims/{claimId}/conditions` |
| GetGWClaimContacts(long) | `public Task<ClaimContacts> GetGWClaimContacts(long claimId)` | Cached GET of `claims/{claimId}/contacts` |
| GetGWClaimFinancials(long, int?, bool, bool, bool, bool) | `public Task<ClaimFinancialData> GetGWClaimFinancials(long claimId, int? numberOfTransactions = null, bool excludeClaimPayments = false, bool excludeClaimReserves = false, bool excludeClaimRecoveries = false, bool excludeClaimFinancialSummary = false)` | Cached GET of `claims/{claimId}/financials` with query flags to exclude payments, reserves, recoveries, and/or the financial summary, and an optional `count` limiting the number of transactions returned |
| GetGWActiveMCOClaims(ActiveMco, bool) | `public Task<ClaimMcoData> GetGWActiveMCOClaims(ActiveMco activeMco, bool claimsOnly = false)` | Cached POST of `mco/claims?claimsOnly={claimsOnly}` with `activeMco` serialized while omitting null properties (so a null `enrollmentDate` is dropped when retrieving all active enrollments) |
| GetGWClaimVocationalDetails(long) | `public Task<VocationalDetails> GetGWClaimVocationalDetails(long claimId)` | Cached GET of `claims/{claimId}/vocationaldetails` |
| GetNonConvertedClaim(string) | `public Task<NonConvertedClaim> GetNonConvertedClaim(string claimNumber)` | Cached GET of `nonconvertedclaims/{claimNumber}` |

## Inherited public members
| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Client | `protected HttpClient Client { get; }` | Returns the underlying `HttpClient`, initializing Basic auth on first access† | `SAIF.Data.Guidewire` — `HttpClientBase` |
| GetAsync(string, bool, CancellationToken) | `protected Task<string> GetAsync(string url, bool ensureSuccess = false, CancellationToken cancellationToken = default)` | Issues an uncached GET and returns the raw response body† | `SAIF.Data.Guidewire` — `HttpClientBase` |
| GetAsyncCached\<T\>(string, bool, CancellationToken) | `protected Task<T> GetAsyncCached<T>(string url, bool ensureSuccess = false, CancellationToken cancellationToken = default)` | Executes a cached GET through the configured Polly policy and deserializes the body as `T`† | `SAIF.Data.Guidewire` — `HttpClientBase` |
| GetAsyncCached\<T\>(string, string, bool, CancellationToken) | `protected Task<T> GetAsyncCached<T>(string url, string body, bool ensureSuccess = false, CancellationToken cancellationToken = default)` | Executes a cached POST with a JSON body through the configured Polly policy and deserializes the response as `T`† | `SAIF.Data.Guidewire` — `HttpClientBase` |

## Behavioral notes
- All read methods are routed through `GetAsyncCached<T>`, so responses are subject to [SDG-BR-003](../../business-rules.md#sdg-br-003-responses-cached-unless-caching-is-disabled) caching behavior based on the client's `IDataClientConfiguration`.
- `GetClaims` returns a new, empty `ClaimsData` instance and performs no HTTP call at all when `claimIds.Count == 0`, per [SDG-BR-012](../../business-rules.md#sdg-br-012-empty-bulk-claim-request-short-circuits).
- `GetGWActiveMCOClaims` serializes `activeMco` with `NullValueHandling.Ignore` specifically so a null `enrollmentDate` is omitted from the request body.
- The obsolete constructor always disables caching for this client and ignores any `baseUrlOverride` value.

## Constraints and usage notes
- Depends on `HttpClientBase` (documented in this same doc set) for base-address resolution, authentication, and the cached GET/POST helpers.
- Callers should not rely on freshness beyond `MaxCacheDuration` when `UseCache` is enabled on the supplied `IDataClientConfiguration`.

> **Note:** Statements marked with † are derived from dependency library
> documentation via the Legends CLI. They describe inherited behavior from the
> indicated origin library and should be verified if the dependency version changes.

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