---
title: Construct the Policy Document Distribution client
summary: Resolve endpoint and caller identity for preset-based policy document distribution.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Audit.ApiCalls
reference_type: package
operation_id: OP-006
trigger: A caller instantiates `PolicyDocDistributionCall`.
---

# Construct the Policy Document Distribution client

Resolve endpoint and caller identity for preset-based policy document distribution.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-006 |
| **Trigger** | A caller instantiates `PolicyDocDistributionCall`. |
| **Inputs** | None. |
| **Outputs** | Initialized `JsonHttpClient` stored inside `PolicyDocDistributionCall`. |
| **Primary components** | `PolicyDocDistributionCall.PolicyDocDistributionCall()` |
| **Entry point** | `Business\SAIF.Business.Policy.Audit.ApiCalls\PolicyDocDistributionCall.cs` |

## Steps

1. Create `ClientInfo` with application ID `PremiumAudit` ([BR-AAC-001](../business-rules.md#br-aac-001-outbound-clients-identify-as-premiumaudit)).
2. Populate machine and user identity from `EnvironmentService` ([BR-AAC-002](../business-rules.md#br-aac-002-outbound-clients-propagate-machine-and-user-identity)).
3. Read environment setting `policydocumentdistributionapi.url` and convert it to the base `Uri` for the client ([BR-AAC-003](../business-rules.md#br-aac-003-api-base-urls-come-from-environment-settings)).
4. Construct `JsonHttpClient` with the resolved URI and `ClientInfo` only; this flow does not attach an explicit authenticator ([BR-AAC-009](../business-rules.md#br-aac-009-only-the-policy-audit-api-client-attaches-an-authenticator)).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
  Start(["new PolicyDocDistributionCall()"]) --> Info[Build ClientInfo]
  Info --> Config[Read policydocumentdistributionapi.url]
  Config --> Client[Create JsonHttpClient]
  Client --> Done([Client ready])
```

## Failure and edge-case behavior

- A missing or malformed `policydocumentdistributionapi.url` setting prevents client construction.
- The commented development URL override is not part of the live execution path.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [Configuration](../configuration.md)

## Sources
- `Business\SAIF.Business.Policy.Audit.ApiCalls\PolicyDocDistributionCall.cs`
