csharp-authenticationlisted
Install: claude install-skill MuHamza30/paypal-api-plugin
# Authenticating an APIMatic C# SDK client
The API spec decides which schemes exist. Set every scheme your endpoints need **while you build the
client** — a built client has no credential setter (see **csharp-client-initialization**).
## Finding which schemes this SDK accepts
1. `PaypalServerSdkClient.cs` — the credential setters on `PaypalServerSdkClient.Builder` are **the source of
truth**.
2. `Authentication/` — one `{Scheme}Manager.cs` per scheme, holding the manager and the
`sealed class {Scheme}Model`, plus an `I{Scheme}Credentials.cs`. A **custom** scheme that declares no
parameters has no model and no client setter at all — see [reference.md](reference.md).
3. `doc/auth/*.md` — a page per scheme listing each parameter with its type, setter and getter.
**Never derive the setter name — take it from the Authentication table in csharp-getting-started, which
resolves it.** The usual form is the emitted scheme name with `Credentials` appended
(`.BasicAuthCredentials(...)`), and a grant-named scheme sometimes doubles the word
(`.Oauth2ClientCredentialsCredentials(...)`). The suffix is dropped **only** when the SDK has exactly one
scheme *and* that scheme is an OAuth 2 grant type (`.ClientCredentialsAuth(...)`, interface
`IClientCredentialsAuth`). Ending in `Auth` is **not** the trigger — a `BasicAuth` scheme alongside others
still emits `.BasicAuthCredentials(...)` and `IBasicAuthCredentials`. Read the `Builder`'s method list in
`PaypalServerSdkClient.cs` and th