Skip to main content

Event types and filters

For more information about the Event Notifications feature, see About event notifications.

This topic lists the types of events supported for the Event Notifications feature.

Subscription definition file

When you run replicated notification subscription create --file FILE or replicated notification subscription update --file FILE, the file must be a JSON file. The following example shows the complete structure:

{
"name": "My notification subscription",
"isEnabled": true,
"emailAddress": "alerts@example.com",
"webhookUrl": "https://example.com/webhook",
"webhookSecret": "optional-signing-secret",
"customHeaders": [
{ "name": "X-My-Header", "value": "my-value" }
],
"eventConfigs": [
{
"eventType": "release.promoted",
"filters": {}
}
]
}

The following table describes each field in the subscription definition file:

FieldRequiredDescription
nameNoDisplay name for the subscription
isEnabledYesWhether the subscription is active
emailAddressConditionalDestination email address. Required if webhookUrl is not set
webhookUrlConditionalDestination webhook URL. Required if emailAddress is not set
webhookSecretNoSecret used to sign webhook payloads using HMAC
customHeadersNoArray of {"name": "...", "value": "..."} objects added as HTTP headers on each webhook request
eventConfigsYesOne or more event type configurations. Each entry has an eventType key and a filters object
eventConfigs[].eventTypeYesThe event type key. See the event type descriptions in this topic for the key for each event
eventConfigs[].filtersYesFilter conditions for the event. Use {} to receive all events of that type

For the update command, all fields are optional — include only the fields you want to change. For example, to disable a subscription:

{ "isEnabled": false }

Channel events

Channel Created

Event type: channel.created

When a new channel is created for an application.

Filters

FilterJSON keyRequiredDescription
ApplicationappIdNoFilter to a specific application

JSON definition

{ "eventType": "channel.created", "filters": {} }

Channel Archived

Event type: channel.archived

When a channel is archived.

Filters

FilterJSON keyRequiredDescription
ApplicationappIdNoFilter to a specific application
ChannelchannelIdNoFilter to one or more specific channels

JSON definition

{ "eventType": "channel.archived", "filters": { "channelId": ["channel1a2b3c4d"] } }

Customer events

Customer Created

Event type: customer.created

When a new customer is created.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
Expiration StatusexpirationStatusNoactive, expiring_soon, perpetual

JSON definition

{ "eventType": "customer.created", "filters": { "licenseType": ["paid", "trial"] } }

Customer Updated

Event type: customer.updated

When a customer's details or license is updated.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application
Change TypechangeTypeNocustomer_name, license_type, expiration, channel, install_options, helm_email, entitlement

JSON definition

{ "eventType": "customer.updated", "filters": { "changeType": ["license_type", "expiration"] } }

Customer Archived

Event type: customer.archived

When a customer is archived.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "customer.archived", "filters": {} }

Customer Unarchived (Restored)

Event type: customer.unarchived

When a customer is restored from archived state.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "customer.unarchived", "filters": {} }

Customer License Expiring

Event type: customer.license_expiring

Time-based warning of an upcoming license expiration.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application
Days Until ExpirydaysUntilExpiryNo0, 1, 7, 14, 30, 60, 90

JSON definition

{ "eventType": "customer.license_expiring", "filters": { "daysUntilExpiry": ["7", "30"] } }

Pending Self-Service Signup

Event type: customer.pending_signup

When someone signs up via the self-service portal (if enabled).

Filters

FilterJSON keyRequiredDescription
ApplicationappIdNoFilter to a specific application

JSON definition

{ "eventType": "customer.pending_signup", "filters": {} }

Enterprise Portal Invite Sent

Event type: customer.ep_invite_sent

When a vendor sends an Enterprise Portal invite to a user.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
CustomercustomerIdNoAny customer for the selected application
License TypelicenseTypeNopaid, trial, community, dev

JSON definition

{ "eventType": "customer.ep_invite_sent", "filters": {} }

Enterprise Portal Access Granted

Event type: customer.ep_access_granted

When a user accesses the Enterprise Portal.

The following table describes the available filters for the Enterprise Portal Access Granted event type:

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
CustomercustomerIdNoAny customer for the selected application
Access MethodaccessMethodNoinvite, self_signup, saml_jit
License TypelicenseTypeNopaid, trial, community, dev
Access TypeaccessTypeNo
  • any (default): Triggers a notification every time a user accesses the Enterprise Portal.
  • first_for_license_type: Triggers a notification the first time that a customer with a specific license type accesses the Enterprise Portal. For example, if you select "Paid" for the License Type filter, then you will receive a notification the first time that a customer with a Paid license access the Enterprise Portal, even if they previously logged in when they had a Trial license.

First Access for Selected License Type only tracks Enterprise Portal access events that occur after March 27, 2026.

JSON definition

{
"eventType": "customer.ep_access_granted",
"filters": {
"licenseType": ["paid"],
"accessType": "first_for_license_type"
}
}

Enterprise Portal User Joined

Event type: customer.ep_user_joined

When a user joins an Enterprise Portal customer.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
CustomercustomerIdNoAny customer for the selected application
Access MethodaccessMethodNoinvite, self_signup, saml_jit
License TypelicenseTypeNopaid, trial, community, dev

JSON definition

{ "eventType": "customer.ep_user_joined", "filters": {} }

Instance events

note

Instance event notifications use the Instance Name if set. Otherwise, they use the Instance ID.

Instance Created

Event type: instance.created

When a new instance sends its first check-in.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "instance.created", "filters": {} }

Instance Ready

Event type: instance.ready

When a new instance's application status is Ready for the first time.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "instance.ready", "filters": {} }

Instance Upgrade Started

Event type: instance.upgrade_started

When an instance begins upgrading to a new release version. This event fires when the Vendor Portal receives the first telemetry with a new release version, whether or not the application status is Ready.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "instance.upgrade_started", "filters": {} }

Instance Upgrade Completed

Event type: instance.upgrade_completed

When an instance's application status is Ready after upgrading to a new release version.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "instance.upgrade_completed", "filters": {} }

Instance Version Behind

Event type: instance.version_behind

When an instance falls behind by a specified number of versions.

Filters

FilterJSON keyRequiredDescription
Versions BehindversionsBehindYesMinimum number of versions behind to trigger the notification. Provide as a string (for example, "3").
ApplicationappIdNoAny application in your account
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "instance.version_behind", "filters": { "versionsBehind": "3" } }

Instance Inactive

Event type: instance.inactive

When an instance has not checked-in for 24 hours (declared "Inactive"). Air-gapped instances are excluded from this event type.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "instance.inactive", "filters": {} }

Instance State Duration

Event type: instance.state.duration

When an instance has been in a specific state (such as Unavailable or Degraded) for a specified duration.

The Instance State Duration event type requires you to specify the target state and duration threshold. Only one Instance State Duration event is allowed per subscription.

FilterJSON keyRequiredOptions
StatestateYesready, unavailable, degraded, updating, missing
Duration (minutes)durationMinutesYes"5", "10", "15", "30", "60", "120", "240", "480", "1440"
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

The state filter accepts one or more values as an array. The durationMinutes value must be provided as a string. The notification triggers when an instance has been in the specified state for at least the configured duration. If the instance recovers and later re-enters the monitored state, the notification can trigger again after the duration threshold is met.

JSON definition

{
"eventType": "instance.state.duration",
"filters": {
"state": ["unavailable", "degraded"],
"durationMinutes": "60"
}
}

Instance State Flapping

Event type: instance.state.flapping

When an instance is changing states frequently within a configured time window.

The Instance State Flapping event type requires you to specify the sensitivity of flapping detection:

FilterJSON keyRequiredOptions
Minimum State ChangesminStateChangesYes"3", "5", "10", "15", "20"
Time Window (minutes)windowMinutesYes"30", "60", "120"
Cooldown Period (minutes)cooldownMinutesNo"15", "30", "60", "120", "1440" (default: "60")
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

The numeric filter values (minStateChanges, windowMinutes, cooldownMinutes) must be provided as strings. The notification triggers when an instance accumulates the specified number of state changes within the time window. The cooldown period prevents repeated notifications for the same instance within the configured interval.

JSON definition

{
"eventType": "instance.state.flapping",
"filters": {
"minStateChanges": "5",
"windowMinutes": "60",
"cooldownMinutes": "60"
}
}

Custom Metric Threshold Reached

Event type: instance.custom_metric_threshold_reached

When a custom metric value reported by an instance meets a configured threshold condition.

The Custom Metric Threshold Reached event type requires a metric name, comparison operator, and notification frequency. You can include only one Custom Metric Threshold Reached event per subscription.

The following table describes each of the filters for the Custom Metric Threshold Reached event type:

FilterJSON keyRequiredDescription
Metric NamemetricNameYesThe name of the custom metric to monitor
OperatoroperatorYesComparison operator. The operators available depend on the metric type. For more information, see Available operators.
Threshold ValuethresholdValueConditionalRequired for all operators except is_true, is_false, exists, and not_exists. Provide as a string.
FrequencyfrequencyYesControls how often you receive the notification. For more information, see Frequency options.
ApplicationappIdNoAny application in your account
CustomercustomerIdNoAny customer for the selected application

Available operators

The available operators depend on the type of metric value:

Metric TypeAvailable operators (JSON value)
Numbergt (greater than), gte (greater than or equal), lt (less than), lte (less than or equal), eq (equals), neq (does not equal), exists, not_exists
Booleanis_true, is_false, eq (equals), neq (does not equal), exists, not_exists
Stringcontains, starts_with, ends_with, eq (equals), neq (does not equal), exists, not_exists

Frequency options

The following frequency options control how often the notification triggers:

FrequencyJSON valueBehavior
Send OnceonceNotifies the first time the metric meets the threshold. Does not notify again until the condition clears and the metric meets the threshold again.
When Changedwhen_changedNotifies when the metric meets the threshold and its value has changed since the last notification.
Each Timeeach_timeNotifies every time a metric report meets the threshold condition.

JSON definition

{
"eventType": "instance.custom_metric_threshold_reached",
"filters": {
"metricName": "error_rate",
"operator": "gt",
"thresholdValue": "0.05",
"frequency": "when_changed"
}
}

Release events

Release Created

Event type: release.created

When a new release is created.

Filters

FilterJSON keyRequiredDescription
ApplicationappIdNoFilter to a specific application

JSON definition

{ "eventType": "release.created", "filters": {} }

Release Promoted

Event type: release.promoted

When a release is promoted to a channel.

Filters

FilterJSON keyRequiredDescription
ApplicationappIdNoFilter to a specific application
ChannelchannelIdNoFilter to one or more channels

JSON definition

{ "eventType": "release.promoted", "filters": { "channelId": ["channel1a2b3c4d"] } }

Release Demoted (Unpublished)

Event type: release.unpublished

When a release is demoted from a channel.

Filters

FilterJSON keyRequiredDescription
ApplicationappIdNoFilter to a specific application
ChannelchannelIdNoFilter to one or more channels

JSON definition

{ "eventType": "release.unpublished", "filters": {} }

Release Build Failed

Event type: release.build_failed

When a release build fails for a release on a channel.

The following table describes the available filters for the Release Build Failed event type:

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
ChannelchannelIdNoAny channel for the selected application

JSON definition

{ "eventType": "release.build_failed", "filters": { "appId": "app1a2b3c4d" } }

Release Assets Downloaded

Event type: release.asset_downloaded

When a customer pulls a release asset (Helm chart, Embedded Cluster bundle, or proxy registry image). Each individual asset pull triggers one Release Assets Downloaded event.

The following table describes the available filters for the Release Assets Downloaded event type:

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application
License TypelicenseTypeNopaid, trial, community, dev
Asset TypeassetTypeNohelm_chart, embedded_cluster_bundle, proxy_image
Pull TypepullTypeNo
  • any (default): Triggers a notification on every asset pull.
  • first: Triggers a notification only the first time that a customer pulls a release asset.
  • first_for_license_type: Triggers a notification the first time that a customer pulls a release asset with the selected license type. For example, if you select "Paid" for the License Type filter, you will receive a notification the first time that a customer pulls a release asset using a Paid license, even if the customer had previously pulled assets using a Trial license.

For customers who pulled software before March 18, 2026, the Vendor Portal applies is_first_customer_pull: false on all subsequent pulls. Also, First Pull for Selected License Type only tracks asset pulls that occur after March 27, 2026.

JSON definition

{
"eventType": "release.asset_downloaded",
"filters": {
"assetType": "helm_chart",
"pullType": "first_for_license_type",
"licenseType": ["paid"]
}
}

Support events

Support Bundle Uploaded

Event type: support.bundle.uploaded

When a support bundle is uploaded.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "support.bundle.uploaded", "filters": {} }

Support Bundle Analyzed

Event type: support.bundle.analyzed

When a support bundle analysis is completed.

Filters

FilterJSON keyRequiredOptions
ApplicationappIdNoAny application in your account
License TypelicenseTypeNopaid, trial, community, dev
ChannelchannelIdNoAny channel for the selected application
CustomercustomerIdNoAny customer for the selected application

JSON definition

{ "eventType": "support.bundle.analyzed", "filters": {} }