---
title: Worker retrieval
summary: Retrieves a worker, worker claims, or runs a claim search against Guidewire ClaimCenter.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data.Guidewire
reference_type: package
operation_id: OP-SDG-07
trigger: Caller invokes a WorkerDataApiClient method
---

# Worker retrieval

This operation retrieves worker and worker-claim data from Guidewire ClaimCenter through `WorkerDataApiClient`, short-circuiting on a null or placeholder id and throwing on a non-success response for the calls it does execute.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-SDG-07 |
| **Trigger** | Caller invokes `WorkerDataApiClient`'s worker/claim retrieval or search method |
| **Inputs** | Worker id, claim id, `FindClaimsSearchCriteria` |
| **Outputs** | `ClaimSummary`/`ClaimSummaries`, or `null` |
| **Primary components** | `WorkerDataApiClient` |
| **Entry point** | `Data/SAIF.Data.Guidewire/Clients/WorkerDataApiClient.cs` |

## Steps

1. Resolve the client's base URL (`cc.workerdata.api.url.v1`) and Basic-auth header (`cc.gwcreds`).

   > **Origin**: Step 1 is implemented in [Resolve base URL and authenticate](resolve-base-url-and-authenticate.md) (`SAIF.Data.Guidewire`) and executed on behalf of this operation.
2. Get worker or worker claims: GET `worker/{id}` or GET `claims/{id}`.
   - If the id is `null` or `"0"`: return `null` without calling the API. ([SDG-BR-015](../business-rules.md#sdg-br-015-null-or-0-worker-id-short-circuits-lookup))
   - Otherwise: issue the request with `ensureSuccess=true`, so a non-success status throws with the status code and response content. ([SDG-BR-011](../business-rules.md#sdg-br-011-non-success-responses-throw-with-status-and-content))
3. Claim search: POST `claim/search` with the `FindClaimsSearchCriteria` payload.

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start(["Caller invokes a worker/claim<br>method"]) --> S1["Resolve base URL and<br>Basic-auth header"]
	S1 --> Which{"Which call?"}
	Which -->|Get worker/claim| S2{"Id null or '0'?"}
	S2 -->|Yes| EndNull(["Return null,<br>no API call"])
	S2 -->|No| S2b["GET worker/{id} or<br>claims/{id}, ensureSuccess=true"]
	S2b --> S2c{"Non-success status?"}
	S2c -->|Yes| EndErr(["Throw with status<br>and content"])
	S2c -->|No| EndOk([Return ClaimSummary])
	Which -->|Claim search| S3["POST claim/search with<br>FindClaimsSearchCriteria"]
	S3 --> EndOk2([Return ClaimSummaries])
```

## Failure and edge-case behavior
- A `null` or `"0"` worker/claim id returns `null` without making an HTTP call ([SDG-BR-015](../business-rules.md#sdg-br-015-null-or-0-worker-id-short-circuits-lookup)).
- Get-worker and get-claim calls use `ensureSuccess=true`, so a non-success HTTP status throws ([SDG-BR-011](../business-rules.md#sdg-br-011-non-success-responses-throw-with-status-and-content)).

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

## Sources
- `Data/SAIF.Data.Guidewire/Clients/WorkerDataApiClient.cs`
- `Data/SAIF.Data.Guidewire/Models/WorkerDataApi/ClaimSummary.cs`
- `Data/SAIF.Data.Guidewire/Models/WorkerDataApi/ClaimSummaries.cs`
- `Data/SAIF.Data.Guidewire/Contracts/FindClaimsSearchCriteria.cs`
