id: opsgenie name: Opsgenie version: 1.0.0 description: "Atlassian Opsgenie (Alert API v2) — SOC alerting and on-call: create, close, acknowledge, get, and list alerts; add notes and tags; assign, snooze, and delete alerts; and read schedules and on-calls. GenieKey authentication (US/EU regions); stdlib-only, no extra Python dependencies." changelog: "1.0.0 — Initial release: alert create/close/acknowledge/get/list, add note/tags, assign, snooze, delete, list schedules, on-calls." category: notification # Per-instance configuration. The API key is sent as 'Authorization: GenieKey '. # region selects the base URL: US -> api.opsgenie.com, EU -> api.eu.opsgenie.com. config_schema: properties: api_key: type: string description: "Opsgenie API key" x-soar-sensitive: true region: type: string description: "Opsgenie region: US or EU (default US)" default: "US" required: - api_key commands: - id: create_alert name: opsgenie-create-alert description: "Create a new alert." inputs_schema: properties: message: { type: string, description: "Alert message (title)" } description: { type: string, description: "Alert description" } priority: { type: string, description: "P1..P5 (default P3)" } alias: { type: string, description: "Client-defined alias for de-duplication" } tags: { type: string, description: "Comma-separated tags" } responders: { type: string, description: "Comma-separated team names to notify" } required: [message] outputs_schema: { properties: {} } - id: close_alert name: opsgenie-close-alert description: "Close an alert." inputs_schema: properties: identifier: { type: string, description: "Alert id, tiny id, or alias" } identifier_type: { type: string, description: "id | tiny | alias (default id)" } note: { type: string, description: "Optional close note" } required: [identifier] outputs_schema: { properties: {} } - id: acknowledge_alert name: opsgenie-acknowledge-alert description: "Acknowledge an alert." inputs_schema: properties: identifier: { type: string, description: "Alert id, tiny id, or alias" } identifier_type: { type: string, description: "id | tiny | alias (default id)" } note: { type: string, description: "Optional note" } required: [identifier] outputs_schema: { properties: {} } - id: get_alert name: opsgenie-get-alert description: "Get a single alert." risk: read inputs_schema: properties: identifier: { type: string, description: "Alert id, tiny id, or alias" } identifier_type: { type: string, description: "id | tiny | alias (default id)" } required: [identifier] outputs_schema: { properties: {} } - id: list_alerts name: opsgenie-list-alerts description: "List/search alerts." risk: read inputs_schema: properties: query: { type: string, description: "Opsgenie search query (e.g. 'status: open')" } limit: { type: number, description: "Max alerts (default 20, max 100)" } required: [] outputs_schema: { properties: {} } - id: add_note name: opsgenie-add-note description: "Add a note to an alert." inputs_schema: properties: identifier: { type: string, description: "Alert id, tiny id, or alias" } identifier_type: { type: string, description: "id | tiny | alias (default id)" } note: { type: string, description: "Note content" } required: [identifier, note] outputs_schema: { properties: {} } - id: add_tags name: opsgenie-add-tags description: "Add tags to an alert." inputs_schema: properties: identifier: { type: string, description: "Alert id, tiny id, or alias" } identifier_type: { type: string, description: "id | tiny | alias (default id)" } tags: { type: string, description: "Comma-separated tags to add" } required: [identifier, tags] outputs_schema: { properties: {} } - id: assign_alert name: opsgenie-assign-alert description: "Assign an alert to a user." inputs_schema: properties: identifier: { type: string, description: "Alert id, tiny id, or alias" } identifier_type: { type: string, description: "id | tiny | alias (default id)" } owner: { type: string, description: "Username (email) of the assignee" } required: [identifier, owner] outputs_schema: { properties: {} } - id: snooze_alert name: opsgenie-snooze-alert description: "Snooze an alert until a given time." inputs_schema: properties: identifier: { type: string, description: "Alert id, tiny id, or alias" } identifier_type: { type: string, description: "id | tiny | alias (default id)" } end_time: { type: string, description: "ISO-8601 time to snooze until" } required: [identifier, end_time] outputs_schema: { properties: {} } - id: delete_alert name: opsgenie-delete-alert description: "Delete an alert." inputs_schema: properties: identifier: { type: string, description: "Alert id, tiny id, or alias" } identifier_type: { type: string, description: "id | tiny | alias (default id)" } required: [identifier] outputs_schema: { properties: {} } - id: list_schedules name: opsgenie-list-schedules description: "List on-call schedules." risk: read inputs_schema: properties: {} required: [] outputs_schema: { properties: {} } - id: get_on_calls name: opsgenie-get-on-calls description: "Get the current on-call participants for a schedule." risk: read inputs_schema: properties: schedule_identifier: { type: string, description: "Schedule id or name" } identifier_type: { type: string, description: "id | name (default id)" } required: [schedule_identifier] outputs_schema: { properties: {} } - id: test_connection name: opsgenie-test-connection description: "Verify connectivity and the API key (used by the Test button)." risk: read inputs_schema: properties: {} required: [] outputs_schema: { properties: {} }