3.23.0

(feat): Add OAuth token override support with compile-time safe staged builder pattern. When oauth-token-override: true is configured, SDK users can choose between the OAuth client credentials flow or providing a pre-generated bearer token directly.

Configuration example:

1config:
2 oauth-token-override: true

Generated usage:

1// Option 1: Direct bearer token (bypass OAuth flow)
2SeedApiClient client = SeedApiClient.withToken("my-pre-generated-bearer-token")
3 .url("https://api.example.com")
4 .build();
5
6// Option 2: OAuth client credentials flow (automatic token management)
7SeedApiClient client = SeedApiClient.withCredentials("your-client-id", "your-client-secret")
8 .url("https://api.example.com")
9 .build();

3.22.0

(feat): Add support for inferred authentication schemes. Inferred auth allows SDKs to automatically fetch tokens from custom (non-OAuth) token endpoints using scheme: bearer with get-token configuration. The generated InferredAuthTokenSupplier class handles token caching and automatic refresh with a 2-minute buffer before expiry.

Configuration example:

1auth:
2 scheme: bearer
3 get-token:
4 endpoint: POST auth.retrieveToken

Generated usage:

1SeedApiClient client = SeedApiClient.builder()
2 .apiKey("your-api-key")
3 .build();
4// Token is automatically fetched and refreshed as needed