Skip to main content

Alerts

An alert in the OpenMetadata UI is an event subscription in the API. Use these endpoints to create, update, and delete alerts as code, and to inspect what an alert has delivered.

Create an Alert

Create an alert, or create or update it by name, with a source, filters, triggers, and destinations.

List and Retrieve Alerts

List alerts, read one, look up available filters and triggers, and inspect delivery status.

Update an Alert

Change an alert with JSON Patch or by sending the full definition again.

Delete an Alert

Delete an alert and its delivery records.
For what each source, trigger, and filter does, and when an alert fires, see the Alert Behavior Reference. For what a webhook receives, see Webhook Payloads and Delivery.

Endpoints

Base path: /v1/events/subscriptions

Permissions

Creating an alert requires Create permission on the EventSubscription entity. Deleting requires Delete, and reading delivery status requires view access to all alerts. See Roles and Policies.

Alert Types

Set alertType to one of the following when you create an alert: The values ActivityFeed, GovernanceWorkflowChangeEvent, and Custom are used by system subscriptions. Don’t create alerts with them.

Request Schema

The request body for create and create-or-update is a CreateEventSubscription object.
string
required
Unique name of the alert.
string
required
Observability or Notification. See Alert Types.
string
Name shown in the UI.
string
Description in Markdown format.
array
Owners of the alert, as entity references.
boolean
default:"true"
Whether the alert is active. A disabled alert doesn’t read or deliver events.
array
required
The alert sources, for example ["testCase"] or ["pipeline", "ingestionPipeline"]. Provide at least one value. Use lowercase all to match every source on a Notification alert. To check which sources you can combine and what they support, see Available Sources, Filters, and Triggers.
object
Filters and triggers.
array
Where to deliver the alert. See Destination.
integer
How often, in seconds, OpenMetadata checks for new events. The create request defaults to 10.
integer
Maximum number of events to process in each check. The create request defaults to 10.
integer
default:"3"
Stored with each failed event record. OpenMetadata doesn’t use it to redeliver. See Webhook Payloads and Delivery.
object
Entity reference to a user-created notification template. Applies to Slack, Teams, Google Chat, and Email destinations.
array
Fully qualified names of the domains the alert belongs to.

Argument Input

Each filter and trigger is an object with these fields:
string
required
Name of the filter or trigger, for example filterByFqn or GetTestCaseStatusUpdates. Valid names depend on the sources. To look them up, see Available Sources, Filters, and Triggers.
string
default:"include"
include delivers the event when the condition matches. exclude silences it.
string
default:"AND"
AND or OR. How this condition joins the previous one.
array
Values for the filter or trigger. Each item is { "name": "<argument name>", "input": ["<value>", ...] }. Every argument the filter or trigger defines must have at least one value.
With several sources, a filter must be supported by every source, because it applies to every event. A trigger must be supported by at least one source, and it applies only to the sources that support it. OpenMetadata returns a 400 error when:
  • You provide no source.
  • You combine all with other sources.
  • You combine sources of different kinds, such as table and conversation.
  • A filter isn’t supported by every source, or a trigger isn’t supported by any source.
  • A required argument is empty.

Destination

Each item in destinations has these fields:
string
required
Who receives the alert: External, Admins, Owners, Followers, Assignees, Mentions, Users, or Teams.
string
required
Delivery channel: Webhook, Slack, MsTeams, GChat, Email, or ActivityFeed.
boolean
default:"true"
Whether this destination is active.
integer
default:"10"
Connection timeout in seconds. OpenMetadata keeps it between 5 and 30.
integer
default:"12"
Read timeout in seconds. OpenMetadata keeps it between 10 and 120.
boolean
default:"false"
Also notify the recipients of assets downstream of the changed asset, found through lineage. Applies to the internal categories only. It has no effect when category is External. The changed asset’s own recipients are always included. See Notify Downstream.
integer | null
default:"null"
How many lineage levels to follow when notifyDownstream is true. Must be 1 or more. 1 notifies only directly downstream assets. null follows lineage without a depth limit.
object
Channel settings. Required when category is External.
Alerts that the API returns also include read-only fields such as id, version, filteringRules (the filters and triggers expanded into conditions), and statusDetails on each destination.