---
title: GetResults<T>
summary: Retrieve a typed collection from a GET call.
status: draft
owner: bendy
last_reviewed: 2026-09-15
library: SAIF.Web.API.Clients
reference_type: package
operation_id: OP-02
trigger: Direct call by a consuming application
---

# GetResults<T>

`GetResults<T>` retrieves the full response envelope for a GET call and returns just its `Results` array, giving callers a typed collection without exposing the envelope's server/status/version metadata.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-02 |
| **Trigger** | Direct call by a consuming application. |
| **Inputs** | `methodUriSegment`. |
| **Outputs** | `T[]`. |
| **Primary components** | `JsonHttpClient.GetResults<T>(string)` |
| **Entry point** | `src/SAIF.Web.API.Clients/JsonHttpClient.cs` |

## Steps

1. Call the private `GetResultsFromApiResponse<T>(url)` wrapper.
2. Obtain the full response envelope.
   - Embedded logic ([BR-CLI-001](../business-rules.md#br-cli-001-ntlm-default-authentication)–[BR-CLI-006](../business-rules.md#br-cli-006-non-success-response-failure-conversion), [BR-CLI-010](../business-rules.md#br-cli-010-per-client-request-timeout)–[BR-CLI-012](../business-rules.md#br-cli-012-response-payload-shape-normalization), [BR-CLI-014](../business-rules.md#br-cli-014-responding-server-capture)):
     - Execute the HTTP GET through the shared funnel and project the transport response into `ApiResponse<T>`.

   > **Origin**: This step is implemented in [GetResponse\<T\>](get-response.md) (`SAIF.Web.API.Clients`) and executed on behalf of this operation.
   - On failure: exceptions from the delegate propagate uncaught.
3. Return `apiResponse.Results` ([BR-CLI-012](../business-rules.md#br-cli-012-response-payload-shape-normalization)).
   - The result may be an empty array, or `null` if `GetContentArray<T>` returned `null` for a JSON `null` array.

## Process flow

```mermaid
flowchart TD
	Start(["GetResults&lt;T&gt;<br>called"]) --> Response["GetResponse&lt;T&gt;:<br>full envelope"]
	Response --> Extract["Return<br>apiResponse.Results"]
	Extract --> EndOk([Return T array])
```

## Failure and edge-case behavior
- The returned array may be empty (no matching results) or `null` (JSON `null` array from the API) — callers should handle both.

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

## Sources
- `src/SAIF.Web.API.Clients/JsonHttpClient.cs`
