Groundfloor Docs

Event Emission

Lifecycle events published to Redpanda topics from Control Plane — provisioning, membership, billing.

Control Plane publishes lifecycle events to Redpanda when platform state changes. Downstream services (billing, analytics, integrations) subscribe to these topics.

Envelope format

Every event uses a validated envelope:

{
  "version": "1.0.0",
  "event_type": "client.provisioned",
  "tenant_id": "<workspace_uuid>",
  "occurred_at": "2026-06-17T12:00:00Z",
  "payload": { }
}

tenant_id is the workspace UUID for ordering guarantees per workspace partition.

Event types

EventTopicWhen emitted
client.provisionedclients.lifecycleWorkspace saga completes
client.suspendedclients.lifecycleWorkspace frozen
client.offboardedclients.lifecycleHard delete completes
member.addedclients.lifecycleMembership granted
member.removedclients.lifecycleMembership revoked
usage.threshold.metclients.usageQuota threshold crossed
audit.export.completedclients.lifecycleAudit export finishes
llm.cu.consumedgroundfloor.billing.cuLiteLLM usage webhook

Publishing guarantees

  • Envelopes are validated before publish — malformed events never reach the broker
  • Broker failures on non-critical paths (e.g. after a successful freeze) do not roll back the database transaction
  • Consumers should be idempotent — replay and at-least-once delivery are possible

Subscribing

Integration teams typically:

  1. Connect to the platform Redpanda cluster (credentials from Groundfloor ops)
  2. Subscribe to clients.lifecycle for tenant state changes
  3. Filter on event_type and tenant_id

Event schemas and broker endpoints for production are provided during onboarding. This page documents the contract, not broker credentials.

On this page