Update an Alert by ID
Updates an alert.
Path Parameters
organization_id_or_slug(string)REQUIREDThe ID or slug of the organization the resource belongs to.
workflow_id(integer)REQUIREDThe ID of the alert you'd like to query.
Body Parameters
name(string)REQUIREDThe name of the alert
id(string)The ID of the existing alert
enabled(boolean)Whether the alert is enabled or disabled
detector_ids(array(integer))The IDs of the monitors to connect this alert to. Use 'Fetch an Organization's Monitors' to find the IDs.
config(object)Typically the frequency at which the alert will fire, in minutes.
0: 0 minutes5: 5 minutes10: 10 minutes30: 30 minutes60: 1 hour180: 3 hours720: 12 hours1440: 24 hours
Copied{ "frequency":3600 }{ "frequency":3600 }environment(string)The name of the environment for the alert to evaluate in
triggersThe conditions on which the alert will trigger. See available options below.
Copied"triggers": { "organizationId": "1", "logicType": "any-short", "conditions": [ { "type": "first_seen_event", "comparison": true, "conditionResult": true }, { "type": "issue_resolved_trigger", "comparison": true, "conditionResult": true }, { "type": "reappeared_event", "comparison": true, "conditionResult": true }, { "type": "regression_event", "comparison": true, "conditionResult": true } ], "actions": [] }"triggers": { "organizationId": "1", "logicType": "any-short", "conditions": [ { "type": "first_seen_event", "comparison": true, "conditionResult": true }, { "type": "issue_resolved_trigger", "comparison": true, "conditionResult": true }, { "type": "reappeared_event", "comparison": true, "conditionResult": true }, { "type": "regression_event", "comparison": true, "conditionResult": true } ], "actions": [] }action_filters(array(object))The filters to run before the action will fire and the action(s) to fire.
logicTypecan be one ofany-short,all, ornone.Below is a basic example. See below for all other options.
Copied"actionFilters": [ { "logicType": "any", "conditions": [ { "type": "level", "comparison": { "level": 50, "match": "eq" }, "conditionResult": true } ], "actions": [ { "id": "123", "type": "email", "integrationId": null, "data": {}, "config": { "targetType": "user", "targetDisplay": null, "targetIdentifier": "56789" }, "status": "active" } ] } ]"actionFilters": [ { "logicType": "any", "conditions": [ { "type": "level", "comparison": { "level": 50, "match": "eq" }, "conditionResult": true } ], "actions": [ { "id": "123", "type": "email", "integrationId": null, "data": {}, "config": { "targetType": "user", "targetDisplay": null, "targetIdentifier": "56789" }, "status": "active" } ] } ]Conditions
Issue Age
time: One ofminute,hour,day, orweek.value: A positive integer.comparisonType: One ofolderornewer.
Copied{ "type": "age_comparison", "comparison": { "time": "minute", "value": 10, "comparisonType": "older" }, "conditionResult": true }{ "type": "age_comparison", "comparison": { "time": "minute", "value": 10, "comparisonType": "older" }, "conditionResult": true }Issue Assignment
targetType: Who the issue is assigned toUnassigned: UnassignedMember: Assigned to a userTeam: Assigned to a team
targetIdentifier: The ID of the user or team from thetargetType. Enter "" iftargetTypeisUnassigned.
Copied{ "type": "assigned_to", "comparison": { "targetType": "Member", "targetIdentifier": 123456 }, "conditionResult": true }{ "type": "assigned_to", "comparison": { "targetType": "Member", "targetIdentifier": 123456 }, "conditionResult": true }Issue Category
value: The issue category to filter to.1: Error issues6: Feedback issues10: Outage issues11: Metric issues12: DB Query issues13: HTTP Client issues14: Front end issues15: Mobile issues
Copied{ "type": "issue_category", "comparison": { "value": 1 }, "conditionResult": true }{ "type": "issue_category", "comparison": { "value": 1 }, "conditionResult": true }Issue Frequency
value: A positive integer representing how many times the issue has to happen before the alert will fire.
Copied{ "type": "issue_occurrences", "comparison": { "value": 10 }, "conditionResult": true }{ "type": "issue_occurrences", "comparison": { "value": 10 }, "conditionResult": true }De-escalation
Copied{ "type": "issue_priority_deescalating", "comparison": true, "conditionResult": true }{ "type": "issue_priority_deescalating", "comparison": true, "conditionResult": true }Issue Priority
comparison: The priority the issue must be for the alert to fire.75: High priority50: Medium priority25: Low priority
Copied{ "type": "issue_priority_greater_or_equal", "comparison": 75, "conditionResult": true }{ "type": "issue_priority_greater_or_equal", "comparison": 75, "conditionResult": true }Number of Users Affected
value: A positive integer representing the number of users that must be affected before the alert will fire.filters: A list of additional sub-filters to evaluate before the alert will fire.interval: The time period in which to evaluate the value. e.g. Number of users affected by an issue is more thanvalueininterval.1min: 1 minute5min: 5 minutes15min: 15 minutes1hr: 1 hour1d: 1 day1w: 1 week30d: 30 days
Copied{ "type": "event_unique_user_frequency_count", "comparison": { "value": 100, "filters": [{"key": "foo", "match": "eq", "value": "bar"}], "interval": "1h" }, "conditionResult": true }{ "type": "event_unique_user_frequency_count", "comparison": { "value": 100, "filters": [{"key": "foo", "match": "eq", "value": "bar"}], "interval": "1h" }, "conditionResult": true }Number of Events
value: A positive integer representing the number of events in an issue that must come in before the alert will fireinterval: The time period in which to evaluate the value. e.g. Number of events in an issue is more thanvalueininterval.1min: 1 minute5min: 5 minutes15min: 15 minutes1hr: 1 hour1d: 1 day1w: 1 week30d: 30 days
Copied{ "type": "event_frequency_count", "comparison": { "value": 100, "interval": "1h" }, "conditionResult": true }{ "type": "event_frequency_count", "comparison": { "value": 100, "interval": "1h" }, "conditionResult": true }Percent of Events
value: A positive integer representing the number of events in an issue that must come in before the alert will fireinterval: The time period in which to evaluate the value. e.g. Number of events in an issue iscomparisonIntervalpercent highervaluecompared tointerval.1min: 1 minute5min: 5 minutes15min: 15 minutes1hr: 1 hour1d: 1 day1w: 1 week30d: 30 days
comparisonInterval: The time period to compare against. Seeintervalfor options.
Copied{ "type": "event_frequency_percent", "comparison": { "value": 100, "interval": "1h", "comparisonInterval": "1w" }, "conditionResult": true }{ "type": "event_frequency_percent", "comparison": { "value": 100, "interval": "1h", "comparisonInterval": "1w" }, "conditionResult": true }Percentage of Sessions Affected Count
value: A positive integer representing the number of events in an issue that must come in before the alert will fireinterval: The time period in which to evaluate the value. e.g. Percentage of sessions affected by an issue is more thanvalueininterval.1min: 1 minute5min: 5 minutes15min: 15 minutes1hr: 1 hour1d: 1 day1w: 1 week30d: 30 days
Copied{ "type": "percent_sessions_count", "comparison": { "value": 10, "interval": "1h" }, "conditionResult": true }{ "type": "percent_sessions_count", "comparison": { "value": 10, "interval": "1h" }, "conditionResult": true }Percentage of Sessions Affected Percent
value: A positive integer representing the number of events in an issue that must come in before the alert will fireinterval: The time period in which to evaluate the value. e.g. Percentage of sessions affected by an issue iscomparisonIntervalpercent highervaluecompared tointerval.1min: 1 minute5min: 5 minutes15min: 15 minutes1hr: 1 hour1d: 1 day1w: 1 week30d: 30 days
comparisonInterval: The time period to compare against. Seeintervalfor options.
Copied{ "type": "percent_sessions_percent", "comparison": { "value": 10, "interval": "1h" }, "conditionResult": true }{ "type": "percent_sessions_percent", "comparison": { "value": 10, "interval": "1h" }, "conditionResult": true }Event Attribute The event's
attributevaluematchvalueattribute: The event attribute to match on. Valid values are:message,platform,environment,type,error.handled,error.unhandled,error.main_thread,exception.type,exception.value,user.id,user.email,user.username,user.ip_address,http.method,http.url,http.status_code,sdk.name,stacktrace.code,stacktrace.module,stacktrace.filename,stacktrace.abs_path,stacktrace.package,unreal.crash_type,app.in_foreground.match: The comparison operatorco: Containsnc: Does not containeq: Equalsne: Does not equalsw: Starts withew: Ends withis: Is setns: Is not set
value: A string. Not required when match isisorns.
Copied{ "type": "event_attribute", "comparison": { "match": "co", "value": "bar", "attribute": "message" }, "conditionResult": true }{ "type": "event_attribute", "comparison": { "match": "co", "value": "bar", "attribute": "message" }, "conditionResult": true }Tagged Event The event's tags
keymatchvaluekey: The tag valuematch: The comparison operatorco: Containsnc: Does not containeq: Equalsne: Does not equalsw: Starts withew: Ends withis: Is setns: Is not set
value: A string. Not required when match isisorns.
Copied{ "type": "tagged_event", "comparison": { "key": "level", "match": "eq", "value": "error" }, "conditionResult": true }{ "type": "tagged_event", "comparison": { "key": "level", "match": "eq", "value": "error" }, "conditionResult": true }Latest Release The event is from the latest release
Copied{ "type": "latest_release", "comparison": true, "conditionResult": true }{ "type": "latest_release", "comparison": true, "conditionResult": true }Release Age
Copied{ "type": "latest_adopted_release", "comparison": { "environment": "12345", "ageComparison": "older", "releaseAgeType": "oldest" }, "conditionResult": true }{ "type": "latest_adopted_release", "comparison": { "environment": "12345", "ageComparison": "older", "releaseAgeType": "oldest" }, "conditionResult": true }Event Level The event's level is
matchlevelmatch: The comparison operatoreq: Equalgte: Greater than or equallte: Less than or equal
level: The event level50: Fatal40: Error30: Warning20: Info10: Debug0: Sample
Copied{ "type": "level", "comparison": { "level": 50, "match": "eq" }, "conditionResult": true }{ "type": "level", "comparison": { "level": 50, "match": "eq" }, "conditionResult": true }Actions
A list of actions that take place when all required conditions and filters for the alert are met. See below for a list of possible actions.
Notify on Preferred Channel
data: A dictionary with the fallthrough type option when choosing to notify Suggested Assignees. Leave empty if notifying a user or team.fallthroughTypeActiveMembersAllMembersNoOne
config: A dictionary with the configuration options for notification.targetType: The type of recipient to notifyuser: Userteam: Teamissue_owners: Suggested Assignees
targetDisplay: nulltargetIdentifier: The id of the user or team to notify. Leave null for Suggested Assignees.
Copied{ "type":"email", "integrationId":null, "data":{}, "config":{ "targetType":"user", "targetDisplay":null, "targetIdentifier":"232692" }, "status":"active" }, { "type":"email", "integrationId":null, "data":{ "fallthroughType":"ActiveMembers" }, "config":{ "targetType":"issue_owners", "targetDisplay":null, "targetIdentifier":""} , "status":"active" }{ "type":"email", "integrationId":null, "data":{}, "config":{ "targetType":"user", "targetDisplay":null, "targetIdentifier":"232692" }, "status":"active" }, { "type":"email", "integrationId":null, "data":{ "fallthroughType":"ActiveMembers" }, "config":{ "targetType":"issue_owners", "targetDisplay":null, "targetIdentifier":""} , "status":"active" }Notify on Slack
targetDisplay: The name of the channel to notify in.integrationId: The stringified ID of the integration.
Copied{ "type":"slack", "config":{ "targetType":"specific", "targetIdentifier":"", "targetDisplay":"notify-errors" }, "integrationId":"1", "data":{}, "status":"active" }{ "type":"slack", "config":{ "targetType":"specific", "targetIdentifier":"", "targetDisplay":"notify-errors" }, "integrationId":"1", "data":{}, "status":"active" }Notify on PagerDuty
targetDisplay: The name of the service to create the ticket in.integrationId: The stringified ID of the integration.data["priority"]: The severity level for the notification.
Copied{ "type":"pagerduty", "config":{ "targetType":"specific", "targetIdentifier":"123456", "targetDisplay":"Error Service" }, "integrationId":"2345", "data":{ "priority":"default" }, "status":"active" }{ "type":"pagerduty", "config":{ "targetType":"specific", "targetIdentifier":"123456", "targetDisplay":"Error Service" }, "integrationId":"2345", "data":{ "priority":"default" }, "status":"active" }Notify on Discord
targetDisplay: The name of the service to create the ticket in.integrationId: The stringified ID of the integration.data["tags"]: Comma separated list of tags to add to the notification.
Copied{ "type":"discord", "config":{ "targetType":"specific", "targetIdentifier":"12345", "targetDisplay":"", }, "integrationId":"1234", "data":{ "tags":"transaction,environment" }, "status":"active" }{ "type":"discord", "config":{ "targetType":"specific", "targetIdentifier":"12345", "targetDisplay":"", }, "integrationId":"1234", "data":{ "tags":"transaction,environment" }, "status":"active" }Notify on MSTeams
targetIdentifier- The integration ID associated with the Microsoft Teams team.targetDisplay- The name of the channel to send the notification to.integrationId: The stringified ID of the integration.
Copied{ "type":"msteams", "config":{ "targetType":"specific", "targetIdentifier":"19:a4b3kghaghgkjah357y6847@thread.skype", "targetDisplay":"notify-errors" }, "integrationId":"1", "data":{}, "status":"active" }{ "type":"msteams", "config":{ "targetType":"specific", "targetIdentifier":"19:a4b3kghaghgkjah357y6847@thread.skype", "targetDisplay":"notify-errors" }, "integrationId":"1", "data":{}, "status":"active" }Notify on OpsGenie
targetDisplay: The name of the Opsgenie team.targetIdentifier: The ID of the Opsgenie team to send the notification to.integrationId: The stringified ID of the integration.data["priority"]: The priority level for the notification.
Copied{ "type":"opsgenie", "config":{ "targetType":"specific", "targetIdentifier":"123456-Error-Service", "targetDisplay":"Error Service" }, "integrationId":"2345", "data":{ "priority":"P3" }, "status":"active" }{ "type":"opsgenie", "config":{ "targetType":"specific", "targetIdentifier":"123456-Error-Service", "targetDisplay":"Error Service" }, "integrationId":"2345", "data":{ "priority":"P3" }, "status":"active" }Notify on Azure DevOps
integrationId: The stringified ID of the integration.data- A list of any fields you want to include in the ticket as objects.
Copied{ "type":"vsts", "config":{ "targetType":"specific", "targetIdentifier":", "targetDisplay":"" }, "integrationId":"2345", "data":{...}, "status":"active" }{ "type":"vsts", "config":{ "targetType":"specific", "targetIdentifier":", "targetDisplay":"" }, "integrationId":"2345", "data":{...}, "status":"active" }Create a Jira ticket
integrationId: The stringified ID of the integration.data- A list of any fields you want to include in the ticket as objects.
Copied{ "type":"jira", "config":{ "targetType":"specific", "targetIdentifier":", "targetDisplay":"" }, "integrationId":"2345", "data":{...}, "status":"active" }{ "type":"jira", "config":{ "targetType":"specific", "targetIdentifier":", "targetDisplay":"" }, "integrationId":"2345", "data":{...}, "status":"active" }Create a Jira Server ticket
integrationId: The stringified ID of the integration.data- A list of any fields you want to include in the ticket as objects.
Copied{ "type":"jira_server", "config":{ "targetType":"specific", "targetIdentifier":", "targetDisplay":"" }, "integrationId":"2345", "data":{...}, "status":"active" }{ "type":"jira_server", "config":{ "targetType":"specific", "targetIdentifier":", "targetDisplay":"" }, "integrationId":"2345", "data":{...}, "status":"active" }Create a GitHub issue
integrationId: The stringified ID of the integration.data- A list of any fields you want to include in the ticket as objects.
Copied{ "type":"github", "config":{ "targetType":"specific", "targetIdentifier":", "targetDisplay":"" }, "integrationId":"2345", "data":{ "additional_fields": { "assignee": "", "integration": "2345", "labels": [], "repo": "example-repo", }, "dynamic_form_fields": [ { "choices": [["YourOrg/example-repo", "example-repo"]], "default": "YourOrg/example-repo", "label": "GitHub Repository", "name": "repo", "required": true "type": "select", "updatesForm": true, "url": "/extensions/github/search/example-repo/1234567/", }, ], }, "status":"active" }{ "type":"github", "config":{ "targetType":"specific", "targetIdentifier":", "targetDisplay":"" }, "integrationId":"2345", "data":{ "additional_fields": { "assignee": "", "integration": "2345", "labels": [], "repo": "example-repo", }, "dynamic_form_fields": [ { "choices": [["YourOrg/example-repo", "example-repo"]], "default": "YourOrg/example-repo", "label": "GitHub Repository", "name": "repo", "required": true "type": "select", "updatesForm": true, "url": "/extensions/github/search/example-repo/1234567/", }, ], }, "status":"active" }owner(string)The ID user or team who owns the monitor or alert prefaced by the string 'user' or 'team'.
User
Copied"user:123456""user:123456"Team
Copied"team:456789""team:456789"
Scopes
<auth_token> requires one of the following scopes:alerts:writeorg:adminorg:write
curl https://sentry.io/api/0/organizations/{organization_id_or_slug}/workflows/{workflow_id}/ \ -H 'Authorization: Bearer <auth_token>' \ -X PUT \ -H 'Content-Type: application/json' \ -d '{}'
Copied{ "id": "1234567", "name": "My Updated Alert", "organizationId": "1", "createdBy": "23456", "dateCreated": "2026-01-14T20:08:32.273220Z", "dateUpdated": "2026-01-14T21:59:45.609912Z", "triggers": { "id": "12345", "organizationId": "1", "logicType": "any-short", "conditions": [ { "id": "1234", "type": "first_seen_event", "comparison": true, "conditionResult": true }, { "id": "2345", "type": "issue_resolved_trigger", "comparison": true, "conditionResult": true }, { "id": "3456", "type": "reappeared_event", "comparison": true, "conditionResult": true }, { "id": "4567", "type": "regression_event", "comparison": true, "conditionResult": true } ], "actions": [] }, "actionFilters": [ { "id": "1234567", "organizationId": "1", "logicType": "any-short", "conditions": [ { "id": "345678", "type": "issue_priority_deescalating", "comparison": true, "conditionResult": true } ], "actions": [ { "id": "56789", "type": "slack", "integrationId": "1", "data": {}, "config": { "targetType": "specific", "targetDisplay": "@jane-doe", "targetIdentifier": "ABCDE123456" }, "status": "active" } ] } ], "environment": null, "config": { "frequency": 1440 }, "detectorIds": [ "12345678" ], "enabled": true, "lastTriggered": null, "owner": "user:123456" }