Skip to main content
Tools Reference

AlertOps Tools

Written By Christopher Scaminaci

Last updated 7 days ago

AlertOps Tools

alertops_ · 217 tools · Free 89 · Pro 128 On-call scheduling, alert routing and incident response over the AlertOps v2 REST API. Alerts arrive from monitoring tools through inbound integrations, are routed by escalation policies to groups and on-call schedules, and page people over email, SMS, voice and Slack. Listing alerts with no date window returns only today's, and a window wider than six months is rejected. Only a few reads paginate at all - alerts, escalation policies, groups, inbound integrations, users and workflows, each capped at 100 - and the rest return whole collections. Of those, only the alert list returns a cursor to follow; the others page by row offset, so a caller waiting for a cursor never advances past the first page. Creating an alert or an incident is not a record write: it fires the escalation policy and notifies on-call staff. An update that replaces a whole object drops whatever the body leaves out, so read the object first and send it back complete.

All connector tools · AlertOps setup guide

AlertOps tool groups

Alerts

ToolPlanAccessSummary
alertops_assign_alertProDestructiveAssign an alert.
alertops_bulk_assign_alertsProDestructiveAssign alerts in bulk.
alertops_bulk_close_alertsProDestructiveClose alerts in bulk.
alertops_close_alertProDestructiveClose an alert.
alertops_create_alertProDestructiveRaise a new alert, which AlertOps immediately routes down an escalation policy.
alertops_create_alert_messageProDestructiveAdd a message to an alert (reply).
alertops_create_alert_noteProWriteAdd a note to an alert.
alertops_create_alert_outbound_actionProDestructiveAdd action to an alert.
alertops_create_alert_postmortemProWriteCreate alert postmortem.
alertops_create_alert_recipientProDestructiveAdd recipients to an alert.
alertops_get_alertFreeRead-onlyGet one alert, with its status, priority, owner, source integration, escalation policy and recipients.
alertops_get_alert_postmortemFreeRead-onlyGet alert postmortem.
alertops_get_alert_timelineFreeRead-onlyGet an alert's timeline - the ordered record of every escalation step, notification and human action.
alertops_list_alert_message_notificationsFreeRead-onlyList notifications for an alert message.
alertops_list_alert_messagesFreeRead-onlyList an alert's messages - the two-way conversation between AlertOps and the people it paged.
alertops_list_alert_notesFreeRead-onlyList notes for an alert.
alertops_list_alert_outbound_actionsFreeRead-onlyList alert outbound actions.
alertops_list_alert_recipientsFreeRead-onlyList recipients for an alert.
alertops_list_alertsFreeRead-onlyList alerts - the individual pages AlertOps has raised, each carrying its status, priority, owner, source integration and escalation policy.
alertops_snooze_alertProDestructiveSnooze an alert.
alertops_update_alertProWriteUpdate an alert.
alertops_update_alert_fieldsProWriteUpdate alert fields.
alertops_update_alert_noteProWriteUpdate an alert note.
alertops_update_alert_postmortemProWriteUpdate alert postmortem.
alertops_update_alert_snoozeProDestructiveSnooze an alert.

[AlertOps] Assign an alert. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. Request body fields (AlertAssignRequest): user (string). Assignment notifies the new owner, so it reaches a person even though nothing about the alert is resolved. alertops_bulk_assign_alerts does the same for many alerts at once.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertAssignRequest): user (string).
idintegeryesAlert ID.

[AlertOps] Assign alerts in bulk. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. Request body fields (AlertAssignBulkRequest): user (string); alerts (array<integer>). Every alert in the request notifies its new owner, so one call can page many people. Assign a single alert with alertops_assign_alert.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertAssignBulkRequest): user (string); alerts (array<integer>).

[AlertOps] Close alerts in bulk. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: a real incident stops paging anyone. Request body fields (AlertCloseBulkRequest): user (string); resolution (string); alerts (array<integer>). Closing stops escalation on every alert in the request at once, and there is no undo - check the list with alertops_list_alerts first. Close a single alert with alertops_close_alert.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertCloseBulkRequest): user (string); resolution (string); alerts (array<integer>).

[AlertOps] Close an alert. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: a real incident stops paging anyone. Request body fields (AlertCloseRequest): user (string); resolution (string). Closing stops the escalation, so anybody it was still going to page will not be. alertops_bulk_close_alerts does the same for many alerts at once.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertCloseRequest): user (string); resolution (string).
idintegeryesAlert ID.

[AlertOps] Raise a new alert, which AlertOps immediately routes down an escalation policy. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. Request body fields (AlertCreateRequest): escalation_policy (string); response_play (string); priority (string); source (string); source_name (string); source_id (string); source_url (string); topic (string); subject (string); description (string); bridge (string); is_incident (boolean, required); alert_tags (AlertCorrelationFields); alert_fields (array<AlertFieldItemUpdate>); recipients (array<AlertRecipientItem>); attachments (array<AlertFile>); technical_services (array<integer>). To record an incident or maintenance event that pages nobody, use alertops_create_incident instead.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertCreateRequest): escalation_policy (string); response_play (string); priority (string); source (string); source_name (string); source_id (string); source_url (string); topic (string); subject (string); description (string); bridge (string); is_incident (boolean, required); alert_tags (AlertCorrelationFields); alert_fields (array<AlertFieldItemUpdate>); recipients (array<AlertRecipientItem>); attachments (array<AlertFile>); technical_services (array<integer>).

[AlertOps] Add a message to an alert (reply). THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. Request body fields (AlertMessageRequest): message_text (string); escalation_policy_id (integer); response_play_id (integer); recipients (array<AlertRecipientItem>). A message is delivered to the alert's recipients over their contact methods. To record something for other operators only, use alertops_create_alert_note, which notifies nobody.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertMessageRequest): message_text (string); escalation_policy_id (integer); response_play_id (integer); recipients (array<AlertRecipientItem>).
idintegeryesAlert ID.

[AlertOps] Add a note to an alert. Request body fields (AlertNoteRequest): note (string). A note is internal: unlike alertops_create_alert_message it notifies nobody.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertNoteRequest): note (string).
idintegeryesAlert ID.

[AlertOps] Add action to an alert. This FIRES a live dispatch to an external system immediately. Request body fields (AlertActionRequest): action (string). The action runs against the outbound integration wired to this alert. List the ones already run with alertops_list_alert_outbound_actions.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertActionRequest): action (string).
idintegeryesAlert ID.

[AlertOps] Create alert postmortem. Request body fields (AlertPostmortemUpdate): name (string); status (string); impact_start (string); impact_end (string); notify_subscribers (boolean, required); postmortem_fields (array<AlertPostmortemFieldItemUpdate>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertPostmortemUpdate): name (string); status (string); impact_start (string); impact_end (string); notify_subscribers (boolean, required); postmortem_fields (array<AlertPostmortemFieldItemUpdate>).
idintegeryesAlert ID.

[AlertOps] Add recipients to an alert. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. Request body fields (AlertRecipientsRequest): cancel_notifications (boolean, required); recipients (array<AlertCreateRecipient>); escalation_policy (string); response_play (string). The added recipients are paged over their own contact methods as soon as they are attached. List who is already on the alert with alertops_list_alert_recipients.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertRecipientsRequest): cancel_notifications (boolean, required); recipients (array<AlertCreateRecipient>); escalation_policy (string); response_play (string).
idintegeryesAlert ID

[AlertOps] Get one alert, with its status, priority, owner, source integration, escalation policy and recipients. Its id is what alertops_list_alert_messages, alertops_list_alert_notes, alertops_get_alert_timeline and every write in this family take.

ParamTypeRequiredDefaultDescription
idintegeryesAlert ID
ParamTypeRequiredDefaultDescription
idintegeryesAlert ID.

[AlertOps] Get an alert's timeline - the ordered record of every escalation step, notification and human action. This is the read to use when reconstructing who was paged and when.

ParamTypeRequiredDefaultDescription
idintegeryesAlert ID.
ParamTypeRequiredDefaultDescription
idintegeryesAlert ID.
messageIdintegeryesMessage ID
ParamTypeRequiredDefaultDescription
idintegeryesAlert ID
ParamTypeRequiredDefaultDescription
idintegeryesAlert ID.
ParamTypeRequiredDefaultDescription
idintegeryesAlert ID.
ParamTypeRequiredDefaultDescription
idintegeryesAlert ID.

[AlertOps] List alerts - the individual pages AlertOps has raised, each carrying its status, priority, owner, source integration and escalation policy. Start here: every other tool in this family takes the alert id this returns. IMPORTANT: with no date window this returns ONLY TODAY'S alerts - AlertOps defaults createdFrom and createdTo to today's date, so an empty result does NOT mean there are no alerts. Set createdFrom and createdTo (format yyyy-MM-dd) to search further back. A window wider than 6 months is REJECTED, not truncated. The same applies to closedFrom and closedTo. Paginated by CURSOR: limit defaults to 10 and is capped at 100 (StackJack clamps out-of-range values). Pass the metadata.next value from the previous response back as next to page forward; treat it as opaque and do not do arithmetic on it.

ParamTypeRequiredDefaultDescription
alertIDstringnonullDefault is empty.
closedFromstringnonullDefault is empty. closedFrom and closedTo date range must not exceed 6 months. Date Format 'yyyy-MM-dd'.
closedTostringnonullDefault is empty. closedFrom and closedTo date range must not exceed 6 months. Date Format 'yyyy-MM-dd'.
createdFromstringnonullDefault is empty. If not provided, it is set to today's date. createdFrom and createdTo date range must not exceed 6 months. Date Format 'yyyy-MM-dd'.
createdTostringnonullDefault is empty. If not provided, it is set to today's date. createdFrom and createdTo date range must not exceed 6 months. Date Format 'yyyy-MM-dd'.
escalationPolicystringnonullDefault is empty. Eg. Policy1, Policy2
groupstringnonullDefault is empty. Eg. GroupName1, GroupName2
includeEscalationPolicybooleannonullindicated to get Escalation Policy Default: True.
includeIncidentbooleannonullDefault is false Default: False.
includeIntegrationsbooleannonullindicated to get Integration Default: True.
includeResponsePlaybooleannonullindicated to get Service Response Play Default: False.
includeServiceIntegrationsbooleannonullindicated to get Service Integration Default: True.
integrationstringnonullDefault is empty. Eg. RTestule1, TestRule2
limitintegernonullPage size. AlertOps defaults to 10 and caps this at 100; StackJack clamps out-of-range values.
nextstringnonullDefault is null
ownerstringnonullDefault is empty. Eg. jdoe, 1234
previousstringnonullDefault is null
prioritystringnonullDefault is empty. Eg. No Priority or Critical or High or Medium or Low.
senderstringnonullDefault is empty. Eg. jdoe, 1234
slastringnonullDefault is empty. Eg. Yes or No.
sourcestringnonullDefault is empty.
sourceIDstringnonullDefault is empty.
sourceNamestringnonullDefault is empty.
statusstringnonullDefault is empty. Eg. Assigned or Cancelled or Closed or On Hold or Open.
technicalServicesstringnonullfilter Services Integrations
topicstringnonullDefault is empty. Eg. TopicName, TestTopic
viewBystringnonullDefault is U. Eg. U or A or G. Default: U.

[AlertOps] Snooze an alert. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: a real incident stops paging anyone. Request body fields (AlertSnoozeRequest): snooze_hours (string). While an alert is snoozed nobody is paged for it, so a real incident can go unnoticed for the whole snooze window. alertops_update_alert_snooze changes an existing snooze.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertSnoozeRequest): snooze_hours (string).
idintegeryesAlert ID.

[AlertOps] Update an alert. Request body fields (AlertUpdateRequest): source (string); source_name (string); source_id (string); source_url (string); status (string); owner (string); resolution (string); alert_tags (AlertCorrelationFields); alert_fields (array<AlertFieldItemUpdate>). To change status use the dedicated verbs - alertops_close_alert, alertops_assign_alert, alertops_snooze_alert - rather than writing status through this body.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertUpdateRequest): source (string); source_name (string); source_id (string); source_url (string); status (string); owner (string); resolution (string); alert_tags (AlertCorrelationFields); alert_fields (array<AlertFieldItemUpdate>).
idintegeryesAlert ID

[AlertOps] Update alert fields. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint. These are the custom fields defined on the alert, not its status or priority; change those with alertops_update_alert or the dedicated status verbs.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idintegeryesAlert ID

[AlertOps] Update an alert note. Request body fields (AlertNoteRequest): note (string). Notes are internal and notify nobody, so editing one pages no-one either.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertNoteRequest): note (string).
idintegeryesAlert ID.
noteIdintegeryesAlert note ID, from alertops_list_alert_notes.

[AlertOps] Update alert postmortem. Request body fields (AlertPostmortemUpdate): name (string); status (string); impact_start (string); impact_end (string); notify_subscribers (boolean, required); postmortem_fields (array<AlertPostmortemFieldItemUpdate>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertPostmortemUpdate): name (string); status (string); impact_start (string); impact_end (string); notify_subscribers (boolean, required); postmortem_fields (array<AlertPostmortemFieldItemUpdate>).
idintegeryesAlert ID.
postmortemIdintegeryesAlert postmortem ID, from alertops_get_alert_postmortem.

[AlertOps] Snooze an alert. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: a real incident stops paging anyone. Request body fields (AlertSnoozeRequest): snooze_hours (string). Extending a snooze extends the window in which nobody is paged. alertops_snooze_alert starts one.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertSnoozeRequest): snooze_hours (string).
idintegeryesAlert ID.

Bridges

ToolPlanAccessSummary
alertops_create_bridgeProWriteCreate a bridge.
alertops_delete_bridgeProDestructiveDelete a bridge.
alertops_get_bridgeFreeRead-onlyGet a bridge.
alertops_list_bridgesFreeRead-onlyList conference bridges - the dial-in numbers AlertOps can attach to an alert so responders can join one call.
alertops_update_bridgeProWriteUpdate a bridge.

[AlertOps] Create a bridge. Request body fields (BridgeItemBase): telephone_number (string); telephone_access_code (string); telephone_message_body (string); message_priority_type (string); name (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (BridgeItemBase): telephone_number (string); telephone_access_code (string); telephone_message_body (string); message_priority_type (string); name (string).

[AlertOps] Delete a bridge. This DELETES data in AlertOps and cannot be undone from StackJack. Alerts and policies still pointing at this bridge lose their dial-in, so responders are paged with nowhere to join.

ParamTypeRequiredDefaultDescription
idintegeryesBridge ID
ParamTypeRequiredDefaultDescription
idintegeryesBridge ID

[AlertOps] Update a bridge. Request body fields (BridgeItemBase): telephone_number (string); telephone_access_code (string); telephone_message_body (string); message_priority_type (string); name (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (BridgeItemBase): telephone_number (string); telephone_access_code (string); telephone_message_body (string); message_priority_type (string); name (string).
idintegeryesBridge ID

Incidents

ToolPlanAccessSummary
alertops_create_incidentProDestructiveCreate an incident / maintenance.
alertops_create_incident_postmortemProWriteCreate an incident postmortem.
alertops_get_incidentFreeRead-onlyGet one incident or maintenance event, including its state, affected components and notification settings.
alertops_get_incident_postmortemFreeRead-onlyGet an incident's postmortem.
alertops_list_incident_notificationsFreeRead-onlyList the notifications already sent for an incident - who was told, over which channel and when.
alertops_list_incidentsFreeRead-onlyList incidents and maintenance events - the customer-facing status records, which are separate from the alerts that page on-call staff.
alertops_update_incidentProDestructiveUpdate an incident / maintenance.
alertops_update_incident_postmortemProWriteUpdate an incident postmortem.

[AlertOps] Create an incident / maintenance. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"is_maintenance":true,"incident_state":"Investigating/ Identified/ Monitoring /Resolved","description":"This is incident/ maintenance decription","component_id":[123,456],"notify_subscribers":true,"email":"true (Only if notify_subscribers = true)","sms":"true (Only if notify_subscribers = true)","slack_dm":"false (Only if notify_subscribers = true and accounts enabled)","subject":"This is incident/ maintenance Subject","start_date":"2021-8-6","start_hour":10,"start_minute":30,"duration_minutes":50,"notify_hour_before":true,"notify_at_start":true,"notify_at_end":true} It can notify subscribers immediately: notify_subscribers together with email, sms or slack_dm sends to your status-page audience the moment this is called. Set notify_subscribers false to record the incident quietly.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"is_maintenance":true,"incident_state":"Investigating/ Identified/ Monitoring /Resolved","description":"This is incident/ maintenance decription","component_id":[123,456],"notify_subscribers":true,"email":"true (Only if notify_subscribers = true)","sms":"true (Only if notify_subscribers = true)","slack_dm":"false (Only if notify_subscribers = true and accounts enabled)","subject":"This is incident/ maintenance Subject","start_date":"2021-8-6","start_hour":10,"start_minute":30,"duration_minutes":50,"notify_hour_before":true,"notify_at_start":true,"notify_at_end":true}

[AlertOps] Create an incident postmortem. Request body fields (AlertPostmortemUpdate): name (string); status (string); impact_start (string); impact_end (string); notify_subscribers (boolean, required); postmortem_fields (array<AlertPostmortemFieldItemUpdate>). Additive and internal: writing a postmortem notifies nobody.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertPostmortemUpdate): name (string); status (string); impact_start (string); impact_end (string); notify_subscribers (boolean, required); postmortem_fields (array<AlertPostmortemFieldItemUpdate>).
idintegeryesIncident ID.
ParamTypeRequiredDefaultDescription
idintegeryesIncident ID, from alertops_list_incidents.

[AlertOps] Get an incident's postmortem. Its fields are the ones defined by alertops_list_postmortem_fields.

ParamTypeRequiredDefaultDescription
idintegeryesIncident ID.

[AlertOps] List the notifications already sent for an incident - who was told, over which channel and when. Use this to check whether subscribers have been notified before sending another update.

ParamTypeRequiredDefaultDescription
idintegeryesIncident ID.

[AlertOps] List incidents and maintenance events - the customer-facing status records, which are separate from the alerts that page on-call staff. Use alertops_list_alerts for those.

ParamTypeRequiredDefaultDescription
componentIdstringnonullFilter to incidents affecting one service component, from alertops_list_service_components.
fromDatestringnonullStart of the created-date window, format yyyy-MM-dd. Omit both dates to accept the AlertOps default rather than guessing a range.
toDatestringnonullEnd of the created-date window, format yyyy-MM-dd. Omit both dates to accept the AlertOps default rather than guessing a range.

[AlertOps] Update an incident / maintenance. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"is_maintenance":true,"incident_state":"Investigating/ Identified/ Monitoring /Resolved","description":"This is incident/ maintenance decription","component_id":[123,456],"notify_subscribers":true,"email":"true (Only if notify_subscribers = true)","sms":"true (Only if notify_subscribers = true)","slack_dm":"false (Only if notify_subscribers = true and accounts enabled)","subject":"This is incident/ maintenance Subject","start_date":"2021-8-6","start_hour":10,"start_minute":30,"duration_minutes":50,"notify_hour_before":true,"notify_at_start":true,"notify_at_end":true} Changing incident_state, or setting notify_subscribers, sends an update to your status-page audience. Read the record back with alertops_get_incident first: the body carries the whole shape, including component_id.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"is_maintenance":true,"incident_state":"Investigating/ Identified/ Monitoring /Resolved","description":"This is incident/ maintenance decription","component_id":[123,456],"notify_subscribers":true,"email":"true (Only if notify_subscribers = true)","sms":"true (Only if notify_subscribers = true)","slack_dm":"false (Only if notify_subscribers = true and accounts enabled)","subject":"This is incident/ maintenance Subject","start_date":"2021-8-6","start_hour":10,"start_minute":30,"duration_minutes":50,"notify_hour_before":true,"notify_at_start":true,"notify_at_end":true}
idintegeryesIncident ID

[AlertOps] Update an incident postmortem. Request body fields (AlertPostmortemUpdate): name (string); status (string); impact_start (string); impact_end (string); notify_subscribers (boolean, required); postmortem_fields (array<AlertPostmortemFieldItemUpdate>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertPostmortemUpdate): name (string); status (string); impact_start (string); impact_end (string); notify_subscribers (boolean, required); postmortem_fields (array<AlertPostmortemFieldItemUpdate>).
idintegeryesIncident ID.
postmortemIdintegeryesIncident postmortem ID, from alertops_get_incident_postmortem.

Maintenance Windows

ToolPlanAccessSummary
alertops_create_maintenance_windowProDestructiveCreate a maintenance window.
alertops_delete_maintenance_windowProDestructiveDelete a maintenance window.
alertops_get_maintenance_windowFreeRead-onlyGet a maintenance window.
alertops_list_maintenance_windowFreeRead-onlyList maintenance windows - the planned periods in which AlertOps suppresses alerting.
alertops_update_maintenance_windowProDestructiveUpdate a maintenance window.

[AlertOps] Create a maintenance window. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: a real incident stops paging anyone. Request body fields (MaintenanceWindowBase): description (string); recurrence (string); integration (array<string>); start_date (string); end_date (string); start_time (string); end_time (string); sunday (boolean, required); monday (boolean, required); tuesday (boolean, required); wednesday (boolean, required); thursday (boolean, required); friday (boolean, required); saturday (boolean, required). For the duration of the window the covered sources stop paging anyone, so a real incident inside it goes unnoticed.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (MaintenanceWindowBase): description (string); recurrence (string); integration (array<string>); start_date (string); end_date (string); start_time (string); end_time (string); sunday (boolean, required); monday (boolean, required); tuesday (boolean, required); wednesday (boolean, required); thursday (boolean, required); friday (boolean, required); saturday (boolean, required).

[AlertOps] Delete a maintenance window. This DELETES data in AlertOps and cannot be undone from StackJack. Alerting resumes for whatever the window was suppressing, which can page people at once for conditions that are already true.

ParamTypeRequiredDefaultDescription
idintegeryesMaintenance Window ID
ParamTypeRequiredDefaultDescription
idintegeryesMaintenance Window ID

[AlertOps] List maintenance windows - the planned periods in which AlertOps suppresses alerting. An open window is a deliberate monitoring blind spot, so check this before concluding that a quiet system is healthy.

ParamTypeRequiredDefaultDescription
maintenanceStatusstringnonullFilter by maintenance-window status. AlertOps documents no value list for it; omit it to get every window and filter the response yourself.

[AlertOps] Update a maintenance window. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: a real incident stops paging anyone. Request body fields (MaintenanceWindowBase): description (string); recurrence (string); integration (array<string>); start_date (string); end_date (string); start_time (string); end_time (string); sunday (boolean, required); monday (boolean, required); tuesday (boolean, required); wednesday (boolean, required); thursday (boolean, required); friday (boolean, required); saturday (boolean, required). Widening a window widens the period in which nothing pages; narrowing one can start alerting again immediately.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (MaintenanceWindowBase): description (string); recurrence (string); integration (array<string>); start_date (string); end_date (string); start_time (string); end_time (string); sunday (boolean, required); monday (boolean, required); tuesday (boolean, required); wednesday (boolean, required); thursday (boolean, required); friday (boolean, required); saturday (boolean, required).
idintegeryesMaintenance Window ID

Postmortem Fields

ToolPlanAccessSummary
alertops_create_postmortem_fieldProWriteCreate a postmortem field.
alertops_delete_postmortem_fieldProDestructiveDelete a postmortem field.
alertops_get_postmortem_fieldFreeRead-onlyGet a postmortem field.
alertops_list_postmortem_fieldsFreeRead-onlyList the postmortem field definitions - the questions every incident and alert postmortem is filled in against.
alertops_update_postmortem_fieldProWriteUpdate a postmortem field.

[AlertOps] Create a postmortem field. Request body fields (PostmortemField): field_name (string); required (boolean, required); active (boolean, required); sequence (integer, required); allow_ai_to_generate_content (boolean); prompt_to_generate_ai_content (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (PostmortemField): field_name (string); required (boolean, required); active (boolean, required); sequence (integer, required); allow_ai_to_generate_content (boolean); prompt_to_generate_ai_content (string).

[AlertOps] Delete a postmortem field. This DELETES data in AlertOps and cannot be undone from StackJack. The field disappears from every postmortem form, and answers already recorded against it are no longer collected.

ParamTypeRequiredDefaultDescription
idstringyesPostmortem Field ID or Postmortem Field Name
ParamTypeRequiredDefaultDescription
idstringyesPostmortem Field ID or Postmortem Field Name

[AlertOps] Update a postmortem field. Request body fields (PostmortemField): field_name (string); required (boolean, required); active (boolean, required); sequence (integer, required); allow_ai_to_generate_content (boolean); prompt_to_generate_ai_content (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (PostmortemField): field_name (string); required (boolean, required); active (boolean, required); sequence (integer, required); allow_ai_to_generate_content (boolean); prompt_to_generate_ai_content (string).
idstringyesPostmortem Field ID or Postmortem Field Name

Schedules

ToolPlanAccessSummary
alertops_create_scheduleProWriteCreate a schedule.
alertops_delete_scheduleProDestructiveDelete a schedule.
alertops_get_group_scheduleFreeRead-onlyGet one on-call schedule, including its rotation and its coverage times.
alertops_get_on_call_nowFreeRead-onlyGet who is on call right now for one or more groups.
alertops_list_group_schedulesFreeRead-onlyList a group's on-call schedules - the rotations that decide which member of the group is reachable at a given time.
alertops_update_scheduleProWriteUpdate a schedule.

[AlertOps] Create a schedule. Request body fields (ScheduleRequest): group (string); schedule_name (string); schedule_type (string); continuous (boolean, required); time_zone (string); color (string); start_date (DateTimeX); end_date (DateTimeX); start_weekday (string); end_weekday (string); schedule_weekdays (WeekDays); rotate_frequency (string); rotate_daily (RotationFrequencyDaily); rotate_weekly (RotationFrequencyWeekly); rotate_monthly (RotationFrequencyMonthly); repeat_schedule (RepeatSchedule); include_all_users_in_group (boolean, required); users (array<ScheduleUser>); enabled (boolean, required); is_holiday_notify (boolean). Additive: the rotation takes effect for alerts routed to the group from now on.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ScheduleRequest): group (string); schedule_name (string); schedule_type (string); continuous (boolean, required); time_zone (string); color (string); start_date (DateTimeX); end_date (DateTimeX); start_weekday (string); end_weekday (string); schedule_weekdays (WeekDays); rotate_frequency (string); rotate_daily (RotationFrequencyDaily); rotate_weekly (RotationFrequencyWeekly); rotate_monthly (RotationFrequencyMonthly); repeat_schedule (RepeatSchedule); include_all_users_in_group (boolean, required); users (array<ScheduleUser>); enabled (boolean, required); is_holiday_notify (boolean).

[AlertOps] Delete a schedule. This DELETES data in AlertOps and cannot be undone from StackJack. The group loses that coverage window. Alerts arriving in it fall through to whatever the escalation policy does next, which may be nobody.

ParamTypeRequiredDefaultDescription
groupIdstringyesGroup ID that owns the schedule, from alertops_list_groups.
scheduleIdstringyesSchedule ID, from alertops_list_group_schedules.
ParamTypeRequiredDefaultDescription
groupIdstringyesGroup ID that owns the schedule, from alertops_list_groups.
scheduleIdstringyesSchedule ID, from alertops_list_group_schedules.

[AlertOps] Get who is on call right now for one or more groups. This is the read to use before any change to a schedule, a group's membership or an escalation policy, because it answers the only question that matters at page time: who would this reach.

ParamTypeRequiredDefaultDescription
groupIdstringnonullGroup ID or name
ParamTypeRequiredDefaultDescription
groupIdstringyesGroup ID that owns the schedule, from alertops_list_groups.

[AlertOps] Update a schedule. Request body fields (ScheduleUpdateRequest): schedule_name (string); schedule_type (string); continuous (boolean, required); time_zone (string); color (string); start_date (DateTimeX); end_date (DateTimeX); start_weekday (string); end_weekday (string); schedule_weekdays (WeekDays); rotate_frequency (string); rotate_daily (RotationFrequencyDaily); rotate_weekly (RotationFrequencyWeekly); rotate_monthly (RotationFrequencyMonthly); repeat_schedule (RepeatSchedule); include_all_users_in_group (boolean, required); users (array<ScheduleUser>); enabled (boolean, required); is_holiday_notify (boolean). Changing a rotation changes who is paged tonight. Check the current answer with alertops_get_on_call_now before and after.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ScheduleUpdateRequest): schedule_name (string); schedule_type (string); continuous (boolean, required); time_zone (string); color (string); start_date (DateTimeX); end_date (DateTimeX); start_weekday (string); end_weekday (string); schedule_weekdays (WeekDays); rotate_frequency (string); rotate_daily (RotationFrequencyDaily); rotate_weekly (RotationFrequencyWeekly); rotate_monthly (RotationFrequencyMonthly); repeat_schedule (RepeatSchedule); include_all_users_in_group (boolean, required); users (array<ScheduleUser>); enabled (boolean, required); is_holiday_notify (boolean).
groupIdstringyesGroup ID that owns the schedule, from alertops_list_groups.
scheduleIdstringyesSchedule ID, from alertops_list_group_schedules.

Escalation Policies

ToolPlanAccessSummary
alertops_create_policyProWriteCreate an escalation policy.
alertops_create_policy_group_contact_notify_contact_methodProWriteAdd a contact method to a policy's group contact notifications.
alertops_create_policy_member_roleProWriteAdd a member role, or escalation tier, to a policy.
alertops_create_policy_member_role_contact_methodProWriteAdd a contact method to a member role on a policy.
alertops_create_policy_outbound_actionProDestructiveAdd an outbound action to a policy.
alertops_create_policy_outbound_integrationProDestructiveAttach an outbound integration to a policy.
alertops_create_policy_recipientProDestructiveAdd a recipient to a policy.
alertops_create_policy_workflowProWriteAttach a workflow to a policy.
alertops_delete_policyProDestructiveDelete an escalation policy.
alertops_delete_policy_group_contact_notify_contact_methodProDestructiveDelete a contact method from a policy's group contact notifications.
alertops_delete_policy_member_roleProDestructiveDelete a member role from a policy.
alertops_delete_policy_member_role_contact_methodProDestructiveDelete a contact method from a member role on a policy.
alertops_delete_policy_outbound_actionsProDestructiveDelete a policy's outbound actions.
alertops_delete_policy_outbound_integrationsProDestructiveDelete a policy's outbound integrations.
alertops_delete_policy_recipientsProDestructiveDelete a policy's recipients.
alertops_delete_policy_workflowsProDestructiveDelete a policy's attached workflows.
alertops_get_policyFreeRead-onlyGet one escalation policy, including its member roles, group contact notifications, attached workflows, outbound integrations, outbound actions and options.
alertops_get_policy_group_contact_notify_contact_methodFreeRead-onlyGet one contact method from a policy's group contact notifications.
alertops_get_policy_member_roleFreeRead-onlyGet one member role from a policy.
alertops_get_policy_member_role_contact_methodFreeRead-onlyGet one contact method from a member role on a policy.
alertops_list_policyFreeRead-onlyList escalation policies - the routing rules that decide which member roles, groups and recipients an alert reaches, in what order, with what wait times and retries.
alertops_list_policy_group_contact_notify_contact_methodsFreeRead-onlyList the contact methods on a policy's group contact notifications - the channels AlertOps uses when it notifies a group rather than an individual, with the wait time before each one fires.
alertops_list_policy_member_role_contact_methodsFreeRead-onlyList the contact methods on one member role of a policy - the channels that tier uses to reach a person, in sequence order, with their repeat settings.
alertops_list_policy_member_rolesFreeRead-onlyList a policy's member roles - the escalation tiers (for example Primary, Manager) that decide who is paged first, who is paged next, how long AlertOps waits between members, and how many times it…
alertops_list_policy_optionsFreeRead-onlyList a policy's options - its acknowledgement, assignment, escalate and close behavior, its SLA in hours, its reply-email settings and the message text used for its notifications.
alertops_list_policy_outbound_actionsFreeRead-onlyList the outbound actions wired onto a policy - the external dispatches it fires when an alert runs through it.
alertops_list_policy_outbound_integrationsFreeRead-onlyList the outbound integrations attached to a policy - the named external systems it pushes this policy's alerts into, with the interval each one re-fires on.
alertops_list_policy_recipientsFreeRead-onlyList a policy's recipients - the users and groups an alert routed to this policy will reach.
alertops_list_policy_workflowsFreeRead-onlyList the workflows attached to a policy.
alertops_update_policyProDestructiveUpdate an escalation policy.
alertops_update_policy_group_contact_notify_contact_methodProWriteUpdate one contact method on a policy's group contact notifications.
alertops_update_policy_member_roleProWriteUpdate a member role on a policy.
alertops_update_policy_member_role_contact_methodProDestructiveUpdate one contact method on a member role of a policy.
alertops_update_policy_notifyProDestructiveSwitch a policy between its own notification settings and the account's centralized ones.
alertops_update_policy_optionsProWriteUpdate a policy's options.
alertops_update_policy_outbound_integrationProDestructiveUpdate one outbound integration on a policy.
alertops_update_policy_statusProDestructiveEnable or disable an escalation policy.

[AlertOps] Create an escalation policy. Additive: the new policy contacts nobody at call time and only reaches people once an alert is routed to it. member_roles, group_contact_notifications, workflows, outbound_integrations, outbound_actions and options can be supplied inline here, or added afterwards with alertops_create_policy_member_role, alertops_create_policy_workflow, alertops_create_policy_outbound_integration and alertops_create_policy_outbound_action. Request body fields (EscalationRuleCreateRequest): escalation_policy_name (string); description (string); priority (string); enabled (boolean); quick_launch (boolean); notify_using_centralized_settings (boolean); member_roles (array<MemberRole>); wait_time_before_notifying_next_group_in_min (integer); group_contact_notifications (GroupContactNotifications); workflows (array<EscalationPolicyWorkflow>); outbound_integrations (array<OutboundIntegrationService>); outbound_actions (array<OutboundAction>); options (Options).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (EscalationRuleCreateRequest): escalation_policy_name (string); description (string); priority (string); enabled (boolean); quick_launch (boolean); notify_using_centralized_settings (boolean); member_roles (array<MemberRole>); wait_time_before_notifying_next_group_in_min (integer); group_contact_notifications (GroupContactNotifications); workflows (array<EscalationPolicyWorkflow>); outbound_integrations (array<OutboundIntegrationService>); outbound_actions (array<OutboundAction>); options (Options).

[AlertOps] Add a contact method to a policy's group contact notifications. Additive: nothing is sent at call time, and it takes effect on the next alert routed to this policy. contact_method_name is a NAME AlertOps already defines for the group, not an id. Check what is already there with alertops_list_policy_group_contact_notify_contact_methods. Request body fields (GroupContactMethod): contact_method_name (string); wait_time_in_mins (integer, required); to_bcc_or_cc (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (GroupContactMethod): contact_method_name (string); wait_time_in_mins (integer, required); to_bcc_or_cc (string).
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Add a member role, or escalation tier, to a policy. Additive: nobody is contacted at call time. wait_time_between_members_in_mins, no_of_retries and retry_interval are what decide how hard this tier pages, and contact_methods decides over which channels. Request body fields (MemberRole): member_role_type (string); wait_time_between_members_in_mins (integer, required); role_wait_time_in_mins (integer); no_of_retries (integer, required); retry_interval (integer, required); contact_methods (array<MemberRoleContactMethod>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (MemberRole): member_role_type (string); wait_time_between_members_in_mins (integer, required); role_wait_time_in_mins (integer); no_of_retries (integer, required); retry_interval (integer, required); contact_methods (array<MemberRoleContactMethod>).
idstringyesEscalation policy ID, from alertops_list_policy.

[AlertOps] Add a contact method to a member role on a policy. Additive: nothing is sent at call time. sequence decides the order the channels fire in, and repeat, repeat_times and repeat_minutes decide whether the channel keeps paging until someone responds. Request body fields (MemberRoleContactMethod): contact_method_name (string); wait_time_in_mins (integer, required); repeat (boolean, required); repeat_times (integer, required); repeat_minutes (integer, required); to_bcc_or_cc (string); sequence (integer, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (MemberRoleContactMethod): contact_method_name (string); wait_time_in_mins (integer, required); repeat (boolean, required); repeat_times (integer, required); repeat_minutes (integer, required); to_bcc_or_cc (string); sequence (integer, required).
idstringyesEscalation policy ID, from alertops_list_policy.
memberRoleTypestringyesMember role type NAME, not an id - for example Primary or Manager. StackJack percent-encodes it for you; list the valid values with alertops_list_policy_member_roles.

[AlertOps] Add an outbound action to a policy. This WIRES A LIVE EXTERNAL DISPATCH PATH onto the policy. It fires nothing at call time, so the blast radius is future alerts rather than this call: every alert routed through this policy from now on will fire it. Confirm the result with alertops_list_policy_outbound_actions. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Attach an outbound integration to a policy. This WIRES A LIVE EXTERNAL DISPATCH PATH onto the policy. It fires nothing at call time, so the blast radius is future alerts rather than this call: every alert routed through this policy from now on will be pushed to that external system. Confirm the result with alertops_list_policy_outbound_integrations. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Add a recipient to a policy. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. Beyond this call, every alert routed through this policy pages the recipient you add. Check who is already on it with alertops_list_policy_recipients first. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Attach a workflow to a policy. The workflow's own actions decide what happens when this policy runs, and those actions can post to a webhook or message users and groups, so read the workflow with alertops_get_workflow and alertops_list_workflow_actions before you attach it. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Delete an escalation policy. This DELETES data in AlertOps and cannot be undone from StackJack. Anything still routed to this policy stops reaching anyone, and that failure is silent - the alerts keep arriving and no human is paged. To take a policy out of service reversibly, use alertops_update_policy_status instead.

ParamTypeRequiredDefaultDescription
idstringyesEscalation policy ID, from alertops_list_policy.

[AlertOps] Delete a contact method from a policy's group contact notifications. This DELETES data in AlertOps and cannot be undone from StackJack. The group stops being notified over that channel - a lost paging path rather than an error - so list the remaining ones with alertops_list_policy_group_contact_notify_contact_methods afterwards.

ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Group SMS, SLACK GROUP - and StackJack percent-encodes the segment for you.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Delete a member role from a policy. This DELETES data in AlertOps and cannot be undone from StackJack. Removing a tier removes the people it paged, so alerts that used to escalate to them no longer will.

ParamTypeRequiredDefaultDescription
idstringyesEscalation policy ID, from alertops_list_policy.
memberRoleTypestringyesMember role type NAME, not an id - for example Primary or Manager. StackJack percent-encodes it for you; list the valid values with alertops_list_policy_member_roles.

[AlertOps] Delete a contact method from a member role on a policy. This DELETES data in AlertOps and cannot be undone from StackJack. That tier loses that paging channel, and if it was the tier's only one, the tier stops reaching anyone.

ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Group SMS, SLACK GROUP - and StackJack percent-encodes the segment for you.
idstringyesEscalation policy ID, from alertops_list_policy.
memberRoleTypestringyesMember role type NAME, not an id - for example Primary or Manager. StackJack percent-encodes it for you; list the valid values with alertops_list_policy_member_roles.

[AlertOps] Delete a policy's outbound actions. This DELETES data in AlertOps and cannot be undone from StackJack, and the external systems those actions dispatched to stop being told about this policy's alerts. List what is there with alertops_list_policy_outbound_actions first. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Delete a policy's outbound integrations. This DELETES data in AlertOps and cannot be undone from StackJack, and the external systems stop receiving this policy's alerts. To change one integration rather than remove them all, use alertops_update_policy_outbound_integration. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Delete a policy's recipients. This DELETES data in AlertOps and cannot be undone from StackJack. A policy with no recipients pages nobody: the alerts still arrive and still route, and no human is told. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Delete a policy's attached workflows. This DELETES data in AlertOps and cannot be undone from StackJack. The workflow definitions themselves survive - only the attachment to this policy is removed - but the automation they ran for this policy stops. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Get one escalation policy, including its member roles, group contact notifications, attached workflows, outbound integrations, outbound actions and options. The id parameter accepts the policy id OR the policy name; get either from alertops_list_policy.

ParamTypeRequiredDefaultDescription
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Get one contact method from a policy's group contact notifications. contactMethodName is a NAME, not an id, and the documented values contain spaces (for example Group Email); StackJack percent-encodes it for you. List the valid names with alertops_list_policy_group_contact_notify_contact_methods.

ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Group SMS, SLACK GROUP - and StackJack percent-encodes the segment for you.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Get one member role from a policy. memberRoleType is a NAME such as Primary or Manager, not an id; StackJack percent-encodes it for you. List the valid values with alertops_list_policy_member_roles.

ParamTypeRequiredDefaultDescription
idstringyesEscalation policy ID, from alertops_list_policy.
memberRoleTypestringyesMember role type NAME, not an id - for example Primary or Manager. StackJack percent-encodes it for you; list the valid values with alertops_list_policy_member_roles.

[AlertOps] Get one contact method from a member role on a policy. Both memberRoleType (for example Primary) and contactMethodName (for example Primary Email) are NAMES containing spaces, not ids; StackJack percent-encodes both for you. List the valid values with alertops_list_policy_member_roles and alertops_list_policy_member_role_contact_methods.

ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Group SMS, SLACK GROUP - and StackJack percent-encodes the segment for you.
idstringyesEscalation policy ID, from alertops_list_policy.
memberRoleTypestringyesMember role type NAME, not an id - for example Primary or Manager. StackJack percent-encodes it for you; list the valid values with alertops_list_policy_member_roles.

[AlertOps] List escalation policies - the routing rules that decide which member roles, groups and recipients an alert reaches, in what order, with what wait times and retries. Start here: every other tool in this family takes the escalation policy id or name this returns. PAGED BY OFFSET, NOT BY CURSOR: limit is the page size (AlertOps defaults to 10 and caps it at 100; StackJack clamps out-of-range values) and offset is the row to start at, so the second page of a 50-row page is offset 50. This endpoint has no next or previous cursor - only alertops_list_alerts uses those.

ParamTypeRequiredDefaultDescription
enabledbooleannonullDefault is both Enabled & Disabled. Valid values are true, false and empty string.
limitintegernonullPage size. AlertOps defaults to 10 and caps this at 100; StackJack clamps out-of-range values.
offsetintegernonullRow offset to start at (default 0). This endpoint pages by OFFSET, not by cursor: add your limit to the offset to get the next page.
searchstringnonullFree-text search filter. AlertOps documents no field list for it.
sortBystringnonullDefault is EscalationRule. Eg. EscalationRule or NotificationType or Priority. Default: escalationrule.
sortDirstringnonullDefault is asc. Eg. asc or desc. Default: asc.

[AlertOps] List the contact methods on a policy's group contact notifications - the channels AlertOps uses when it notifies a group rather than an individual, with the wait time before each one fires. Each row is addressed by contact method NAME, and the documented names contain spaces (for example Group Email, Group SMS, SLACK GROUP).

ParamTypeRequiredDefaultDescription
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] List the contact methods on one member role of a policy - the channels that tier uses to reach a person, in sequence order, with their repeat settings. Both memberRoleType and each contact method are addressed by NAME rather than by id.

ParamTypeRequiredDefaultDescription
idstringyesEscalation policy ID, from alertops_list_policy.
memberRoleTypestringyesMember role type NAME, not an id - for example Primary or Manager. StackJack percent-encodes it for you; list the valid values with alertops_list_policy_member_roles.

[AlertOps] List a policy's member roles - the escalation tiers (for example Primary, Manager) that decide who is paged first, who is paged next, how long AlertOps waits between members, and how many times it retries. member_role_type is a NAME, not an id.

ParamTypeRequiredDefaultDescription
idstringyesEscalation policy ID, from alertops_list_policy.
ParamTypeRequiredDefaultDescription
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] List the outbound actions wired onto a policy - the external dispatches it fires when an alert runs through it. Read this before and after alertops_create_policy_outbound_action or alertops_delete_policy_outbound_actions.

ParamTypeRequiredDefaultDescription
idstringyesEscalation Policy ID or Escalation Policy Name
ParamTypeRequiredDefaultDescription
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] List a policy's recipients - the users and groups an alert routed to this policy will reach. A policy with no recipients pages nobody, so an empty list here is the thing to look for when alerts arrive and no one responds.

ParamTypeRequiredDefaultDescription
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] List the workflows attached to a policy. This returns the attachments; the workflow definitions themselves, with their conditions and actions, come from alertops_get_workflow.

ParamTypeRequiredDefaultDescription
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Update an escalation policy. This is a WHOLESALE-REPLACE write: the body carries the policy's whole shape, so any field you omit is lost. Read the policy back with alertops_get_policy first and send the member_roles, workflows, outbound_integrations and outbound_actions collections complete, or you silently drop the escalation tiers that page people. The body also carries enabled, so this tool can disable a policy without going through alertops_update_policy_status. Request body fields (EscalationRuleUpdateRequest): escalation_policy_name (string); description (string); priority (string); enabled (boolean); quick_launch (boolean); notify_using_centralized_settings (boolean); member_roles (array<MemberRole>); wait_time_before_notifying_next_group_in_min (integer); group_contact_notifications (GroupContactNotifications); workflows (array<EscalationPolicyWorkflow>); outbound_integrations (array<OutboundIntegrationService>); outbound_actions (array<OutboundAction>); options (Options).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (EscalationRuleUpdateRequest): escalation_policy_name (string); description (string); priority (string); enabled (boolean); quick_launch (boolean); notify_using_centralized_settings (boolean); member_roles (array<MemberRole>); wait_time_before_notifying_next_group_in_min (integer); group_contact_notifications (GroupContactNotifications); workflows (array<EscalationPolicyWorkflow>); outbound_integrations (array<OutboundIntegrationService>); outbound_actions (array<OutboundAction>); options (Options).
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Update one contact method on a policy's group contact notifications. This changes the wait time before that channel fires and whether it is addressed TO, BCC or CC; nothing is sent at call time. Request body fields (GroupContactMethodUpdate): wait_time_in_mins (integer, required); to_bcc_or_cc (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (GroupContactMethodUpdate): wait_time_in_mins (integer, required); to_bcc_or_cc (string).
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Group SMS, SLACK GROUP - and StackJack percent-encodes the segment for you.
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Update a member role on a policy. Raising the wait times or lowering the retry counts slows down or weakens how this tier pages; nothing is sent at call time. contact_methods is a collection on this body, so read the role back with alertops_get_policy_member_role and send it complete. Request body fields (MemberRoleUpdateRequest): wait_time_between_members_in_mins (integer, required); role_wait_time_in_mins (integer); no_of_retries (integer, required); retry_interval (integer, required); contact_methods (array<MemberRoleContactMethod>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (MemberRoleUpdateRequest): wait_time_between_members_in_mins (integer, required); role_wait_time_in_mins (integer); no_of_retries (integer, required); retry_interval (integer, required); contact_methods (array<MemberRoleContactMethod>).
idstringyesEscalation Policy ID or Escalation Policy Name
memberRoleTypestringyesMember role type NAME, not an id - for example Primary or Manager. StackJack percent-encodes it for you; list the valid values with alertops_list_policy_member_roles.

[AlertOps] Update one contact method on a member role of a policy. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read it back with alertops_get_policy_member_role_contact_method first and send every field - an omitted repeat or sequence rewrites how hard, and in what order, this channel pages a human. Request body fields (MemberRoleContactMethodUpdate): wait_time_in_mins (integer, required); repeat (boolean, required); repeat_times (integer, required); repeat_minutes (integer, required); to_bcc_or_cc (string); sequence (integer, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (MemberRoleContactMethodUpdate): wait_time_in_mins (integer, required); repeat (boolean, required); repeat_times (integer, required); repeat_minutes (integer, required); to_bcc_or_cc (string); sequence (integer, required).
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Group SMS, SLACK GROUP - and StackJack percent-encodes the segment for you.
idstringyesEscalation Policy ID or Escalation Policy Name
memberRoleTypestringyesMember role type NAME, not an id - for example Primary or Manager. StackJack percent-encodes it for you; list the valid values with alertops_list_policy_member_roles.

[AlertOps] Switch a policy between its own notification settings and the account's centralized ones. THIS REACHES A HUMAN NOW: flipping notify_using_centralized_settings changes the settings AlertOps pages with, so the very next alert routed here can notify a different set of people over different channels. Do not call it to test behavior. Request body fields (EscalationPolicyNotifyRequest): notify_using_centralized_settings (boolean, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (EscalationPolicyNotifyRequest): notify_using_centralized_settings (boolean, required).
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Update a policy's options. sla_in_hours and the acknowledgement, escalate and close flags change when AlertOps escalates an unacknowledged alert, and one_email_per_message and one_message_per_recipient change how many messages a person gets. Nothing is sent at call time. Read the current values with alertops_list_policy_options first. Request body fields (OptionsUpdateRequest): acknowledgement (OptionFlags); assignment (OptionFlags); escalate (OptionFlags); close (OptionFlags); notification_settings (NotificationSettingsDTO); escalation_policy_name_for_reply (string); sla_in_hours (number, required); message_text (string); include_alert_id_in_subject (boolean, required); one_email_per_message (boolean, required); one_message_per_recipient (boolean, required); sequence_group_first (boolean, required); alert_type (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (OptionsUpdateRequest): acknowledgement (OptionFlags); assignment (OptionFlags); escalate (OptionFlags); close (OptionFlags); notification_settings (NotificationSettingsDTO); escalation_policy_name_for_reply (string); sla_in_hours (number, required); message_text (string); include_alert_id_in_subject (boolean, required); one_email_per_message (boolean, required); one_message_per_recipient (boolean, required); sequence_group_first (boolean, required); alert_type (string).
idstringyesEscalation Policy ID or Escalation Policy Name

[AlertOps] Update one outbound integration on a policy. This is a WHOLESALE-REPLACE write: actions replaces the whole action list, so an action you omit stops firing for this policy. Read the current list with alertops_list_policy_outbound_integrations first and send it back complete. interval_in_sec sets how often the integration re-fires; nothing is dispatched at call time. Get outboundIntegrationId from alertops_list_policy_outbound_integrations. Request body fields (OutboundIntegrationItemUpdate): interval_in_sec (integer, required); actions (array<OutboundIntegrationServiceAction>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (OutboundIntegrationItemUpdate): interval_in_sec (integer, required); actions (array<OutboundIntegrationServiceAction>).
idstringyesEscalation Policy ID or Escalation Policy Name
outboundIntegrationIdintegeryesOutbound integration ID, from alertops_list_policy_outbound_integrations.

[AlertOps] Enable or disable an escalation policy. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: with enabled false, a real incident routed here stops paging anyone and nothing reports an error. Disabling is the reversible alternative to alertops_delete_policy - re-enable with this same tool. Request body fields (ChangeEscalationPolicyStatusRequest): enabled (boolean, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ChangeEscalationPolicyStatusRequest): enabled (boolean, required).
idstringyesEscalation Policy ID or Escalation Policy Name

User Attributes

ToolPlanAccessSummary
alertops_create_user_attribute_definitionProWriteCreate a user attribute.
alertops_delete_user_attribute_definitionProDestructiveDelete a user attribute.
alertops_get_user_attribute_definitionFreeRead-onlyGet a user attribute.
alertops_list_user_attribute_definitionsFreeRead-onlyList the user attribute definitions - the custom fields every user record is filled in against.
alertops_update_user_attribute_definitionProWriteUpdate a user attribute.

[AlertOps] Create a user attribute. Request body fields (UserAttributeItemBase): attribute_name (string); user_attribute_data_type (string); reg_ex_validation (string); active (boolean, required); list_values (string); required (boolean, required); sequence (integer, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (UserAttributeItemBase): attribute_name (string); user_attribute_data_type (string); reg_ex_validation (string); active (boolean, required); list_values (string); required (boolean, required); sequence (integer, required).

[AlertOps] Delete a user attribute. This DELETES data in AlertOps and cannot be undone from StackJack. The attribute disappears from every user record, and any dynamic recipient rule that selected people by it stops matching.

ParamTypeRequiredDefaultDescription
idstringyesUser Attribute ID or User Attribute Name
ParamTypeRequiredDefaultDescription
idstringyesUser Attribute ID or User Attribute Name

[AlertOps] List the user attribute definitions - the custom fields every user record is filled in against. Set one user's own values with alertops_update_user_attribute_values.

[AlertOps] Update a user attribute. Request body fields (UserAttributeItemBase): attribute_name (string); user_attribute_data_type (string); reg_ex_validation (string); active (boolean, required); list_values (string); required (boolean, required); sequence (integer, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (UserAttributeItemBase): attribute_name (string); user_attribute_data_type (string); reg_ex_validation (string); active (boolean, required); list_values (string); required (boolean, required); sequence (integer, required).
idstringyesUser Attribute ID or User Attribute Name

Users

ToolPlanAccessSummary
alertops_create_userProDestructiveCreate a user.
alertops_create_user_contact_methodProWriteCreate a user's contact method.
alertops_create_user_contact_method_notification_timeProWriteCreate a user's contact method notification times.
alertops_create_user_out_of_officeProDestructiveCreate a user's out of office.
alertops_delete_userProDestructiveDelete a user.
alertops_delete_user_contact_methodProDestructiveDelete a user's contact method.
alertops_delete_user_contact_method_notification_timeProDestructiveDelete a user's contact method notification times.
alertops_delete_user_out_of_officeProDestructiveDelete a user's out of office.
alertops_get_userFreeRead-onlyGet one user, including their roles, contact methods and group membership.
alertops_get_user_contact_methodFreeRead-onlyGet a user's contact method.
alertops_get_user_out_of_officeFreeRead-onlyGet a user's out of office.
alertops_list_user_attribute_valuesFreeRead-onlyList one user's attribute values.
alertops_list_user_contact_method_notification_timesFreeRead-onlyList the notification times on one of a user's contact methods - the hours in which AlertOps is allowed to use that channel.
alertops_list_user_contact_methodsFreeRead-onlyList a user's contact methods - the channels AlertOps pages them over, in the order it tries them.
alertops_list_user_groupsFreeRead-onlyList the groups a user belongs to.
alertops_list_user_out_of_officeFreeRead-onlyList a user's out-of-office entries - the periods AlertOps skips them during an escalation.
alertops_list_user_rolesFreeRead-onlyList a user's roles - what they may do in AlertOps, which is separate from the escalation tiers that decide when they are paged.
alertops_list_user_schedulesFreeRead-onlyList the on-call schedules a user appears in, across every group.
alertops_list_usersFreeRead-onlyList users - the people AlertOps can page, each with the roles and contact methods that decide how they are reached.
alertops_update_userProDestructiveUpdate a user.
alertops_update_user_attribute_valuesProWriteUpdate a user's attributes.
alertops_update_user_contact_methodProDestructiveUpdate a user's contact method.
alertops_update_user_contact_method_notification_timeProDestructiveUpdate a user's contact method notification times.
alertops_update_user_out_of_officeProDestructiveUpdate a user's out of office.

[AlertOps] Create a user. This creates an identity or replaces a privilege-bearing object wholesale, so it can widen access. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"user_name":"string","first_name":"string","last_name":"string","locale":"string","time_zone":"string","type":"string","external_id":"string","contact_methods":[{"contact_method_name":"string","email":{"email_address":"string"},"phone":{"country_code":"string","phone_number":"string","extension":"string"},"sms":{"country_code":"string","phone_number":"string"},"gateway":{"provider":"string","address":"string"},"slack_dm":{"member_id":"string"},"wait_time_in_mins":0,"repeat":true,"repeat_times":0,"repeat_minutes":0,"notification_time24x7":true,"notification_times":[{"notification_time_id":0,"name":"string","sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"start_hour":0,"start_minute":0,"end_hour":0,"end_minute":0}],"enabled":true,"sequence":0}],"roles":["string"]} This creates a login-bearing identity, so it widens who can reach the account, not only who gets paged.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"user_name":"string","first_name":"string","last_name":"string","locale":"string","time_zone":"string","type":"string","external_id":"string","contact_methods":[{"contact_method_name":"string","email":{"email_address":"string"},"phone":{"country_code":"string","phone_number":"string","extension":"string"},"sms":{"country_code":"string","phone_number":"string"},"gateway":{"provider":"string","address":"string"},"slack_dm":{"member_id":"string"},"wait_time_in_mins":0,"repeat":true,"repeat_times":0,"repeat_minutes":0,"notification_time24x7":true,"notification_times":[{"notification_time_id":0,"name":"string","sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"start_hour":0,"start_minute":0,"end_hour":0,"end_minute":0}],"enabled":true,"sequence":0}],"roles":["string"]}

[AlertOps] Create a user's contact method. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"contact_method_name":"Phone-Official","email":null,"phone":{"country_code":"1","phone_number":"1234567890","extension":},"sms":null,"push_notification":null,"wait_time_in_mins":0,"repeat":false,"repeat_times":0,"repeat_minutes":0,"notification_time24x7":true,"notification_times":[{"notification_time_id":0,"name":,"sunday":false,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":false,"start_hour":9,"start_minute":0,"end_hour":18,"end_minute":0},{"notification_time_id":0,"name":"","sunday":false,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":false,"start_hour":8,"start_minute":0,"end_hour":18,"end_minute":0}],"enabled":false,"sequence":1} Additive: the channel is used on the next alert that pages this person, and nothing is sent at call time.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"contact_method_name":"Phone-Official","email":null,"phone":{"country_code":"1","phone_number":"1234567890","extension":},"sms":null,"push_notification":null,"wait_time_in_mins":0,"repeat":false,"repeat_times":0,"repeat_minutes":0,"notification_time24x7":true,"notification_times":[{"notification_time_id":0,"name":,"sunday":false,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":false,"start_hour":9,"start_minute":0,"end_hour":18,"end_minute":0},{"notification_time_id":0,"name":"","sunday":false,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":false,"start_hour":8,"start_minute":0,"end_hour":18,"end_minute":0}],"enabled":false,"sequence":1}
idstringyesUserID or User Name

[AlertOps] Create a user's contact method notification times. Request body fields (NotificationTime): name (string); sunday (boolean, required); monday (boolean, required); tuesday (boolean, required); wednesday (boolean, required); thursday (boolean, required); friday (boolean, required); saturday (boolean, required); start_hour (integer, required); start_minute (integer, required); end_hour (integer, required); end_minute (integer, required). Outside the times you set this channel is not used, so a narrow window is a paging gap rather than an error.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (NotificationTime): name (string); sunday (boolean, required); monday (boolean, required); tuesday (boolean, required); wednesday (boolean, required); thursday (boolean, required); friday (boolean, required); saturday (boolean, required); start_hour (integer, required); start_minute (integer, required); end_hour (integer, required); end_minute (integer, required).
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_user_contact_methods.
idstringyesUserID or User Name

[AlertOps] Create a user's out of office. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: a real incident stops paging anyone. Request body fields (UserOOFRequest): start_date (DateTimeX); end_date (DateTimeX); all_groups (boolean, required); covering_users (array<CoverUserXRequest>). For the period you set this person is skipped during escalation, so a tier where they are the only member pages nobody.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (UserOOFRequest): start_date (DateTimeX); end_date (DateTimeX); all_groups (boolean, required); covering_users (array<CoverUserXRequest>).
idstringyesUserID or User Name

[AlertOps] Delete a user. This DELETES data in AlertOps and cannot be undone from StackJack. Every escalation policy, group and schedule that pages this person stops reaching them, and where they were the only member of a tier that tier now pages nobody. To make someone temporarily unreachable, use alertops_create_user_out_of_office instead.

ParamTypeRequiredDefaultDescription
idstringyesUserID or User Name

[AlertOps] Delete a user's contact method. This DELETES data in AlertOps and cannot be undone from StackJack. This person stops being reachable over that channel. If it was their only one, they can no longer be paged at all.

ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_user_contact_methods.
idstringyesUserID or User Name

[AlertOps] Delete a user's contact method notification times. This DELETES data in AlertOps and cannot be undone from StackJack. Removing a window changes when this channel may be used, which can leave hours in which the person cannot be reached on it.

ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_user_contact_methods.
idstringyesUserID or User Name
notificationTimeIdintegeryesNotification time ID, from alertops_list_user_contact_method_notification_times.

[AlertOps] Delete a user's out of office. This DELETES data in AlertOps and cannot be undone from StackJack. The person becomes reachable again for that period.

ParamTypeRequiredDefaultDescription
idstringyesUserID or User Name
outOfOfficeIdintegeryesOut-of-office entry ID, from alertops_list_user_out_of_office.
ParamTypeRequiredDefaultDescription
idstringyesUserID or User Name
includestringnonullDefault Empty. Eg. Groups/Attributes/Groups,Attributes
ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_user_contact_methods.
idstringyesUserID or User Name
ParamTypeRequiredDefaultDescription
idstringyesUserID or User Name
outOfOfficeIdintegeryesOut-of-office entry ID, from alertops_list_user_out_of_office.

[AlertOps] List one user's attribute values. The fields available are defined by alertops_list_user_attribute_definitions.

ParamTypeRequiredDefaultDescription
idstringyesUserID or User Name
ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_user_contact_methods.
idstringyesUserID or User Name

[AlertOps] List a user's contact methods - the channels AlertOps pages them over, in the order it tries them. Each row is addressed by contact method NAME, not by id.

ParamTypeRequiredDefaultDescription
idstringyesUserID or User Name

[AlertOps] List the groups a user belongs to. This is the fastest way to see what would page this person, because escalation policies route to groups rather than to individuals.

ParamTypeRequiredDefaultDescription
idstringyesUserID or User Name
ParamTypeRequiredDefaultDescription
idstringyesUserID or User Name
ParamTypeRequiredDefaultDescription
idstringyesUserID or User Name
ParamTypeRequiredDefaultDescription
endDatestringnonullEnd Date. Default value is 90 days from today. Date Format 'yyyy-MM-dd'
idstringyesUserID or User Name
startDatestringnonullStart Date. Default value is today. Date Format 'yyyy-MM-dd'

[AlertOps] List users - the people AlertOps can page, each with the roles and contact methods that decide how they are reached. Start here: every other tool in this family takes the user id this returns. Paginated by OFFSET, NOT by cursor: limit is the page size (AlertOps defaults to 10 and caps it at 100; StackJack clamps out-of-range values) and offset is the row to start at, so the page after a 50-row page is offset 50. This endpoint returns no next or previous cursor - only alertops_list_alerts uses those.

ParamTypeRequiredDefaultDescription
includestringnonullDefault Empty. Eg. Roles
limitintegernonullPage size. AlertOps defaults to 10 and caps this at 100; StackJack clamps out-of-range values.
offsetintegernonullDefault is 0. Offset to start pagination search results. Default: 0.
rolestringnonullFilter by role name. AlertOps documents no value list for it; read the roles a given user actually holds with alertops_list_user_roles.
searchstringnonullFree-text search filter. AlertOps documents no field list for it.
sortBystringnonullDefault is UserName. Eg. UserName or LastName or FirstName or LastLoginDate or Roles
sortDirstringnonullDefault is asc. Eg. asc or desc

[AlertOps] Update a user. This creates an identity or replaces a privilege-bearing object wholesale, so it can widen access. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"user_name":"string","first_name":"string","last_name":"string","locale":"string","time_zone":"string","external_id":"string","contact_methods":[{"contact_method_name":"string","email":{"email_address":"string"},"phone":{"country_code":"string","phone_number":"string","extension":"string"},"sms":{"country_code":"string","phone_number":"string"},"gateway":{"provider":"string","address":"string"},"push_notification":{"platform":"string"},"slack_dm":{"member_id":"string"},"wait_time_in_mins":0,"repeat":true,"repeat_times":0,"repeat_minutes":0,"notification_time24x7":true,"notification_times":[{"notification_time_id":0,"name":"string","sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"start_hour":0,"start_minute":0,"end_hour":0,"end_minute":0}],"enabled":true,"sequence":0}],"roles":["string"]} Read the user back with alertops_get_user first and send the body complete: an omitted collection can silently strip roles or contact methods, which changes both their access and whether they can be paged.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"user_name":"string","first_name":"string","last_name":"string","locale":"string","time_zone":"string","external_id":"string","contact_methods":[{"contact_method_name":"string","email":{"email_address":"string"},"phone":{"country_code":"string","phone_number":"string","extension":"string"},"sms":{"country_code":"string","phone_number":"string"},"gateway":{"provider":"string","address":"string"},"push_notification":{"platform":"string"},"slack_dm":{"member_id":"string"},"wait_time_in_mins":0,"repeat":true,"repeat_times":0,"repeat_minutes":0,"notification_time24x7":true,"notification_times":[{"notification_time_id":0,"name":"string","sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"start_hour":0,"start_minute":0,"end_hour":0,"end_minute":0}],"enabled":true,"sequence":0}],"roles":["string"]}
idstringyesUserID or User Name

[AlertOps] Update a user's attributes. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesUserID or User Name

[AlertOps] Update a user's contact method. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read the object first and send it back complete. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"email":null,"phone":{"country_code":"1","phone_number":"1234567890","extension":""},"sms":null,"push_notification":null,"wait_time_in_mins":0,"repeat":false,"repeat_times":0,"repeat_minutes":0,"notification_time24x7":true,"notification_times":[{"notification_time_id":10,"name":"Notification Schedule 1","sunday":false,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":false,"start_hour":9,"start_minute":0,"end_hour":18,"end_minute":0},{"notification_time_id":20,"name":"Notification Schedule 2","sunday":false,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":false,"start_hour":8,"start_minute":0,"end_hour":18,"end_minute":0}],"enabled":false,"sequence":1}

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"email":null,"phone":{"country_code":"1","phone_number":"1234567890","extension":""},"sms":null,"push_notification":null,"wait_time_in_mins":0,"repeat":false,"repeat_times":0,"repeat_minutes":0,"notification_time24x7":true,"notification_times":[{"notification_time_id":10,"name":"Notification Schedule 1","sunday":false,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":false,"start_hour":9,"start_minute":0,"end_hour":18,"end_minute":0},{"notification_time_id":20,"name":"Notification Schedule 2","sunday":false,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":false,"start_hour":8,"start_minute":0,"end_hour":18,"end_minute":0}],"enabled":false,"sequence":1}
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_user_contact_methods.
idstringyesUserID or User Name

[AlertOps] Update a user's contact method notification times. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read the object first and send it back complete. Request body fields (NotificationTime): name (string); sunday (boolean, required); monday (boolean, required); tuesday (boolean, required); wednesday (boolean, required); thursday (boolean, required); friday (boolean, required); saturday (boolean, required); start_hour (integer, required); start_minute (integer, required); end_hour (integer, required); end_minute (integer, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (NotificationTime): name (string); sunday (boolean, required); monday (boolean, required); tuesday (boolean, required); wednesday (boolean, required); thursday (boolean, required); friday (boolean, required); saturday (boolean, required); start_hour (integer, required); start_minute (integer, required); end_hour (integer, required); end_minute (integer, required).
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_user_contact_methods.
idstringyesUserID or User Name
notificationTimeIdintegeryesNotification time ID, from alertops_list_user_contact_method_notification_times.

[AlertOps] Update a user's out of office. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: a real incident stops paging anyone. Request body fields (UserOOFRequest): start_date (DateTimeX); end_date (DateTimeX); all_groups (boolean, required); covering_users (array<CoverUserXRequest>). Widening the period widens the time this person is skipped during escalation.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (UserOOFRequest): start_date (DateTimeX); end_date (DateTimeX); all_groups (boolean, required); covering_users (array<CoverUserXRequest>).
idstringyesUserID or User Name
outOfOfficeIdintegeryesOut-of-office entry ID, from alertops_list_user_out_of_office.

Groups

ToolPlanAccessSummary
alertops_create_groupProWriteCreate a group.
alertops_create_group_contact_methodProWriteCreate a group's contact method.
alertops_create_group_memberProWriteAdd members to a group.
alertops_create_group_topicProWriteAdd topics to a group.
alertops_delete_groupProDestructiveDelete a group.
alertops_delete_group_all_membersProDestructiveDelete members from a group.
alertops_delete_group_contact_methodProDestructiveDelete a group's contact method.
alertops_delete_group_memberProDestructiveDelete a member from a group.
alertops_delete_group_topicProDestructiveDelete a topic from a group.
alertops_get_groupFreeRead-onlyGet one group, including its members, contact methods and topics.
alertops_get_group_contact_methodFreeRead-onlyGet a group's contact method.
alertops_get_group_memberFreeRead-onlyGet a group's member.
alertops_get_group_topicFreeRead-onlyGet a group's topic.
alertops_list_group_contact_methodsFreeRead-onlyList a group's contact methods - the channels AlertOps uses when it notifies the group as a unit.
alertops_list_group_membersFreeRead-onlyList a group's members.
alertops_list_group_topicsFreeRead-onlyList a group's topics - the subject labels that decide which alerts this group is subscribed to.
alertops_list_groupsFreeRead-onlyList groups - the named sets of users, and of other groups, that an escalation policy can page as a unit.
alertops_update_groupProDestructiveUpdate a group.
alertops_update_group_contact_methodProDestructiveUpdate a group's contact method.
alertops_update_group_memberProDestructiveUpdate a member in a group.

[AlertOps] Create a group. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"group_name":"Group Name Sample 1","dynamic":false,"description":["TEST","test1"],"members":[{"member_type":"User","member":"testuser1","sequence":1,"roles":["Primary","Manager"]},{"member_type":"User","member":"testuser2","sequence":2,"roles":["Primary","Manager"]},{"member_type":"Group","member":"Existing Group Name","sequence":3,"roles":null}],"contact_methods":[{"email_address":"someone@somedomain.com","contact_method_name":"Primary Email","enabled":false,"sequence":1},{"country_code":"1","phone_number":"1234567890","extension":"2345","contact_method_name":"Primary Phone","enabled":false,"sequence":2},{"email_address":"someone@somedomain.com","contact_method_name":"Pager","enabled":false,"sequence":3},{"country_code":"1","phone_number":"1234567890","contact_method_name":"Group SMS","enabled":false,"sequence":4},{"url":"https://somedoamin.com","get_alert_update":false,"contact_method_name":"SLACK GROUP","enabled":true,"sequence":5}],"topics":["Valid Topic Name1","Valid Topic Name2"],"attributes":[{"attribute_name":"Attribute Name","attribute_value":"attribute value"}]} Additive: the new group pages nobody until an escalation policy or an integration routes an alert to it.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"group_name":"Group Name Sample 1","dynamic":false,"description":["TEST","test1"],"members":[{"member_type":"User","member":"testuser1","sequence":1,"roles":["Primary","Manager"]},{"member_type":"User","member":"testuser2","sequence":2,"roles":["Primary","Manager"]},{"member_type":"Group","member":"Existing Group Name","sequence":3,"roles":null}],"contact_methods":[{"email_address":"someone@somedomain.com","contact_method_name":"Primary Email","enabled":false,"sequence":1},{"country_code":"1","phone_number":"1234567890","extension":"2345","contact_method_name":"Primary Phone","enabled":false,"sequence":2},{"email_address":"someone@somedomain.com","contact_method_name":"Pager","enabled":false,"sequence":3},{"country_code":"1","phone_number":"1234567890","contact_method_name":"Group SMS","enabled":false,"sequence":4},{"url":"https://somedoamin.com","get_alert_update":false,"contact_method_name":"SLACK GROUP","enabled":true,"sequence":5}],"topics":["Valid Topic Name1","Valid Topic Name2"],"attributes":[{"attribute_name":"Attribute Name","attribute_value":"attribute value"}]}

[AlertOps] Create a group's contact method. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"country_code":"1","phone_number":"1234567890","extension":"2345","contact_method_name":"Primary Phone","enabled":false,"sequence":1} Additive: the channel is used on the next alert routed to this group, and nothing is sent at call time.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. THE SHAPE DEPENDS ON contact_method_name: an email method carries email_address, while a phone or SMS method carries country_code, phone_number and extension. Read the combinations this group already uses with alertops_list_group_contact_methods. AlertOps publishes no schema, only this example: {"country_code":"1","phone_number":"1234567890","extension":"2345","contact_method_name":"Primary Phone","enabled":false,"sequence":1}
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] Add members to a group. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint. Additive: the added members are paged on the next alert routed to this group, not at call time.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] Add topics to a group. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"topics":["Valid Topic Name1","Valid Topic Name2"]}

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"topics":["Valid Topic Name1","Valid Topic Name2"]}
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] Delete a group. This DELETES data in AlertOps and cannot be undone from StackJack. Any escalation policy still routing to this group stops reaching anyone, and that failure is silent: the alerts keep arriving and no human is paged.

ParamTypeRequiredDefaultDescription
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] Delete members from a group. This DELETES data in AlertOps and cannot be undone from StackJack. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint. This empties the WHOLE membership in one call, not one member. The group survives with nobody in it, so every policy still routing to it pages no-one, silently. To remove one member use alertops_delete_group_member.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] Delete a group's contact method. This DELETES data in AlertOps and cannot be undone from StackJack. The group stops being notified over that channel - a lost paging path rather than an error - so list what remains with alertops_list_group_contact_methods afterwards.

ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_group_contact_methods.
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] Delete a member from a group. This DELETES data in AlertOps and cannot be undone from StackJack. That person stops being paged by every escalation policy that routes to this group. To empty the group entirely use alertops_delete_group_all_members.

ParamTypeRequiredDefaultDescription
idstringyesGroup ID, from alertops_list_groups.
memberIdstringyesUsername/ID or GroupName/ID
memberTypestringyesUser or Group

[AlertOps] Delete a topic from a group. This DELETES data in AlertOps and cannot be undone from StackJack. The group stops receiving alerts carrying that topic.

ParamTypeRequiredDefaultDescription
idstringyesGroup ID, from alertops_list_groups.
topicIdstringyesTopic ID, from alertops_list_group_topics.
ParamTypeRequiredDefaultDescription
idstringyesGroup ID, from alertops_list_groups.
ParamTypeRequiredDefaultDescription
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_group_contact_methods.
idstringyesGroup ID, from alertops_list_groups.
ParamTypeRequiredDefaultDescription
idstringyesGroup ID, from alertops_list_groups.
memberIdstringyesUsername/ID or GroupName/ID
memberTypestringyesUser or Group
ParamTypeRequiredDefaultDescription
idstringyesGroup ID, from alertops_list_groups.
topicIdstringyesTopic ID, from alertops_list_group_topics.

[AlertOps] List a group's contact methods - the channels AlertOps uses when it notifies the group as a unit. Each row is addressed by contact method NAME, not by id.

ParamTypeRequiredDefaultDescription
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] List a group's members. A member is a user or another group, so groups nest and an alert routed here can reach people one level down.

ParamTypeRequiredDefaultDescription
idstringyesGroup ID, from alertops_list_groups.
ParamTypeRequiredDefaultDescription
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] List groups - the named sets of users, and of other groups, that an escalation policy can page as a unit. Start here: every other tool in this family takes the group id this returns. Paginated by OFFSET, NOT by cursor: limit is the page size (AlertOps defaults to 10 and caps it at 100; StackJack clamps out-of-range values) and offset is the row to start at, so the page after a 50-row page is offset 50. This endpoint returns no next or previous cursor - only alertops_list_alerts uses those.

ParamTypeRequiredDefaultDescription
includestringnonullDefault is Empty. To include more information. Eg. topics
limitintegernonullPage size. AlertOps defaults to 10 and caps this at 100; StackJack clamps out-of-range values.
offsetintegernonullDefault is 0. Offset to start pagination search results. Default: 0.
searchstringnonullFree-text search filter. AlertOps documents no field list for it.
sortBystringnonullDefault is GroupName. Eg. GroupName or Description
sortDirstringnonullDefault is asc. Eg. asc or desc

[AlertOps] Update a group. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read the object first and send it back complete. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"group_name":"Group Name Sample 1","description":["TEST","test1"],"members":[{"member_type":"User","member":"testuser1","sequence":1,"roles":["Primary","Manager"]},{"member_type":"User","member":"testuser2","sequence":2,"roles":["Primary","Manager"]},{"member_type":"Group","member":"Existing Group Name","sequence":3,"roles":null}],"contact_methods":[{"email_address":"someone@somedomain.com","contact_method_name":"Primary Email","enabled":false,"sequence":1},{"country_code":"1","phone_number":"1234567890","extension":"2345","contact_method_name":"Primary Phone","enabled":false,"sequence":2},{"email_address":"someone@somedomain.com","contact_method_name":"Pager","enabled":false,"sequence":3},{"country_code":"1","phone_number":"1234567890","contact_method_name":"Group SMS","enabled":false,"sequence":4},{"url":"https://somedoamin.com","get_alert_update":false,"contact_method_name":"SLACK GROUP","enabled":true,"sequence":6}],"topics":["Valid Topic Name1","Valid Topic Name2"],"attributes":[{"attribute_name":"Attribute Name","attribute_value":"attribute value"}]} The members and contact_methods collections are part of that whole shape, so read the group back with alertops_get_group first - omitting them removes the people this group pages.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"group_name":"Group Name Sample 1","description":["TEST","test1"],"members":[{"member_type":"User","member":"testuser1","sequence":1,"roles":["Primary","Manager"]},{"member_type":"User","member":"testuser2","sequence":2,"roles":["Primary","Manager"]},{"member_type":"Group","member":"Existing Group Name","sequence":3,"roles":null}],"contact_methods":[{"email_address":"someone@somedomain.com","contact_method_name":"Primary Email","enabled":false,"sequence":1},{"country_code":"1","phone_number":"1234567890","extension":"2345","contact_method_name":"Primary Phone","enabled":false,"sequence":2},{"email_address":"someone@somedomain.com","contact_method_name":"Pager","enabled":false,"sequence":3},{"country_code":"1","phone_number":"1234567890","contact_method_name":"Group SMS","enabled":false,"sequence":4},{"url":"https://somedoamin.com","get_alert_update":false,"contact_method_name":"SLACK GROUP","enabled":true,"sequence":6}],"topics":["Valid Topic Name1","Valid Topic Name2"],"attributes":[{"attribute_name":"Attribute Name","attribute_value":"attribute value"}]}
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] Update a group's contact method. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read the object first and send it back complete. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"url":"https://somedomain.com","get_alert_update":false,"enabled":true,"sequence":2}

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. THE SHAPE DEPENDS ON the contact type: an email method carries email_address, while a phone or SMS method carries country_code, phone_number and extension. Read the method back with alertops_get_group_contact_method first and send it complete. AlertOps publishes no schema, only this example: {"url":"https://somedomain.com","get_alert_update":false,"enabled":true,"sequence":2}
contactMethodNamestringyesContact method NAME, not an id. The documented values contain spaces - for example Primary Email, Primary Phone, Group SMS - and StackJack percent-encodes the segment for you. List the valid names with alertops_list_group_contact_methods.
idstringyesGroup ID, from alertops_list_groups.

[AlertOps] Update a member in a group. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read the object first and send it back complete. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"sequence":1,"roles":["Primary","Manager"]}

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"sequence":1,"roles":["Primary","Manager"]}
idstringyesGroup ID, from alertops_list_groups.
memberIdstringyesUsername/ID or GroupName/ID
memberTypestringyesUser or Group

Inbound Integrations

ToolPlanAccessSummary
alertops_create_inboundProWriteCreate an inbound integration.
alertops_delete_inboundProDestructiveDelete an inbound integration.
alertops_delete_inbound_filterProDestructiveDelete an inbound integration's filter.
alertops_delete_inbound_policy_overridesProDestructiveDelete inbound integration's escalation policy overrides.
alertops_delete_inbound_policy_overrides_todProDestructiveDelete an inbound integration's escalation policy override.
alertops_get_inboundFreeRead-onlyGet one inbound integration, including its escalation policy, recipient groups and users, and its API, email, chat or heartbeat settings.
alertops_get_inbound_delaying_or_groupingFreeRead-onlyGet an inbound integration's delaying and grouping rules - how long AlertOps holds an incoming event before it pages, and which events it folds into one alert.
alertops_get_inbound_eventFreeRead-onlyGet one inbound event log entry - the raw payload AlertOps received and what it did with it.
alertops_get_inbound_mappingFreeRead-onlyGet an inbound integration's field mapping - how fields on the incoming payload become the alert's subject, body and attributes.
alertops_get_inbound_policy_overrides_todFreeRead-onlyGet an inbound integration's escalation policy override.
alertops_list_inboundFreeRead-onlyList inbound integrations - the routes an external monitoring system uses to raise alerts in AlertOps.
alertops_list_inbound_dynamic_recipientsFreeRead-onlyList an inbound integration's dynamic recipient groups - the groups chosen per event from the incoming payload rather than fixed on the integration.
alertops_list_inbound_filtersFreeRead-onlyList an inbound integration's filters - the conditions that decide which incoming events raise an alert and which are dropped.
alertops_list_inbound_policy_overridesFreeRead-onlyList an inbound integration's escalation policy overrides - the rules that send events from this route down a different policy than the integration's default.
alertops_list_inbound_policy_overrides_todFreeRead-onlyList an inbound integration's time-of-day escalation policy overrides - the rules that route events to a different policy inside a given time window.
alertops_update_inboundProDestructiveUpdate an inbound integration.
alertops_update_inbound_delaying_or_groupingProWriteUpdate an inbound integration's delaying/grouping.
alertops_update_inbound_dynamic_recipientsProDestructiveUpdate an inbound integration's dynamic recipient groups.
alertops_update_inbound_statusProDestructiveChange an inbound integration's status.

[AlertOps] Create an inbound integration. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"inbound_integration_name":"string","type":"string","sequence":0,"enabled":true,"escalation_policy":"string","recipient_groups":["string"],"recipient_users":["string"],"bridge":{"telephone_number":"string","access_code":"string"},"inbound_template_id":0,"api_settings":{"is_bidirection":true,"url_mapping":{"method":"string","content":"string","source":"string","source_name":"string","static":true,"source_value":"string","source_id":"string","source_url":"string","severity":"string","source_status":"string","assignee":"string","open_alert_when":{"field_name":"string","type":"string","values":["string"]},"close_alert_when":{"type":"string","values":["string"]},"update_alert_when":{"type":"string","values":["string"]},"long_text":"string","short_text":"string","subject":"string","recipient_user":"string","recipient_group":"string","topic":"string","sample_data":"string","sample_field_value":,"custom_alert_fields":[{"attribute_name":"string","attribute_value":"string","required":true}],"attachments":{"base_path":"string","url":"string","file_name":"string","is_link":true,"is_collection":true}},"alert_tags":{"business_service":"string","component_type":"string","component_name":"string","data_center":"string","environment":"string","problem_type":"string"},"delaying_or_grouping":{"delaying_rule":{"delay":true,"delay_notifications_for_every_x_alerts":{"every_x_alerts":0},"delay_notifications_for_every_x_minutes":{"every_x_minutes":0},"delay_notifications_for_every_x_alerts_within_x_minutes":{"every_x_alerts":0,"every_x_minutes":0},"delay_notifications_until_support_hours":{"weekly_schedules":[{"name":"string","days_of_week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0}}]}},"grouping_rule":{"group":true,"grouping_with_in_x_minutes":{"every_x_minutes":0}}},"filters_to_match_json_or_form_fields":{"add_all_filter":{"filters":[{"filter_id":0,"condition":{"field_name":"string","type":"string"},"not":true}]},"add_any_filter":{"filters":[{"filter_id":0,"condition":{"field_name":"string","type":"string"},"not":true}]}},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"},"based_on_source_data":[{"condition":{"field_name":"string","type":"string","value":"string"},"escalation_policy_id":"string","escalation_policy_name":"string"}]},"dynamic_recipient_groups":[{"condition":{"field_name":"string","type":"string","value":"string"},"recipient_group":"string","group_name":"string"}]},"mail_box":"string","email_settings":{"email_mapping":{"every_incoming_email_will_open_an_alert":true,"source_name":{"field_name":"string","start_tag":"string","end_tag":"string"},"source_identifier":{"field_name":"string","start_tag":"string","end_tag":"string"},"open_alert_when":{"field_name":"string","type":"string","values":["string"]},"close_alert_when":{"type":"string","values":["string"]},"update_alert_when":{"type":"string","values":["string"]},"ignore_duplicates":true,"long_text":{"field_name":"string","start_tag":"string","end_tag":"string"},"short_text":{"field_name":"string","start_tag":"string","end_tag":"string"},"source_url":{"field_name":"string","start_tag":"string","end_tag":"string"},"assignee_mail_official":{"field_name":"string","start_tag":"string","end_tag":"string"},"recipient_user":{"field_name":"string","start_tag":"string","end_tag":"string"},"recipient_groups":{"field_name":"string","start_tag":"string","end_tag":"string"},"topic":{"field_name":"string","start_tag":"string","end_tag":"string"},"custom_alert_fields":[{"attribute_name":"string","attribute_value":"string","required":true,"attribute_data_type":"string","start_tag":"string","end_tag":"string"}],"long_message_text":"string","short_message_text":"string","sample_data":"string"},"alert_tags":{"business_service":{"field_name":"string","start_tag":"string","end_tag":"string"},"component_type":{"field_name":"string","start_tag":"string","end_tag":"string"},"component_name":{"field_name":"string","start_tag":"string","end_tag":"string"},"data_center":{"field_name":"string","start_tag":"string","end_tag":"string"},"environment":{"field_name":"string","start_tag":"string","end_tag":"string"},"problem_type":{"field_name":"string","start_tag":"string","end_tag":"string"}},"delaying_or_grouping":{"delaying_rule":{"delay":true,"delay_notifications_for_every_x_alerts":{"every_x_alerts":0},"delay_notifications_for_every_x_minutes":{"every_x_minutes":0},"delay_notifications_for_every_x_alerts_within_x_minutes":{"every_x_alerts":0,"every_x_minutes":0},"delay_notifications_until_support_hours":{"weekly_schedules":[{"name":"string","days_of_week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0}}]}},"grouping_rule":{"group":true,"grouping_with_in_x_minutes":{"every_x_minutes":0}}},"filters_to_match_incoming_emails":{"subject_filters":[{"filter_id":0,"condition":{"type":"string","value":"string"},"and":true,"not":true}],"body_filters":[{"filter_id":0,"condition":{"type":"string","value":"string"},"and":true,"not":true}],"sender_or_recipient_filters":[{"filter_id":0,"recipient_name":"string","recipient_address":"string","recipient_type":"string","and":true,"not":true}],"priority_filters":[{"filter_id":0,"priority":"string","and":true,"not":true}]},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"},"based_on_source_data":[{"condition":{"field_name":"string","type":"string","value":"string"},"escalation_policy_id":"string","escalation_policy_name":"string"}]},"dynamic_recipient_groups":[{"condition":{"field_name":"string","type":"string","value":"string"},"recipient_group":"string","group_name":"string"}]},"chat_settings":{"url_mapping":{"source":"string","source_name":"string","static":true,"source_value":"string"},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"}}},"heartbeat_settings":{"heartbeat_interval_in_min":0}} Additive: the route exists but raises nothing until the external system posts to it.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"inbound_integration_name":"string","type":"string","sequence":0,"enabled":true,"escalation_policy":"string","recipient_groups":["string"],"recipient_users":["string"],"bridge":{"telephone_number":"string","access_code":"string"},"inbound_template_id":0,"api_settings":{"is_bidirection":true,"url_mapping":{"method":"string","content":"string","source":"string","source_name":"string","static":true,"source_value":"string","source_id":"string","source_url":"string","severity":"string","source_status":"string","assignee":"string","open_alert_when":{"field_name":"string","type":"string","values":["string"]},"close_alert_when":{"type":"string","values":["string"]},"update_alert_when":{"type":"string","values":["string"]},"long_text":"string","short_text":"string","subject":"string","recipient_user":"string","recipient_group":"string","topic":"string","sample_data":"string","sample_field_value":,"custom_alert_fields":[{"attribute_name":"string","attribute_value":"string","required":true}],"attachments":{"base_path":"string","url":"string","file_name":"string","is_link":true,"is_collection":true}},"alert_tags":{"business_service":"string","component_type":"string","component_name":"string","data_center":"string","environment":"string","problem_type":"string"},"delaying_or_grouping":{"delaying_rule":{"delay":true,"delay_notifications_for_every_x_alerts":{"every_x_alerts":0},"delay_notifications_for_every_x_minutes":{"every_x_minutes":0},"delay_notifications_for_every_x_alerts_within_x_minutes":{"every_x_alerts":0,"every_x_minutes":0},"delay_notifications_until_support_hours":{"weekly_schedules":[{"name":"string","days_of_week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0}}]}},"grouping_rule":{"group":true,"grouping_with_in_x_minutes":{"every_x_minutes":0}}},"filters_to_match_json_or_form_fields":{"add_all_filter":{"filters":[{"filter_id":0,"condition":{"field_name":"string","type":"string"},"not":true}]},"add_any_filter":{"filters":[{"filter_id":0,"condition":{"field_name":"string","type":"string"},"not":true}]}},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"},"based_on_source_data":[{"condition":{"field_name":"string","type":"string","value":"string"},"escalation_policy_id":"string","escalation_policy_name":"string"}]},"dynamic_recipient_groups":[{"condition":{"field_name":"string","type":"string","value":"string"},"recipient_group":"string","group_name":"string"}]},"mail_box":"string","email_settings":{"email_mapping":{"every_incoming_email_will_open_an_alert":true,"source_name":{"field_name":"string","start_tag":"string","end_tag":"string"},"source_identifier":{"field_name":"string","start_tag":"string","end_tag":"string"},"open_alert_when":{"field_name":"string","type":"string","values":["string"]},"close_alert_when":{"type":"string","values":["string"]},"update_alert_when":{"type":"string","values":["string"]},"ignore_duplicates":true,"long_text":{"field_name":"string","start_tag":"string","end_tag":"string"},"short_text":{"field_name":"string","start_tag":"string","end_tag":"string"},"source_url":{"field_name":"string","start_tag":"string","end_tag":"string"},"assignee_mail_official":{"field_name":"string","start_tag":"string","end_tag":"string"},"recipient_user":{"field_name":"string","start_tag":"string","end_tag":"string"},"recipient_groups":{"field_name":"string","start_tag":"string","end_tag":"string"},"topic":{"field_name":"string","start_tag":"string","end_tag":"string"},"custom_alert_fields":[{"attribute_name":"string","attribute_value":"string","required":true,"attribute_data_type":"string","start_tag":"string","end_tag":"string"}],"long_message_text":"string","short_message_text":"string","sample_data":"string"},"alert_tags":{"business_service":{"field_name":"string","start_tag":"string","end_tag":"string"},"component_type":{"field_name":"string","start_tag":"string","end_tag":"string"},"component_name":{"field_name":"string","start_tag":"string","end_tag":"string"},"data_center":{"field_name":"string","start_tag":"string","end_tag":"string"},"environment":{"field_name":"string","start_tag":"string","end_tag":"string"},"problem_type":{"field_name":"string","start_tag":"string","end_tag":"string"}},"delaying_or_grouping":{"delaying_rule":{"delay":true,"delay_notifications_for_every_x_alerts":{"every_x_alerts":0},"delay_notifications_for_every_x_minutes":{"every_x_minutes":0},"delay_notifications_for_every_x_alerts_within_x_minutes":{"every_x_alerts":0,"every_x_minutes":0},"delay_notifications_until_support_hours":{"weekly_schedules":[{"name":"string","days_of_week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0}}]}},"grouping_rule":{"group":true,"grouping_with_in_x_minutes":{"every_x_minutes":0}}},"filters_to_match_incoming_emails":{"subject_filters":[{"filter_id":0,"condition":{"type":"string","value":"string"},"and":true,"not":true}],"body_filters":[{"filter_id":0,"condition":{"type":"string","value":"string"},"and":true,"not":true}],"sender_or_recipient_filters":[{"filter_id":0,"recipient_name":"string","recipient_address":"string","recipient_type":"string","and":true,"not":true}],"priority_filters":[{"filter_id":0,"priority":"string","and":true,"not":true}]},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"},"based_on_source_data":[{"condition":{"field_name":"string","type":"string","value":"string"},"escalation_policy_id":"string","escalation_policy_name":"string"}]},"dynamic_recipient_groups":[{"condition":{"field_name":"string","type":"string","value":"string"},"recipient_group":"string","group_name":"string"}]},"chat_settings":{"url_mapping":{"source":"string","source_name":"string","static":true,"source_value":"string"},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"}}},"heartbeat_settings":{"heartbeat_interval_in_min":0}}

[AlertOps] Delete an inbound integration. This DELETES data in AlertOps and cannot be undone from StackJack. Whatever was posting to this route stops raising alerts, and that failure is silent: the monitoring system keeps sending and nobody is paged.

ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.

[AlertOps] Delete an inbound integration's filter. This DELETES data in AlertOps and cannot be undone from StackJack. Removing a filter changes what this route alerts on: events it used to drop now page, or events it used to keep no longer match.

ParamTypeRequiredDefaultDescription
filterIdintegeryesFilter ID, from alertops_list_inbound_filters.
idintegeryesInbound integration ID, from alertops_list_inbound.

[AlertOps] Delete inbound integration's escalation policy overrides. This DELETES data in AlertOps and cannot be undone from StackJack. This removes EVERY override on the integration at once, so all its events fall back to the default escalation policy. To remove one time-of-day override use alertops_delete_inbound_policy_overrides_tod.

ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.

[AlertOps] Delete an inbound integration's escalation policy override. This DELETES data in AlertOps and cannot be undone from StackJack. Events in that time window fall back to the integration's default escalation policy, which may page a different rotation than intended.

ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.
overrideIdintegeryesTime-of-day override ID, from alertops_list_inbound_policy_overrides_tod.
ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.
ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.

[AlertOps] Get one inbound event log entry - the raw payload AlertOps received and what it did with it. This is the read to use when an external system says it sent something and no alert appeared.

ParamTypeRequiredDefaultDescription
idstringyesInbound event ID, from the integration's own event log - the id the external system was given when it posted, not an inbound integration id.
ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.
ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.
overrideIdintegeryesTime-of-day override ID, from alertops_list_inbound_policy_overrides_tod.

[AlertOps] List inbound integrations - the routes an external monitoring system uses to raise alerts in AlertOps. Start here: every inbound tool below takes the integration id this returns. Paginated by OFFSET, NOT by cursor: limit is the page size (AlertOps defaults to 10 and caps it at 100; StackJack clamps out-of-range values) and offset is the row to start at, so the page after a 50-row page is offset 50. This endpoint returns no next or previous cursor - only alertops_list_alerts uses those.

ParamTypeRequiredDefaultDescription
enabledbooleannonullDefault is both Enabled & Disabled. Valid values are true, false and empty string.
limitintegernonullPage size. AlertOps defaults to 10 and caps this at 100; StackJack clamps out-of-range values.
offsetintegernonullDefault is 0. Offset to start pagination search results. Default: 0.
searchstringnonullFree-text search filter. AlertOps documents no field list for it.
sortBystringnonullDefault is InboundIntegrationName. Eg. InboundIntegrationName or Sequence or EscalationPolicy or Recipients. Default: InboundIntegrationName.
sortDirstringnonullDefault is asc. Eg. asc or desc. Default: asc.
typestringnonullDefault is Empty. Possible values are API or Email or Slack or MicrosoftTeams or Hearbeat or Chat
ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.
ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.
ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.
ParamTypeRequiredDefaultDescription
idintegeryesInbound integration ID, from alertops_list_inbound.

[AlertOps] Update an inbound integration. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read the object first and send it back complete. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"inbound_integration_name":"string","type":"string","sequence":0,"enabled":true,"escalation_policy":"string","recipient_groups":["string"],"recipient_users":["string"],"bridge":{"telephone_number":"string","access_code":"string"},"api_settings":{"is_bidirection":true,"url_mapping":{"method":"string","content":"string","source":"string","source_name":"string","static":true,"source_value":"string","source_id":"string","source_url":"string","severity":"string","source_status":"string","assignee":"string","open_alert_when":{"field_name":"string","type":"string","values":["string"]},"close_alert_when":{"type":"string","values":["string"]},"update_alert_when":{"type":"string","values":["string"]},"long_text":"string","short_text":"string","subject":"string","recipient_user":"string","recipient_group":"string","topic":"string","sample_data":"string","sample_field_value":,"custom_alert_fields":[{"attribute_name":"string","attribute_value":"string","required":true}],"attachments":{"base_path":"string","url":"string","file_name":"string","is_link":true,"is_collection":true}},"alert_tags":{"business_service":"string","component_type":"string","component_name":"string","data_center":"string","environment":"string","problem_type":"string"},"delaying_or_grouping":{"delaying_rule":{"delay":true,"delay_notifications_for_every_x_alerts":{"every_x_alerts":0},"delay_notifications_for_every_x_minutes":{"every_x_minutes":0},"delay_notifications_for_every_x_alerts_within_x_minutes":{"every_x_alerts":0,"every_x_minutes":0},"delay_notifications_until_support_hours":{"weekly_schedules":[{"name":"string","days_of_week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0}}]}},"grouping_rule":{"group":true,"grouping_with_in_x_minutes":{"every_x_minutes":0}}},"filters_to_match_json_or_form_fields":{"add_all_filter":{"filters":[{"filter_id":0,"condition":{"field_name":"string","type":"string"},"not":true}]},"add_any_filter":{"filters":[{"filter_id":0,"condition":{"field_name":"string","type":"string"},"not":true}]}},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"},"based_on_source_data":[{"condition":{"field_name":"string","type":"string","value":"string"},"escalation_policy_id":"string","escalation_policy_name":"string"}]},"dynamic_recipient_groups":[{"condition":{"field_name":"string","type":"string","value":"string"},"recipient_group":"string","group_name":"string"}]},"mail_box":"string","email_settings":{"email_mapping":{"every_incoming_email_will_open_an_alert":true,"source_name":{"field_name":"string","start_tag":"string","end_tag":"string"},"source_identifier":{"field_name":"string","start_tag":"string","end_tag":"string"},"open_alert_when":{"field_name":"string","type":"string","values":["string"]},"close_alert_when":{"type":"string","values":["string"]},"update_alert_when":{"type":"string","values":["string"]},"ignore_duplicates":true,"long_text":{"field_name":"string","start_tag":"string","end_tag":"string"},"short_text":{"field_name":"string","start_tag":"string","end_tag":"string"},"source_url":{"field_name":"string","start_tag":"string","end_tag":"string"},"assignee_mail_official":{"field_name":"string","start_tag":"string","end_tag":"string"},"recipient_user":{"field_name":"string","start_tag":"string","end_tag":"string"},"recipient_groups":{"field_name":"string","start_tag":"string","end_tag":"string"},"topic":{"field_name":"string","start_tag":"string","end_tag":"string"},"custom_alert_fields":[{"attribute_name":"string","attribute_value":"string","required":true,"attribute_data_type":"string","start_tag":"string","end_tag":"string"}],"long_message_text":"string","short_message_text":"string","sample_data":"string"},"alert_tags":{"business_service":{"field_name":"string","start_tag":"string","end_tag":"string"},"component_type":{"field_name":"string","start_tag":"string","end_tag":"string"},"component_name":{"field_name":"string","start_tag":"string","end_tag":"string"},"data_center":{"field_name":"string","start_tag":"string","end_tag":"string"},"environment":{"field_name":"string","start_tag":"string","end_tag":"string"},"problem_type":{"field_name":"string","start_tag":"string","end_tag":"string"}},"delaying_or_grouping":{"delaying_rule":{"delay":true,"delay_notifications_for_every_x_alerts":{"every_x_alerts":0},"delay_notifications_for_every_x_minutes":{"every_x_minutes":0},"delay_notifications_for_every_x_alerts_within_x_minutes":{"every_x_alerts":0,"every_x_minutes":0},"delay_notifications_until_support_hours":{"weekly_schedules":[{"name":"string","days_of_week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0}}]}},"grouping_rule":{"group":true,"grouping_with_in_x_minutes":{"every_x_minutes":0}}},"filters_to_match_incoming_emails":{"subject_filters":[{"filter_id":0,"condition":{"type":"string","value":"string"},"and":true,"not":true}],"body_filters":[{"filter_id":0,"condition":{"type":"string","value":"string"},"and":true,"not":true}],"sender_or_recipient_filters":[{"filter_id":0,"recipient_name":"string","recipient_address":"string","recipient_type":"string","and":true,"not":true}],"priority_filters":[{"filter_id":0,"priority":"string","and":true,"not":true}]},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"},"based_on_source_data":[{"condition":{"field_name":"string","type":"string","value":"string"},"escalation_policy_id":"string","escalation_policy_name":"string"}]},"dynamic_recipient_groups":[{"condition":{"field_name":"string","type":"string","value":"string"},"recipient_group":"string","group_name":"string"}]},"chat_settings":{"url_mapping":{"source":"string","source_name":"string","static":true,"source_value":"string"},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"}}},"heartbeat_settings":{"heartbeat_interval_in_min":0}} recipient_groups, recipient_users and the per-type settings blocks are part of that whole shape, so read it back with alertops_get_inbound first - omitting them silently drops the recipients this route pages.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"inbound_integration_name":"string","type":"string","sequence":0,"enabled":true,"escalation_policy":"string","recipient_groups":["string"],"recipient_users":["string"],"bridge":{"telephone_number":"string","access_code":"string"},"api_settings":{"is_bidirection":true,"url_mapping":{"method":"string","content":"string","source":"string","source_name":"string","static":true,"source_value":"string","source_id":"string","source_url":"string","severity":"string","source_status":"string","assignee":"string","open_alert_when":{"field_name":"string","type":"string","values":["string"]},"close_alert_when":{"type":"string","values":["string"]},"update_alert_when":{"type":"string","values":["string"]},"long_text":"string","short_text":"string","subject":"string","recipient_user":"string","recipient_group":"string","topic":"string","sample_data":"string","sample_field_value":,"custom_alert_fields":[{"attribute_name":"string","attribute_value":"string","required":true}],"attachments":{"base_path":"string","url":"string","file_name":"string","is_link":true,"is_collection":true}},"alert_tags":{"business_service":"string","component_type":"string","component_name":"string","data_center":"string","environment":"string","problem_type":"string"},"delaying_or_grouping":{"delaying_rule":{"delay":true,"delay_notifications_for_every_x_alerts":{"every_x_alerts":0},"delay_notifications_for_every_x_minutes":{"every_x_minutes":0},"delay_notifications_for_every_x_alerts_within_x_minutes":{"every_x_alerts":0,"every_x_minutes":0},"delay_notifications_until_support_hours":{"weekly_schedules":[{"name":"string","days_of_week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0}}]}},"grouping_rule":{"group":true,"grouping_with_in_x_minutes":{"every_x_minutes":0}}},"filters_to_match_json_or_form_fields":{"add_all_filter":{"filters":[{"filter_id":0,"condition":{"field_name":"string","type":"string"},"not":true}]},"add_any_filter":{"filters":[{"filter_id":0,"condition":{"field_name":"string","type":"string"},"not":true}]}},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"},"based_on_source_data":[{"condition":{"field_name":"string","type":"string","value":"string"},"escalation_policy_id":"string","escalation_policy_name":"string"}]},"dynamic_recipient_groups":[{"condition":{"field_name":"string","type":"string","value":"string"},"recipient_group":"string","group_name":"string"}]},"mail_box":"string","email_settings":{"email_mapping":{"every_incoming_email_will_open_an_alert":true,"source_name":{"field_name":"string","start_tag":"string","end_tag":"string"},"source_identifier":{"field_name":"string","start_tag":"string","end_tag":"string"},"open_alert_when":{"field_name":"string","type":"string","values":["string"]},"close_alert_when":{"type":"string","values":["string"]},"update_alert_when":{"type":"string","values":["string"]},"ignore_duplicates":true,"long_text":{"field_name":"string","start_tag":"string","end_tag":"string"},"short_text":{"field_name":"string","start_tag":"string","end_tag":"string"},"source_url":{"field_name":"string","start_tag":"string","end_tag":"string"},"assignee_mail_official":{"field_name":"string","start_tag":"string","end_tag":"string"},"recipient_user":{"field_name":"string","start_tag":"string","end_tag":"string"},"recipient_groups":{"field_name":"string","start_tag":"string","end_tag":"string"},"topic":{"field_name":"string","start_tag":"string","end_tag":"string"},"custom_alert_fields":[{"attribute_name":"string","attribute_value":"string","required":true,"attribute_data_type":"string","start_tag":"string","end_tag":"string"}],"long_message_text":"string","short_message_text":"string","sample_data":"string"},"alert_tags":{"business_service":{"field_name":"string","start_tag":"string","end_tag":"string"},"component_type":{"field_name":"string","start_tag":"string","end_tag":"string"},"component_name":{"field_name":"string","start_tag":"string","end_tag":"string"},"data_center":{"field_name":"string","start_tag":"string","end_tag":"string"},"environment":{"field_name":"string","start_tag":"string","end_tag":"string"},"problem_type":{"field_name":"string","start_tag":"string","end_tag":"string"}},"delaying_or_grouping":{"delaying_rule":{"delay":true,"delay_notifications_for_every_x_alerts":{"every_x_alerts":0},"delay_notifications_for_every_x_minutes":{"every_x_minutes":0},"delay_notifications_for_every_x_alerts_within_x_minutes":{"every_x_alerts":0,"every_x_minutes":0},"delay_notifications_until_support_hours":{"weekly_schedules":[{"name":"string","days_of_week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0}}]}},"grouping_rule":{"group":true,"grouping_with_in_x_minutes":{"every_x_minutes":0}}},"filters_to_match_incoming_emails":{"subject_filters":[{"filter_id":0,"condition":{"type":"string","value":"string"},"and":true,"not":true}],"body_filters":[{"filter_id":0,"condition":{"type":"string","value":"string"},"and":true,"not":true}],"sender_or_recipient_filters":[{"filter_id":0,"recipient_name":"string","recipient_address":"string","recipient_type":"string","and":true,"not":true}],"priority_filters":[{"filter_id":0,"priority":"string","and":true,"not":true}]},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"},"based_on_source_data":[{"condition":{"field_name":"string","type":"string","value":"string"},"escalation_policy_id":"string","escalation_policy_name":"string"}]},"dynamic_recipient_groups":[{"condition":{"field_name":"string","type":"string","value":"string"},"recipient_group":"string","group_name":"string"}]},"chat_settings":{"url_mapping":{"source":"string","source_name":"string","static":true,"source_value":"string"},"escalation_policy_override":{"based_on_time_of_day":{"week":{"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true},"start_time":{"hour":0,"minute":0},"end_time":{"hour":0,"minute":0},"escalation_policy_id":"string","escalation_policy_name":"string"}}},"heartbeat_settings":{"heartbeat_interval_in_min":0}}
idintegeryesInbound integration ID, from alertops_list_inbound.

[AlertOps] Update an inbound integration's delaying/grouping. Request body fields (AlertDelayingOrGroupingRule): delaying_rule (AlertDelayingRule); grouping_rule (AlertGroupingRule). Raising the delay or widening the grouping window makes real events page later, or fold into an alert somebody has already acknowledged.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (AlertDelayingOrGroupingRule): delaying_rule (AlertDelayingRule); grouping_rule (AlertGroupingRule).
idintegeryesInbound integration ID, from alertops_list_inbound.

[AlertOps] Update an inbound integration's dynamic recipient groups. This is a WHOLESALE-REPLACE write: the body replaces the entire dynamic recipient mapping, so a group left out of it stops being selectable for events from this route. Read the current mapping with alertops_list_inbound_dynamic_recipients first and send it back complete. AlertOps publishes no schema for this request body. Send the object shape documented in the AlertOps API reference for this endpoint.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body, as documented in the AlertOps API reference for this endpoint.
idintegeryesInbound integration ID, from alertops_list_inbound.

[AlertOps] Change an inbound integration's status. This SUPPRESSES alerting. The failure mode is a monitoring blind spot: a real incident stops paging anyone. Request body fields (ChangeInboundIntegrationStatusRequest): enabled (boolean, required). Disabling an inbound integration is a monitoring blind spot: the external system keeps posting and no alert is raised. This is the reversible way to take a route out of service; alertops_delete_inbound is not.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ChangeInboundIntegrationStatusRequest): enabled (boolean, required).
idintegeryesInbound integration ID, from alertops_list_inbound.

Outbound Integrations

ToolPlanAccessSummary
alertops_create_outboundProWriteCreate an outbound integration.
alertops_create_outbound_methodProWriteCreate an outbound integration method.
alertops_delete_outboundProDestructiveDelete an outbound integration.
alertops_delete_outbound_methodProDestructiveDelete an outbound integration method.
alertops_get_outboundFreeRead-onlyGet one outbound integration, including its security settings and its methods.
alertops_get_outbound_methodFreeRead-onlyGet an outbound integration method.
alertops_list_outboundFreeRead-onlyList outbound integrations - where AlertOps pushes alerts to, such as a ticketing or chat system.
alertops_list_outbound_methodsFreeRead-onlyList an outbound integration's methods - the individual requests it can fire, each with its own URI, verb and payload template.
alertops_update_outboundProDestructiveUpdate an outbound integration.
alertops_update_outbound_methodProDestructiveUpdate an outbound integration method.

[AlertOps] Create an outbound integration. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"outbound_integration_name":"Test Outbound Integration Name","security_type":"Basic","security":{"public_key":"","user_name":"1000031Alert@alertops.com","password":"PgY4cWdtg0RyOdrFa1ZNCFA6"},"methods":[{"method_name":"POST Issue","method_type":{"request_type":"JSON","web_method":"POST","response_data_type":"JSON","type":"REST","uri":"https://api.product.com/api/issue","request_data":"{ \\"fields\\": { \\"project\\": { \\"key\\": \\"DEMO\\" }, \\"summary\\": \\"<<MessageThread.Topic>>\\", \\"description\\": \\"<<Message.MessageText>>\\" } }","response_data":"{ \\"id\\": \\"<<Attribute.JiraIssueID>>\\", \\"key\\": \\"<<Attribute.JiraIssueKey>>\\" }","headers":"{ \\"id\\": \\"<<Attribute.JiraIssueID>>\\", \\"key\\": \\"<<Attribute.JiraIssueKey>>\\" }"},"alert_type":"10","update_alert_fields":true}]} Additive: it fires nothing at call time, but it arms a dispatch path that later alerts will use.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"outbound_integration_name":"Test Outbound Integration Name","security_type":"Basic","security":{"public_key":"","user_name":"1000031Alert@alertops.com","password":"PgY4cWdtg0RyOdrFa1ZNCFA6"},"methods":[{"method_name":"POST Issue","method_type":{"request_type":"JSON","web_method":"POST","response_data_type":"JSON","type":"REST","uri":"https://api.product.com/api/issue","request_data":"{ \"fields\": { \"project\": { \"key\": \"DEMO\" }, \"summary\": \"<<MessageThread.Topic>>\", \"description\": \"<<Message.MessageText>>\" } }","response_data":"{ \"id\": \"<<Attribute.JiraIssueID>>\", \"key\": \"<<Attribute.JiraIssueKey>>\" }","headers":"{ \"id\": \"<<Attribute.JiraIssueID>>\", \"key\": \"<<Attribute.JiraIssueKey>>\" }"},"alert_type":"10","update_alert_fields":true}]}

[AlertOps] Create an outbound integration method. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"method_name":"Query","method_type":{"type":"REST","uri":"https://example.com","request_type":"JSON","web_method":"GET","response_data_type":"JSON","request_data":,"response_data":,"headers":"{\\"HeaderKey1\\": \\"HeaderValue1\\", \\"HeaderKey2\\": \\"HeaderValue2\\"}"},"alert_type":"Standard Alert","update_alert_fields":false} Additive: it fires nothing at call time, but it arms a request that later alerts will send to the external system.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"method_name":"Query","method_type":{"type":"REST","uri":"https://example.com","request_type":"JSON","web_method":"GET","response_data_type":"JSON","request_data":,"response_data":,"headers":"{\"HeaderKey1\": \"HeaderValue1\", \"HeaderKey2\": \"HeaderValue2\"}"},"alert_type":"Standard Alert","update_alert_fields":false}
idintegeryesOutbound integration ID, from alertops_list_outbound.

[AlertOps] Delete an outbound integration. This DELETES data in AlertOps and cannot be undone from StackJack. Alerts stop being pushed to that external system. Anything downstream that was creating tickets or chat messages from it goes quiet, with no error raised here.

ParamTypeRequiredDefaultDescription
idintegeryesOutbound integration ID, from alertops_list_outbound.

[AlertOps] Delete an outbound integration method. This DELETES data in AlertOps and cannot be undone from StackJack. That request stops firing, so the external system stops being told about alerts this method used to push.

ParamTypeRequiredDefaultDescription
idintegeryesOutbound integration ID, from alertops_list_outbound.
methodIdintegeryesOutbound integration method ID, from alertops_list_outbound_methods.
ParamTypeRequiredDefaultDescription
idintegeryesOutbound integration ID, from alertops_list_outbound.
ParamTypeRequiredDefaultDescription
idintegeryesOutbound integration ID, from alertops_list_outbound.
methodIdintegeryesOutbound integration method ID, from alertops_list_outbound_methods.

[AlertOps] List outbound integrations - where AlertOps pushes alerts to, such as a ticketing or chat system. Start here: every outbound tool below takes the integration id this returns.

ParamTypeRequiredDefaultDescription
includestringnonullDefault is empty. Eg. Methods
namestringnonullOutbound integration name. Default is empty
sortDirstringnonullDefault is asc. Eg. asc or desc. Default: asc.
ParamTypeRequiredDefaultDescription
idintegeryesOutbound integration ID, from alertops_list_outbound.

[AlertOps] Update an outbound integration. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read the object first and send it back complete. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"outbound_integration_name":"Test Outbound Integration Name","security_type":"Basic","security":{"public_key":"","user_name":"1000031Alert@alertops.com","password":"PgY4cWdtg0RyOdrFa1ZNCFA6"},"methods":[{"method_name":"POST Issue","method_type":{"request_type":"JSON","web_method":"POST","response_data_type":"JSON","type":"REST","uri":"https://api.product.com/api/issue","request_data":"{ \\"fields\\": { \\"project\\": { \\"key\\": \\"DEMO\\" }, \\"summary\\": \\"<<MessageThread.Topic>>\\", \\"description\\": \\"<<Message.MessageText>>\\" } }","response_data":"{ \\"id\\": \\"<<Attribute.JiraIssueID>>\\", \\"key\\": \\"<<Attribute.JiraIssueKey>>\\" }","headers":"{ \\"id\\": \\"<<Attribute.JiraIssueID>>\\", \\"key\\": \\"<<Attribute.JiraIssueKey>>\\" }"},"alert_type":"10","update_alert_fields":true}]} The methods collection is part of that whole shape, so read it back with alertops_get_outbound first - omitting it silently removes the dispatch paths this integration fires.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"outbound_integration_name":"Test Outbound Integration Name","security_type":"Basic","security":{"public_key":"","user_name":"1000031Alert@alertops.com","password":"PgY4cWdtg0RyOdrFa1ZNCFA6"},"methods":[{"method_name":"POST Issue","method_type":{"request_type":"JSON","web_method":"POST","response_data_type":"JSON","type":"REST","uri":"https://api.product.com/api/issue","request_data":"{ \"fields\": { \"project\": { \"key\": \"DEMO\" }, \"summary\": \"<<MessageThread.Topic>>\", \"description\": \"<<Message.MessageText>>\" } }","response_data":"{ \"id\": \"<<Attribute.JiraIssueID>>\", \"key\": \"<<Attribute.JiraIssueKey>>\" }","headers":"{ \"id\": \"<<Attribute.JiraIssueID>>\", \"key\": \"<<Attribute.JiraIssueKey>>\" }"},"alert_type":"10","update_alert_fields":true}]}
idintegeryesOutbound integration ID, from alertops_list_outbound.

[AlertOps] Update an outbound integration method. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read the object first and send it back complete. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"method_name":"Query","method_type":{"type":"REST","uri":"https://example.com","request_type":"JSON","web_method":"GET","response_data_type":"JSON","request_data":,"response_data":,"headers":"{\\"HeaderKey1\\": \\"HeaderValue1\\", \\"HeaderKey2\\": \\"HeaderValue2\\"}"},"alert_type":"Standard Alert","update_alert_fields":false} Changing the URI, verb or payload template changes what every future alert sends to the external system.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"method_name":"Query","method_type":{"type":"REST","uri":"https://example.com","request_type":"JSON","web_method":"GET","response_data_type":"JSON","request_data":,"response_data":,"headers":"{\"HeaderKey1\": \"HeaderValue1\", \"HeaderKey2\": \"HeaderValue2\"}"},"alert_type":"Standard Alert","update_alert_fields":false}
idintegeryesOutbound integration ID, from alertops_list_outbound.
methodIdintegeryesOutbound integration method ID, from alertops_list_outbound_methods.

Services

ToolPlanAccessSummary
alertops_create_serviceProWriteCreate a service.
alertops_create_service_componentProWriteAdd a component to a service.
alertops_create_service_templateProWriteAdd a message template to a service.
alertops_delete_serviceProDestructiveDelete a service.
alertops_delete_service_componentProDestructiveDelete a component from a service.
alertops_delete_service_templateProDestructiveDelete a message template from a service.
alertops_delete_service_userProDestructiveUnsubscribe a user from a service.
alertops_get_serviceFreeRead-onlyGet one service with its components and templates.
alertops_get_service_componentFreeRead-onlyGet one component of a service.
alertops_get_service_templateFreeRead-onlyGet one message template of a service.
alertops_list_service_component_usersFreeRead-onlyList the subscribers to one component of a service, with the email, SMS and Slack DM flags each one is subscribed on.
alertops_list_service_componentsFreeRead-onlyList a service's components - the individually-tracked parts of a service that a subscriber can be subscribed to separately.
alertops_list_service_templatesFreeRead-onlyList a service's message templates - the subject and message text AlertOps uses when it notifies this service's subscribers.
alertops_list_service_usersFreeRead-onlyList a service's subscribers, with the components each one is subscribed to.
alertops_list_servicesFreeRead-onlyList services - the named objects that carry components, message templates and subscribers, each subscriber holding its own email, SMS and Slack DM flags.
alertops_update_serviceProDestructiveDESTRUCTIVE (wholesale replace): an omitted component or template is removed, and a removed component takes its subscriber relationships with it.
alertops_update_service_componentProWriteUpdate a component of a service.
alertops_update_service_component_userProDestructiveSet one user's subscription to one service component.
alertops_update_service_templateProWriteUpdate a service's message template.
alertops_update_service_userProDestructiveSet which components of a service a user is subscribed to.
alertops_update_services_subscriptions_emailProDestructiveTurn a user's EMAIL subscription to services on or off.
alertops_update_services_subscriptions_slack_dmProDestructiveTurn a user's SLACK DM subscription to services on or off.
alertops_update_services_subscriptions_smsProDestructiveTurn a user's SMS subscription to services on or off.

[AlertOps] Create a service. Additive: nobody is notified at call time. components and templates can be supplied inline here, or added afterwards with alertops_create_service_component and alertops_create_service_template. Request body fields (ServiceCreateRequest): service_name (string); show_uptime (boolean, required); components (array<ServiceComponentBaseRequest>); templates (array<ServiceTemplateBaseRequest>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceCreateRequest): service_name (string); show_uptime (boolean, required); components (array<ServiceComponentBaseRequest>); templates (array<ServiceTemplateBaseRequest>).

[AlertOps] Add a component to a service. Additive: nobody is notified at call time. external_id is how you tie the component to an id in your own monitoring so an inbound alert can name it. Request body fields (ServiceComponentBaseRequest): component_name (string); external_id (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceComponentBaseRequest): component_name (string); external_id (string).
idstringyesService ID or Service name

[AlertOps] Add a message template to a service. Additive: nothing is sent at call time. The template supplies the subject and message text of future subscriber notifications. Request body fields (ServiceTemplateBaseRequest): template_name (string); message (string); subject (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceTemplateBaseRequest): template_name (string); message (string); subject (string).
idstringyesService ID or Service name

[AlertOps] Delete a service. This DELETES data in AlertOps and cannot be undone from StackJack. Its components, templates and every subscriber relationship go with it, so the people subscribed stop being told about it. List them with alertops_list_service_users first.

ParamTypeRequiredDefaultDescription
idstringyesService ID or Service name

[AlertOps] Delete a component from a service. This DELETES data in AlertOps and cannot be undone from StackJack, and every subscription to that component goes with it. List who is subscribed with alertops_list_service_component_users first.

ParamTypeRequiredDefaultDescription
componentIdstringyesComponentID
idstringyesService ID or Service name

[AlertOps] Delete a message template from a service. This DELETES data in AlertOps and cannot be undone from StackJack, and any notification that referenced this template loses its wording.

ParamTypeRequiredDefaultDescription
idstringyesService ID or Service name
templateIdstringyesService template ID, from alertops_list_service_templates.

[AlertOps] Unsubscribe a user from a service. This DELETES data in AlertOps and cannot be undone from StackJack, and that person stops being told about this service entirely. To keep the subscription but narrow it to fewer components, use alertops_update_service_user instead.

ParamTypeRequiredDefaultDescription
idstringyesService ID or Service name
userIdstringyesUser ID or User Name

[AlertOps] Get one service with its components and templates. The id parameter accepts the service id OR the service name; get either from alertops_list_services.

ParamTypeRequiredDefaultDescription
idstringyesService ID or Service name

[AlertOps] Get one component of a service. Get componentId from alertops_list_service_components.

ParamTypeRequiredDefaultDescription
componentIdstringyesService component ID, from alertops_list_service_components.
idstringyesService ID or Service name

[AlertOps] Get one message template of a service. Get templateId from alertops_list_service_templates.

ParamTypeRequiredDefaultDescription
idstringyesService ID or Service name
templateIdstringyesTemplateID

[AlertOps] List the subscribers to one component of a service, with the email, SMS and Slack DM flags each one is subscribed on. Read this before alertops_update_service_component_user, which replaces all three flags at once.

ParamTypeRequiredDefaultDescription
componentIdstringyesComponent ID
idstringyesService ID or Service name

[AlertOps] List a service's components - the individually-tracked parts of a service that a subscriber can be subscribed to separately. Each carries a component_name and the external_id that ties it to an id in your own monitoring.

ParamTypeRequiredDefaultDescription
idstringyesService ID or Service name
ParamTypeRequiredDefaultDescription
idstringyesService ID or Service name

[AlertOps] List a service's subscribers, with the components each one is subscribed to. Read this before alertops_update_service_user, which replaces the whole component list.

ParamTypeRequiredDefaultDescription
idstringyesService ID or Service name

[AlertOps] List services - the named objects that carry components, message templates and subscribers, each subscriber holding its own email, SMS and Slack DM flags. Start here: every other service tool takes the service id or name this returns. NOT PAGINATED - AlertOps returns the whole collection. Pass include with the value components or templates to get that nested collection in the same call instead of following up per service.

ParamTypeRequiredDefaultDescription
includestringnonullDefault Empty. Eg. components or templates

[AlertOps] DESTRUCTIVE (wholesale replace): an omitted component or template is removed, and a removed component takes its subscriber relationships with it. Update a service. CAUTION: components and templates are collections on this body, so read the service back with alertops_get_service and send them complete - an omitted component takes its subscriber relationships with it. Request body fields (ServiceUpdateRequest): service_name (string); show_uptime (boolean, required); components (array<ServiceComponentRequest>); templates (array<ServiceTemplateRequest>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceUpdateRequest): service_name (string); show_uptime (boolean, required); components (array<ServiceComponentRequest>); templates (array<ServiceTemplateRequest>).
idstringyesService ID or Service name

[AlertOps] Update a component of a service. component_id in the body must match the componentId in the path. Changing external_id breaks the link to your monitoring until you update that side too. Nothing is sent to subscribers at call time. Request body fields (ServiceComponentRequest): component_name (string); external_id (string); component_id (integer, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceComponentRequest): component_name (string); external_id (string); component_id (integer, required).
componentIdstringyesService component ID, from alertops_list_service_components.
idstringyesService ID or Service name

[AlertOps] Set one user's subscription to one service component. This is a WHOLESALE-REPLACE write: the body replaces the entire subscription, so a channel you omit is turned OFF rather than left alone. Send email, sms and slack_dm together every time, and read the current values with alertops_list_service_component_users first - clearing all three silently stops that person hearing about this component. Request body fields (ServiceComponentUserRequest): email (boolean, required); sms (boolean, required); slack_dm (boolean, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceComponentUserRequest): email (boolean, required); sms (boolean, required); slack_dm (boolean, required).
componentIdstringyesComponent ID
idstringyesService ID or Service name
userIdstringyesUser ID or User Name

[AlertOps] Update a service's message template. template_id in the body must match the templateId in the path. This changes the wording of FUTURE subscriber notifications; nothing is sent at call time. Request body fields (ServiceTemplateRequest): template_name (string); message (string); subject (string); template_id (integer, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceTemplateRequest): template_name (string); message (string); subject (string); template_id (integer, required).
idstringyesService ID or Service name
templateIdstringyesService template ID, from alertops_list_service_templates.

[AlertOps] Set which components of a service a user is subscribed to. This is a WHOLESALE-REPLACE write: components is the complete list, so a component you omit is unsubscribed rather than left alone, and an empty list stops that person hearing about the service at all. Read the current list with alertops_list_service_users first and send it back complete. To set the email, SMS and Slack DM flags for a single component, use alertops_update_service_component_user. Request body fields (ServiceUserUpdateRequest): components (array<ServiceUserComponent>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceUserUpdateRequest): components (array<ServiceUserComponent>).
idstringyesService ID or Service name
userIdstringyesUser ID or User Name

[AlertOps] Turn a user's EMAIL subscription to services on or off. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. This is the account-wide email switch for that user, so subscribe false silences their service email across EVERY service, not just one. The per-component equivalent is alertops_update_service_component_user. Request body fields (ServiceSubscriptionRequest): subscribe (boolean, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceSubscriptionRequest): subscribe (boolean, required).

[AlertOps] Turn a user's SLACK DM subscription to services on or off. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. This is the account-wide Slack DM switch for that user, so subscribe false silences their service Slack DMs across EVERY service, not just one. The per-component equivalent is alertops_update_service_component_user. Request body fields (ServiceSubscriptionRequest): subscribe (boolean, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceSubscriptionRequest): subscribe (boolean, required).

[AlertOps] Turn a user's SMS subscription to services on or off. THIS REACHES A HUMAN NOW: it pages on-call staff, notifies subscribers, or sends email / SMS / Slack messages. Do not call it to test behavior. This is the account-wide SMS switch for that user, so subscribe false silences their service SMS across EVERY service, not just one. The per-component equivalent is alertops_update_service_component_user. Request body fields (ServiceSubscriptionRequest): subscribe (boolean, required).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (ServiceSubscriptionRequest): subscribe (boolean, required).

Topics

ToolPlanAccessSummary
alertops_create_topicProWriteCreate a topic.
alertops_create_topic_groupProWriteAttach groups to a topic.
alertops_delete_topicProDestructiveDelete a topic.
alertops_delete_topic_groupProDestructiveRemove one group from a topic.
alertops_get_topicFreeRead-onlyGet one topic.
alertops_list_topic_groupsFreeRead-onlyList the groups attached to a topic - the groups an alert raised on this topic is routed to.
alertops_list_topicsFreeRead-onlyList topics - named objects carrying a priority and a message template, to which groups are attached by alertops_create_topic_group.
alertops_update_topicProWriteUpdate a topic.

[AlertOps] Create a topic. Additive: nobody is contacted at call time, and a topic with no groups attached routes to nobody. Attach groups afterwards with alertops_create_topic_group. Request body fields (TopicRequest): topic_name (string); priority (string); template (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (TopicRequest): topic_name (string); priority (string); template (string).

[AlertOps] Attach groups to a topic. Additive and it contacts nobody at call time, but it changes who FUTURE alerts on this topic reach. groups is an array of group names, not ids. Request body fields (TopicGroupRequest): groups (array<string>).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (TopicGroupRequest): groups (array<string>).
idstringyesTopicID

[AlertOps] Delete a topic. This DELETES data in AlertOps and cannot be undone from StackJack. Alerts that arrive on this topic stop being routed to the groups it mapped to, and that failure is silent rather than an error. List those groups with alertops_list_topic_groups first.

ParamTypeRequiredDefaultDescription
idstringyesTopicID

[AlertOps] Remove one group from a topic. This DELETES data in AlertOps and cannot be undone from StackJack. That group stops receiving alerts raised on this topic, and if it was the only group attached, the topic routes to nobody.

ParamTypeRequiredDefaultDescription
groupIdstringyesGroup ID, from alertops_list_topic_groups.
idstringyesTopicID

[AlertOps] Get one topic. The id parameter accepts the topic id OR the topic name; get either from alertops_list_topics. The groups attached to it come from alertops_list_topic_groups.

ParamTypeRequiredDefaultDescription
idstringyesTopic ID or Topic Name

[AlertOps] List the groups attached to a topic - the groups an alert raised on this topic is routed to. An empty list means the topic routes to nobody.

ParamTypeRequiredDefaultDescription
idstringyesTopicID

[AlertOps] List topics - named objects carrying a priority and a message template, to which groups are attached by alertops_create_topic_group. Start here for the topic id the other topic tools take. NOT PAGINATED and it takes no filters: AlertOps returns the whole collection.

[AlertOps] Update a topic. priority and template change how future alerts raised on this topic are prioritized and worded; nothing is sent at call time. This body does not carry the topic's groups - change those with alertops_create_topic_group and alertops_delete_topic_group. Request body fields (TopicRequest): topic_name (string); priority (string); template (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (TopicRequest): topic_name (string); priority (string); template (string).
idstringyesTopic ID or Topic Name

Workflows

ToolPlanAccessSummary
alertops_create_workflowProWriteCreate a workflow.
alertops_create_workflow_actionProWriteAdd an action to a workflow.
alertops_create_workflow_conditionProWriteAdd a condition to a workflow.
alertops_delete_workflowProDestructiveDelete a workflow.
alertops_delete_workflow_actionProDestructiveDelete an action from a workflow.
alertops_delete_workflow_conditionProDestructiveDelete a condition from a workflow.
alertops_get_workflowFreeRead-onlyGet one workflow with its conditions and actions.
alertops_get_workflow_actionFreeRead-onlyGet one action of a workflow.
alertops_get_workflow_actions_policy_availableFreeRead-onlyList the escalation policies a workflow action on this workflow is allowed to target.
alertops_get_workflow_actions_policy_response_plays_availableFreeRead-onlyList the escalation policy response plays a workflow action on this workflow is allowed to target.
alertops_get_workflow_conditionFreeRead-onlyGet one condition of a workflow.
alertops_list_workflow_actionsFreeRead-onlyList a workflow's actions - what the workflow does when its conditions match: post to a webhook_url, message users or groups, or launch a new thread.
alertops_list_workflow_conditionsFreeRead-onlyList a workflow's conditions - the alert field, operator and value tests that decide whether the workflow's actions run.
alertops_list_workflowsFreeRead-onlyList workflows - the condition-and-action automations AlertOps runs against alerts.
alertops_update_workflowProDestructiveUpdate a workflow.
alertops_update_workflow_actionProWriteUpdate one action of a workflow.
alertops_update_workflow_conditionProWriteUpdate one condition of a workflow.

[AlertOps] Create a workflow. Additive and it runs nothing at call time, but note what a workflow contains: its actions can post to a webhook_url and message users and groups, so it becomes a live dispatch path once it is enabled and attached to an escalation policy with alertops_create_policy_workflow. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"workflow_name":"string","workflow_type":"string","enabled":true,"alert_type":"string","scheduled":true,"recurrence_interval":0,"conditions":[{"type":"string","match":"string","name":"string","operator":"string","value":"string","list_id":"string"}],"actions":[{"name":"string","value":"string","webhook_url":"string","send_to_original_recipients":true,"send_to_sender":true,"send_to_owner":true,"launch_new_thread":true,"message_text":"string","users":["string"],"groups":["string"]}]}

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"workflow_name":"string","workflow_type":"string","enabled":true,"alert_type":"string","scheduled":true,"recurrence_interval":0,"conditions":[{"type":"string","match":"string","name":"string","operator":"string","value":"string","list_id":"string"}],"actions":[{"name":"string","value":"string","webhook_url":"string","send_to_original_recipients":true,"send_to_sender":true,"send_to_owner":true,"launch_new_thread":true,"message_text":"string","users":["string"],"groups":["string"]}]}

[AlertOps] Add an action to a workflow. It fires nothing at call time, but it ARMS what this workflow does on every future match: webhook_url posts to an external system, and users, groups, send_to_owner, send_to_sender and send_to_original_recipients address people. Confirm the result with alertops_list_workflow_actions. For an escalation-policy or response-play action, get the legal values first from alertops_get_workflow_actions_policy_available or alertops_get_workflow_actions_policy_response_plays_available. Request body fields (WorkflowActionItemBase): name (string); value (object); webhook_url (string); send_to_original_recipients (boolean, required); send_to_sender (boolean, required); send_to_owner (boolean, required); launch_new_thread (boolean, required); subject (string); message_text (string); users (array<string>); groups (array<string>); is_escalation_policy (boolean).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (WorkflowActionItemBase): name (string); value (object); webhook_url (string); send_to_original_recipients (boolean, required); send_to_sender (boolean, required); send_to_owner (boolean, required); launch_new_thread (boolean, required); subject (string); message_text (string); users (array<string>); groups (array<string>); is_escalation_policy (boolean).
idstringyesWorkflow ID or Workflow Name

[AlertOps] Add a condition to a workflow. Additive and it runs nothing at call time. Adding conditions narrows what the workflow fires on; a workflow left with no conditions matches every alert. Request body fields (WorkflowConditionItemBase): type (string); match (string); name (string); operator (string); value (object); list_id (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (WorkflowConditionItemBase): type (string); match (string); name (string); operator (string); value (object); list_id (string).
idstringyesWorkflow ID or Workflow Name

[AlertOps] Delete a workflow. This DELETES data in AlertOps and cannot be undone from StackJack. Every escalation policy that referenced it loses that automation; check which policies those are with alertops_list_policy_workflows first.

ParamTypeRequiredDefaultDescription
idstringyesWorkflow ID or Workflow Name

[AlertOps] Delete an action from a workflow. This DELETES data in AlertOps and cannot be undone from StackJack. The workflow still matches; it just stops doing this, so the external system or the people this action reached are no longer told.

ParamTypeRequiredDefaultDescription
actionIdintegeryesWorkflow action ID, from alertops_list_workflow_actions.
idstringyesWorkflow ID or Workflow Name

[AlertOps] Delete a condition from a workflow. This DELETES data in AlertOps and cannot be undone from StackJack. Removing the last condition can leave the workflow matching every alert, so its actions fire far more often than before.

ParamTypeRequiredDefaultDescription
conditionIdintegeryesWorkflow condition ID, from alertops_list_workflow_conditions.
idstringyesWorkflow ID or Workflow Name

[AlertOps] Get one workflow with its conditions and actions. The id parameter accepts the workflow id OR the workflow name; get either from alertops_list_workflows.

ParamTypeRequiredDefaultDescription
idstringyesWorkflow ID or Workflow Name

[AlertOps] Get one action of a workflow. Get actionId from alertops_list_workflow_actions.

ParamTypeRequiredDefaultDescription
actionIdintegeryesWorkflow action ID, from alertops_list_workflow_actions.
idstringyesWorkflow ID or Workflow Name

[AlertOps] List the escalation policies a workflow action on this workflow is allowed to target. Read it to get the legal values before you set an escalation-policy action with alertops_create_workflow_action or alertops_update_workflow_action.

ParamTypeRequiredDefaultDescription
idstringyesWorkflow ID, from alertops_list_workflows.

[AlertOps] List the escalation policy response plays a workflow action on this workflow is allowed to target. Read it to get the legal values before you set a response-play action with alertops_create_workflow_action or alertops_update_workflow_action.

ParamTypeRequiredDefaultDescription
idstringyesWorkflow ID, from alertops_list_workflows.

[AlertOps] Get one condition of a workflow. Get conditionId from alertops_list_workflow_conditions.

ParamTypeRequiredDefaultDescription
conditionIdintegeryesWorkflow condition ID, from alertops_list_workflow_conditions.
idstringyesWorkflow ID or Workflow Name

[AlertOps] List a workflow's actions - what the workflow does when its conditions match: post to a webhook_url, message users or groups, or launch a new thread. Read this before changing a workflow, because these are the fields that reach people and external systems.

ParamTypeRequiredDefaultDescription
idstringyesWorkflow ID or Workflow Name

[AlertOps] List a workflow's conditions - the alert field, operator and value tests that decide whether the workflow's actions run. A workflow with no conditions matches every alert.

ParamTypeRequiredDefaultDescription
idstringyesWorkflow ID or Workflow Name

[AlertOps] List workflows - the condition-and-action automations AlertOps runs against alerts. Start here: every other workflow tool takes the workflow id or name this returns. PAGED BY OFFSET, NOT BY CURSOR: limit is the page size (AlertOps defaults to 10 and caps it at 100; StackJack clamps out-of-range values) and offset is the row to start at, so the second page of a 50-row page is offset 50. This endpoint has no next or previous cursor - only alertops_list_alerts uses those.

ParamTypeRequiredDefaultDescription
enabledbooleannonullDefault is both Enabled & Disabled. Valid values are true, false and empty string.
limitintegernonullPage size. AlertOps defaults to 10 and caps this at 100; StackJack clamps out-of-range values.
offsetintegernonullRow offset to start at (default 0). This endpoint pages by OFFSET, not by cursor: add your limit to the offset to get the next page.
searchstringnonullFree-text search filter. AlertOps documents no field list for it.
sortBystringnonullDefault is WorkflowName. Eg. WorkflowName or WorkflowType or Scheduled. Default: WorkflowName.
sortDirstringnonullDefault is asc. Eg. asc or desc Default: asc.
workflowtypestringnonullWorkflow Type name or Workflow Type ID.

[AlertOps] Update a workflow. This is a WHOLESALE-REPLACE write: the body replaces the entire object, so any field you omit is lost. Read the workflow back with alertops_get_workflow first and send it complete - omitting conditions can leave the workflow matching every alert, and omitting actions strips what it does. AlertOps publishes no schema for this body, only this example - transcribe its shape rather than parsing it: {"workflow_name":"string","workflow_type":"string","enabled":true,"alert_type":"string","scheduled":true,"recurrence_interval":0,"conditions":[{"type":"string","match":"string","name":"string","operator":"string","value":"string","list_id":"string"}],"actions":[{"name":"string","value":"string","webhook_url":"string","send_to_original_recipients":true,"send_to_sender":true,"send_to_owner":true,"launch_new_thread":true,"message_text":"string","users":["string"],"groups":["string"]}]}

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. AlertOps publishes no schema, only this example: {"workflow_name":"string","workflow_type":"string","enabled":true,"alert_type":"string","scheduled":true,"recurrence_interval":0,"conditions":[{"type":"string","match":"string","name":"string","operator":"string","value":"string","list_id":"string"}],"actions":[{"name":"string","value":"string","webhook_url":"string","send_to_original_recipients":true,"send_to_sender":true,"send_to_owner":true,"launch_new_thread":true,"message_text":"string","users":["string"],"groups":["string"]}]}
idstringyesWorkflow ID or Workflow Name

[AlertOps] Update one action of a workflow. The body carries the action's whole shape, so read it back with alertops_get_workflow_action and send every field: an omitted webhook_url or recipient list changes what this workflow does on its next match. Nothing fires at call time. Request body fields (WorkflowActionItemBase): name (string); value (object); webhook_url (string); send_to_original_recipients (boolean, required); send_to_sender (boolean, required); send_to_owner (boolean, required); launch_new_thread (boolean, required); subject (string); message_text (string); users (array<string>); groups (array<string>); is_escalation_policy (boolean).

ParamTypeRequiredDefaultDescription
actionIdintegeryesWorkflow action ID, from alertops_list_workflow_actions.
bodyJsonstringyesJSON object request body. Fields (WorkflowActionItemBase): name (string); value (object); webhook_url (string); send_to_original_recipients (boolean, required); send_to_sender (boolean, required); send_to_owner (boolean, required); launch_new_thread (boolean, required); subject (string); message_text (string); users (array<string>); groups (array<string>); is_escalation_policy (boolean).
idstringyesWorkflow ID or Workflow Name

[AlertOps] Update one condition of a workflow. The body carries the condition's whole shape, so read it back with alertops_get_workflow_condition and send every field. Widening a condition makes the workflow's actions - which can message people and call webhooks - fire on more alerts. Request body fields (WorkflowConditionItemBase): type (string); match (string); name (string); operator (string); value (object); list_id (string).

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object request body. Fields (WorkflowConditionItemBase): type (string); match (string); name (string); operator (string); value (object); list_id (string).
conditionIdintegeryesWorkflow condition ID, from alertops_list_workflow_conditions.
idstringyesWorkflow ID or Workflow Name