# HasApiKey


```
public interface HasApiKey<O extends Api.ApiOptions>
```

<br />

Known direct subclasses [AuthorizationClient](https://developers.google.com/android/reference/com/google/android/gms/auth/api/identity/AuthorizationClient), [CredentialSavingClient](https://developers.google.com/android/reference/com/google/android/gms/auth/api/identity/CredentialSavingClient), [GoogleApi](https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApi), [ModuleInstallClient](https://developers.google.com/android/reference/com/google/android/gms/common/moduleinstall/ModuleInstallClient), [SignInClient](https://developers.google.com/android/reference/com/google/android/gms/auth/api/identity/SignInClient)

|---|---|
| `https://developers.google.com/android/reference/com/google/android/gms/auth/api/identity/AuthorizationClient` | A client for the authorization API. |
| `https://developers.google.com/android/reference/com/google/android/gms/auth/api/identity/CredentialSavingClient` | A client for the Credential Saving API. |
| `https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApi` | Base class for Google API entry points. |
| `https://developers.google.com/android/reference/com/google/android/gms/common/moduleinstall/ModuleInstallClient` | Interface for module install APIs. |
| `https://developers.google.com/android/reference/com/google/android/gms/auth/api/identity/SignInClient` | A client for the sign-in API. |

*** ** * ** ***

Anything that has an `ApiKey`.

This is used to allow `https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApi`-based clients to be exposed via interface instead of subclass. Those interfaces can be declared as extending this, and `https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApi`'s will automatically fulfill the interface.