csharp-configuration-resiliencelisted
Install: claude install-skill MuHamza30/paypal-api-plugin
# Configuration & resilience for an APIMatic C# SDK
Everything is configured on the client `Builder` at construction (see
**csharp-client-initialization**). Transport tuning is **nested inside the `HttpClientConfig`
action** — it is not on the client `Builder` directly:
```csharp
var client = new PaypalServerSdkClient.Builder()
.Environment(PaypalServerSdk.Standard.Environment.{Member})
.HttpClientConfig(config => config
.Timeout(TimeSpan.FromSeconds(30)) // TimeSpan — not an int of seconds
.NumberOfRetries(3)
.MaximumRetryWaitTime(TimeSpan.FromSeconds(30)))
.Build();
```
Those values are **a policy you are choosing**, not this SDK's defaults. There is no
`PaypalServerSdkClient.Builder.Timeout(...)`, whatever `doc/client.md` lists — see
**csharp-client-initialization** for why that table is not a contract.
## The `HttpClientConfiguration.Builder` surface
| Method | Type | Meaning |
| --- | --- | --- |
| `Timeout(TimeSpan)` | `TimeSpan` | http client timeout |
| `NumberOfRetries(int)` | count | times a request is retried |
| `BackoffFactor(int)` | multiplier | exponential backoff between retry calls |
| `RetryInterval(double)` | `double` | interval between the endpoint calls |
| `MaximumRetryWaitTime(TimeSpan)` | `TimeSpan` | cap on the whole retried call, not just the waiting |
| `StatusCodesToRetry(IList<int>)` | statuses | which statuses invoke a retry |
| `RequestMethodsToRetry(IList<HttpMethod>)` | `System.Net.Http.HttpMethod