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

# ProviderDataApiClient

Concrete client for the Guidewire ProviderDataApi. It extends `HttpClientBase`, resolving its base URL from the `ab.providerdata.api.url.v1` configuration key and Basic-auth credentials from `cc.providerdataapi.gwcreds` (a distinct auth key from the ClaimCenter-based clients), and implements `IProviderDataApiClient` by adding and updating provider location addresses.

## Purpose
- Adds and updates a provider location's address in the Guidewire provider data system via POST/PUT to `provider/{providerLocationId}/address`.
- Deserializes the response body but does not inspect the HTTP status code of either operation.

## 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 => "ab.providerdata.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.providerdataapi.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); distinct from the `cc.gwcreds` key used by the other clients |
| ProviderDataApiClient(IEnvironmentService, HttpClient, SystemType, string) | `[Obsolete] public ProviderDataApiClient(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` |
| ProviderDataApiClient(IEnvironmentService, HttpClient, IDataClientConfiguration, IReadOnlyPolicyRegistry\<string\>) | `public ProviderDataApiClient(IEnvironmentService environmentService, HttpClient client, IDataClientConfiguration configuration, IReadOnlyPolicyRegistry<string> policyRegistry)` | Primary constructor; delegates directly to `HttpClientBase`'s primary constructor |
| AddProviderAddressAsync(long, ProviderAddressRequest) | `public Task AddProviderAddressAsync(long providerLocationId, ProviderAddressRequest providerAddress)` | Serializes `providerAddress` and POSTs to `provider/{providerLocationId}/address`; reads and deserializes the response content but does not check the response status, per [SDG-BR-014](../../business-rules.md#sdg-br-014-provider-address-changes-are-fire-and-forget) |
| UpdateProviderAddressAsync(long, ProviderAddressRequest) | `public Task UpdateProviderAddressAsync(long providerLocationId, ProviderAddressRequest providerAddress)` | Serializes `providerAddress` and PUTs to `provider/{providerLocationId}/address`; reads and deserializes the response content but does not check the response status, per [SDG-BR-014](../../business-rules.md#sdg-br-014-provider-address-changes-are-fire-and-forget) |

## 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
- Both `AddProviderAddressAsync` and `UpdateProviderAddressAsync` build their route from a shared private `Route => "provider/{0}/address"` format string.
- Neither method checks `response.IsSuccessStatusCode` or propagates the deserialized result to the caller; the deserialized `result` local variable is unused, so callers receive no success/failure signal from either method, per [SDG-BR-014](../../business-rules.md#sdg-br-014-provider-address-changes-are-fire-and-forget).
- 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, although this client's own methods use `Client.PostAsync`/`Client.PutAsync` directly rather than the inherited cached helpers.
- Because neither address method surfaces failures, callers cannot detect an unsuccessful provider address update through this client's return values*.

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence.

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