Platform authentication
Flowker supports two platform authentication modes, selected by configuration:
- API Key — a static key sent in the
X-API-Keyheader, enabled withAPI_KEY_ENABLED. - Access Manager — token-based authentication, enabled with
PLUGIN_AUTH_ENABLED. When both modes are enabled, Access Manager takes priority.
- API Key mode — the middleware validates the key on every request; a valid key grants access to all endpoints. Configure the key via environment variables or bootstrap configuration.
- Access Manager mode — each request carries a Bearer token, and every route enforces a per-resource, per-action permission. This is how role- and policy-based authorization is applied.
- Invalid or missing credentials return
401 Unauthorized.
Beyond the static API Key, Flowker can delegate authentication and per-resource, per-action authorization to Access Manager. Enable it via configuration; when enabled, requests carry a Bearer token and each route enforces its own resource/action permission.
Executor authentication
When Flowker calls external services through executors, each executor configuration specifies its own authentication method. This means your platform credentials and your provider credentials are managed separately. Supported authentication types:
Authentication credentials are stored in the executor configuration and used automatically when the executor is called during workflow execution.
For OIDC flows (
oidc_client_credentials and oidc_user), Flowker handles token acquisition and refresh automatically. You provide the issuer URL, client ID, and client secret in the executor configuration.Network security
HTTPS enforcement:
- All API endpoints require HTTPS in production
- Executor calls to external providers use HTTPS
- Sensitive data (credentials, request/response payloads) is always transmitted over encrypted channels
- Allowed origins are configurable per deployment
- Credentials are not allowed in cross-origin requests (
AllowCredentialsis disabled) - Preflight responses are cached for performance
Resilience
Flowker protects against cascading failures from external services using circuit breaker and retry patterns. Circuit breaker: When an executor’s external service fails repeatedly, the circuit breaker opens and stops sending requests — preventing your workflows from hanging on an unresponsive provider.
- Transitions through
closed→open→half-openstates - Thresholds are configured globally (consecutive failures before opening)
- The half-open state allows a limited number of test requests before fully closing
- Fixed retry count of 5 attempts with exponential backoff (1s, 2s, 4s, 8s)
- Exponential backoff between attempts
- Only transient failures trigger retries (network errors, 5xx responses)
Audit trail
Every action in Flowker is recorded in the audit log — workflow changes, execution events, executor calls, and configuration updates. This provides a complete chain of evidence for compliance and operational visibility.
- Audit events are queryable via the
/v1/audit-eventsendpoint with filters for event type, action, result, resource, and date range - Every entry includes a cryptographic hash linking it to the previous entry, forming a tamper-evident chain
- Hash chain integrity is verifiable via the
/v1/audit-events/{id}/verifyendpoint - Logs include timestamps, actor identification (with IP address), action type, and affected resources
What’s next
Integration guide
Learn how to configure executors and connect external services.
Observability
Monitor Flowker with traces, metrics, and structured logs.

