Skip to main content
Version 0.2Draft

Events and Event Hub

Only one event type is emitted today

Today the Event Hub emits a single event type, ClaimValuesChanged - it tells your Application that a user changed one or more of the claims you receive (for example, their name), so you can refresh your stored copy. Every other event type described on this page is planned and not emitted yet. Do not build logic against any other type until you have confirmed it with LuxID.

What is the Event Hub?

The LuxID Event Hub is the time-ordered stream of identity-relevant events LuxID generates for your partnership's Applications.

It covers a user signing in, a Subscription being created or revoked, consent changes, password and MFA changes, risk escalations, and similar lifecycle moments.

Events give your application visibility into the identity lifecycle without polling the UserInfo endpoint or maintaining your own copy of user state.

Why use it?

  • Timely security response. A risk-escalation event lets your application require step-up MFA, block a transaction, or alert your security team within seconds.
  • Consent lifecycle tracking. A consent-revocation event lets you delete or quarantine personal data in line with GDPR Article 17.
  • Subscription management. Subscription create/revoke events let you provision and deprovision access in real time rather than waiting for the next sign-in.
  • Audit and compliance. Every event carries a stable identifier, a timestamp and contextual fields - forward them to a SIEM for a complete identity audit trail.

The event envelope

Every event shares a common envelope. Beyond the common fields, each event carries a payload whose shape depends on the event's type and version:

{
"id": "evt-01HKR8C5Z3...",
"timestamp": "2026-05-15T09:23:11Z",
"type": "ClaimValuesChanged",
"version": "1",
"sphere": "MyApp",
"subscriber": "sub-user-42",
"application": "app-abc-123",
"subscription": "sub-app-abc-123-user-42",
"payload": { "changedClaims": ["name"] }
}
FieldNotes
idStable unique identifier for the event. Use it as the idempotency / dedup key.
timestampWhen LuxID generated the event (ISO 8601). The canonical event time - your receipt time may be slightly later.
typeThe kind of event. Determines what payload carries.
versionSchema version of payload for this type.
sphere, subscriber, application, subscriptionOptional context fields, filled in when applicable. Use them to scope your reaction.
payloadType-specific data. Treat as an object and handle missing fields defensively.

This is the same envelope used by both delivery models below. The authoritative envelope reference is the Partner API - Event Hub page.

Delivery: pull or push

LuxID exposes the same event stream through two complementary delivery models. Pick the one that fits your back-end.

ModelHow it worksWhere it is documented
Pull (Event Hub)Your back-end polls a time-range query endpoint (GET /events/search) and reads events from the response. You control cadence and back-pressure, and can back-fill history on demand.Partner API - Event Hub
Push (Webhooks)LuxID POSTs each event to a URL you host, signed for verification. Lower latency, but your endpoint must stay highly available.Webhooks and events API

You can use both: for example, webhooks for low-latency consent-revocation reactions and the pull Event Hub for nightly audit reconciliation. Either way, process events idempotently keyed on id.

Event catalogue

Currently emitted

Event typeEmitted when
ClaimValuesChangedA user changed one or more of the claims your Application receives (for example, their name). Use it to refresh your stored copy of the user's profile.

Planned (not emitted yet)

The event types below are identity lifecycle moments LuxID intends to emit in future. They are not available today - treat them as a roadmap, not a contract. The authoritative list and payload shapes will be maintained in the LuxID OpenAPI document; confirm with your LuxID Account manager before relying on any of them.

Event typeEmitted when
user.createdA user completes account registration and the account becomes active
user.signed_inA successful authentication to your Application
user.signed_outA user ends their LuxID session
user.deletedA user permanently deletes their LuxID Account - treat subscriber as retired and erase or anonymise their data
user.consent.grantedA user grants consent for your Application to receive claims
user.consent.revokedA user withdraws consent for your Application
user.password.changedA user changes or resets their password
user.password.breach_detectedA breached password is detected (see Breached password detection)
user.mfa.method_addedA user adds an MFA method
user.mfa.method_removedA user removes an MFA method
user.risk.escalatedThe risk engine classifies a sign-in above baseline (see Security signals and risk scoring)
user.identity.verifiedA user completes LuxID Verified identity proofing
subscription.createdA user connects your Application for the first time
subscription.revokedA user removes their connection to your Application

SIEM integration

The Event Hub is designed to feed identity signals into your SIEM. Recommended practices:

  • Forward the full lifecycle, not just risk events - context matters (a user.signed_in moments after a user.password.changed from a different IP is a meaningful signal).
  • Correlate on subscriber within your application: it matches the sub in your tokens, letting you join identity events with your own audit log.
  • Do not correlate across applications. The subject identifier is Sphere-scoped - two applications in different Spheres see different values for the same user.
  • Deduplicate on id - both delivery models can deliver the same event more than once.
  • Retain timestamp as the canonical event time.
Updated 2026-05-28