keboola/api-bundle
Keboola API Bundle is a Symfony bundle for building consistent JSON APIs, providing reusable request handling, validation, standardized error responses, and extension points for authentication, logging, and documentation. It helps teams standardize endpoint behavior and reduce boilerplate across PHP...
keboola_api.auth.client_options.backoff_max_tries (default 3, capping auth retry backoff at ~7 s for Storage token verification and Manage token exchange). This is the kind of decision a PM usually makes implicitly and badly: how long do we let a flaky identity service hold a user request? It gives you a defensible, configurable default to benchmark against — fail fast on auth, keep controller-facing clients (storage_client_options, autowired ManageApiClientFactory) on their existing behavior. Useful as a reference point even if you never install it.KeboolaApiExtension and the "Bundle" naming confirm this is Symfony, not Laravel. That surfaces a real decision: is our API-layer investment portable across frameworks, or are we tying conventions to one vendor's Symfony idioms?Adopt (or evaluate seriously) when:
Look elsewhere when:
KeboolaApiExtension::AUTH_MANAGE_CLIENT_FACTORY_ID instead of keying on ManageApiClientFactory::class). Production callers are unaffected, but any test harness that stubs authentication by hand must be updated. That is a small, contained break — and a useful illustration of the class of change you inherit: container internals behave as semi-public API, and the changelog is the only notice you get.To executives (one paragraph): This is a small, MIT-licensed, single-vendor package from Keboola that encodes their API conventions. It is not a strategic dependency and carries no adoption momentum — zero stars, zero dependent projects. The decision it informs is narrow: if we are deliberately building Keboola-adjacent services, it can accelerate that work and reduce integration friction. The new 6.3.0 release is a modest hardening update — a configurable cap on authentication retries so login doesn't hang on transient failures — which is reassuring about upstream maintenance but does not change the strategic picture. It should not become infrastructure for our mainstream product surface. Recommend a time-boxed spike, not a roadmap line item.
To engineering (one paragraph): KeboolaApiExtension confirms this is Symfony, so Laravel teams should read it, not install it. Where it fits — Symfony services integrating with Keboola — it saves boilerplate on request/response conventions, error handling, auth, and now auth retry behavior (keboola_api.auth.client_options.backoff_max_tries, default 3, ~7 s cap, scoped deliberately to auth only and not to controller-facing clients). Budget for ownership: pin the version, read the source, and assume you may fork. 6.3.0 is a live example of why — the auth client factory moved to a new container ID, so any hand-rolled auth stub in your test suite breaks and must be migrated (or adopt AuthenticatorTestTrait and avoid the problem). Do not introduce it into a service that lacks a maintainer who understands it, because there is no community to fall back on. If we're not integrating with Keboola, the better move is to extract the pattern — including the fail-fast auth default — and write twenty lines of our own.
Bottom line for the decision log: evaluate as a reference implementation and integration accelerant, not a platform dependency. 6.3.0 is a small positive maintenance signal and a small negative coupling signal; net position unchanged. Score and adoption evidence still do not support anything stronger.
How can I help you explore Laravel packages today?