# kinde v2.1.0 - API Reference

## Modules

- [Kinde](Kinde.md): OpenID Connect authentication with PKCE for [Kinde](https://kinde.com).
- [Kinde.ManagementAPI](Kinde.ManagementAPI.md): Client for the [Kinde Management API](https://docs.kinde.com/kinde-apis/management/).
- [Kinde.StateManagement](Kinde.StateManagement.md): Behaviour for storing and retrieving OAuth state and PKCE code verifiers.
- [Kinde.StateManagementAgent](Kinde.StateManagementAgent.md): Default in-memory state management using `Agent`.
- [Kinde.Test.TokenStrategy](Kinde.Test.TokenStrategy.md): Test token strategy that signs JWTs with a local RSA key from `priv/keys/key.pem`.
- [Kinde.TokenStrategy](Kinde.TokenStrategy.md): JWKS strategy for verifying ID tokens in production.
- [Kinde.URL](Kinde.URL.md): URL helpers for building Kinde endpoint URLs.

- Exceptions
  - [Kinde.APIError](Kinde.APIError.md): Returned when the Kinde Management API responds with a non-200 status.
  - [Kinde.MissingConfigError](Kinde.MissingConfigError.md): Returned when required configuration keys (`:domain`, `:client_id`,
`:client_secret`, `:redirect_uri`) are missing from both the function
arguments and the application environment.

  - [Kinde.NoAccessTokenError](Kinde.NoAccessTokenError.md): Returned by `Kinde.ManagementAPI` when an API call is made before the
access token has been obtained (e.g. right after startup or after a
renewal failure).

  - [Kinde.ObtainingTokenError](Kinde.ObtainingTokenError.md): Returned when the `/oauth2/token` request fails.
  - [Kinde.StateNotFoundError](Kinde.StateNotFoundError.md): Returned by `Kinde.token/4` when the OAuth state parameter is not found
in state management (expired, already consumed, or never created).

