diff --git a/definitions/integration.yaml b/definitions/integration.yaml index 2afc14b..da76093 100644 --- a/definitions/integration.yaml +++ b/definitions/integration.yaml @@ -300,7 +300,8 @@ IntegrationMeta: type: string apiKey: type: string - + emailAddress: + type: string AlertFilter: type: object properties: diff --git a/swagger.json b/swagger.json index e69de29..e8aca7a 100644 --- a/swagger.json +++ b/swagger.json @@ -0,0 +1,25126 @@ +{ + "swagger": "2.0", + "info": { + "title": "Opsgenie REST API", + "description": "Opsgenie OpenAPI Specification", + "version": "2.0.0" + }, + "host": "api.opsgenie.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json;charset=UTF-8" + ], + "consumes": [ + "application/json;charset=UTF-8" + ], + "securityDefinitions": { + "GenieKey": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "security": [ + { + "GenieKey": [] + } + ], + "paths": { + "/v2/alerts/requests/{requestId}": { + "get": { + "tags": [ + "alert" + ], + "summary": "Get Request Status of Alert", + "description": "Used to track the status and alert details (if any) of the request whose identifier is given", + "operationId": "getRequestStatus", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-get-request-status" + }, + "parameters": [ + { + "name": "requestId", + "in": "path", + "description": "Universally unique identifier of the questioned request", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Request status information for given id", + "schema": { + "$ref": "#/definitions/GetRequestStatusResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts": { + "get": { + "tags": [ + "alert" + ], + "summary": "List Alerts", + "description": "Returns list of alerts", + "operationId": "listAlerts", + "x-collapse-params": "ListAlertsRequest", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-list-alerts" + }, + "parameters": [ + { + "name": "query", + "in": "query", + "description": "Search query to apply while filtering the alerts", + "required": false, + "type": "string" + }, + { + "name": "searchIdentifier", + "in": "query", + "description": "Identifier of the saved search query to apply while filtering the alerts", + "required": false, + "type": "string" + }, + { + "name": "searchIdentifierType", + "in": "query", + "description": "Identifier type of the saved search query. Possible values are 'id', or 'name'", + "required": false, + "type": "string", + "enum": [ + "id", + "name" + ], + "default": "id" + }, + { + "name": "offset", + "in": "query", + "description": "Start index of the result set (to apply pagination). Minimum value (and also default value) is 0", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 0 + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to provide in the result. Must be a positive integer value. Default value is 20 and maximum value is 100", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100 + }, + { + "name": "sort", + "in": "query", + "description": "Name of the field that result set will be sorted by", + "required": false, + "type": "string", + "enum": [ + "createdAt", + "updatedAt", + "tinyId", + "alias", + "message", + "status", + "acknowledged", + "isSeen", + "snoozed", + "snoozedUntil", + "count", + "lastOccurredAt", + "source", + "owner", + "integration.name", + "integration.type", + "report.ackTime", + "report.closeTime", + "report.acknowledgedBy", + "report.closedBy" + ], + "default": "createdAt" + }, + { + "name": "order", + "in": "query", + "description": "Sorting order of the result set", + "required": false, + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "desc" + } + ], + "responses": { + "200": { + "description": "List of alert informations", + "schema": { + "$ref": "#/definitions/ListAlertsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + }, + "X-Paging-Prev": { + "description": "Previous page url", + "type": "string" + }, + "X-Paging-Next": { + "description": "Next page url", + "type": "string" + }, + "X-Paging-First": { + "description": "First page url", + "type": "string" + }, + "X-Paging-Last": { + "description": "Last page url", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "alert" + ], + "summary": "Create Alert", + "description": "Creates a new alert", + "operationId": "createAlert", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-create-alert" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of created alert", + "required": true, + "schema": { + "$ref": "#/definitions/CreateAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}": { + "get": { + "tags": [ + "alert" + ], + "summary": "Get Alert", + "description": "Returns alert with given id, tiny id or alias", + "operationId": "getAlert", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-get-alert" + }, + "x-collapse-params": "GetAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + } + ], + "responses": { + "200": { + "description": "Alert information for given identifier", + "schema": { + "$ref": "#/definitions/GetAlertResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "alert" + ], + "summary": "Delete Alert", + "description": "Deletes an alert using alert id, tiny id or alias", + "operationId": "deleteAlert", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-delete-alert" + }, + "x-collapse-params": "DeleteAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "$ref": "#/parameters/AlertUserParam" + }, + { + "$ref": "#/parameters/AlertSourceParam" + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/acknowledge": { + "post": { + "tags": [ + "alert" + ], + "summary": "Acknowledge Alert", + "description": "Acknowledges alert with given identifier", + "operationId": "acknowledgeAlert", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-acknowledge-alert" + }, + "x-collapse-params": "AcknowledgeAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of acknowledging alert action", + "required": false, + "schema": { + "$ref": "#/definitions/AcknowledgeAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/unacknowledge": { + "post": { + "tags": [ + "alert" + ], + "summary": "UnAcknowledge Alert", + "description": "UnAcknowledge alert with given identifier", + "operationId": "unAcknowledgeAlert", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-unacknowledge-alert" + }, + "x-collapse-params": "UnAcknowledgeAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of unacknowledging alert action", + "required": false, + "schema": { + "$ref": "#/definitions/UnAcknowledgeAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/close": { + "post": { + "tags": [ + "alert" + ], + "summary": "Close Alert", + "description": "Closes alert with given identifier", + "operationId": "closeAlert", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-close-alert" + }, + "x-collapse-params": "CloseAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of closing alert action", + "required": false, + "schema": { + "$ref": "#/definitions/CloseAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/snooze": { + "post": { + "tags": [ + "alert" + ], + "summary": "Snooze Alert", + "description": "Snooze alert with given identifier", + "operationId": "snoozeAlert", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-snooze-alert" + }, + "x-collapse-params": "SnoozeAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of snoozing alert action", + "required": true, + "schema": { + "$ref": "#/definitions/SnoozeAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/escalate": { + "post": { + "tags": [ + "alert" + ], + "summary": "Escalate Alert", + "description": "Escalate alert with given identifier", + "operationId": "escalateAlert", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-escalate-alert-to-next" + }, + "x-collapse-params": "EscalateAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of escalating alert action", + "required": true, + "schema": { + "$ref": "#/definitions/EscalateAlertToNextPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/assign": { + "post": { + "tags": [ + "alert" + ], + "summary": "Assign Alert", + "description": "Assign alert with given identifier", + "operationId": "assignAlert", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-assign-alert" + }, + "x-collapse-params": "AssignAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of assigning alert action", + "required": true, + "schema": { + "$ref": "#/definitions/AssignAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/responders": { + "post": { + "tags": [ + "alert" + ], + "summary": "Add Responder", + "description": "Add responder to alert with given identifier", + "operationId": "addResponder", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-add-responder-to-alert" + }, + "x-collapse-params": "AddResponderToAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of adding responder to alert action", + "required": true, + "schema": { + "$ref": "#/definitions/AddResponderToAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/teams": { + "post": { + "tags": [ + "alert" + ], + "summary": "Add Team", + "description": "Add team to alert with given identifier", + "operationId": "addTeam", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-add-team-to-alert" + }, + "x-collapse-params": "AddTeamToAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of adding team to alert action", + "required": true, + "schema": { + "$ref": "#/definitions/AddTeamToAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/actions/{actionName}": { + "post": { + "tags": [ + "alert" + ], + "summary": "Custom Alert Action", + "description": "Custom actions for the alert", + "operationId": "executeCustomAlertAction", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-execute-custom-action" + }, + "x-collapse-params": "ExecuteCustomAlertActionRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "actionName", + "in": "path", + "description": "Name of the action to execute", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of executing custom alert action", + "required": false, + "schema": { + "$ref": "#/definitions/ExecuteCustomAlertActionPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/recipients": { + "get": { + "tags": [ + "alert" + ], + "summary": "List Alert Recipients", + "description": "List alert recipients for the given alert identifier", + "operationId": "listRecipients", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-list-alert-recipients" + }, + "x-collapse-params": "ListAlertRecipientsRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + } + ], + "responses": { + "200": { + "description": "Returns alert recipients for the given alert identifier", + "schema": { + "$ref": "#/definitions/ListAlertRecipientsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/logs": { + "get": { + "tags": [ + "alert" + ], + "summary": "List Alert Logs", + "description": "List alert logs for the given alert identifier", + "operationId": "listLogs", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-list-alert-logs" + }, + "x-collapse-params": "ListAlertLogsRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "$ref": "#/parameters/OffsetParam" + }, + { + "$ref": "#/parameters/PageDirectionParam" + }, + { + "$ref": "#/parameters/AlertLimitParam" + }, + { + "$ref": "#/parameters/OrderParam" + } + ], + "responses": { + "200": { + "description": "Returns alert logs for the given alert identifier", + "schema": { + "$ref": "#/definitions/ListAlertLogsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + }, + "X-Paging-Next": { + "description": "Next page url", + "type": "string" + }, + "X-Paging-First": { + "description": "First page url", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/attachments": { + "get": { + "tags": [ + "alert" + ], + "summary": "List Alert Attachments", + "description": "List alert attachment names and urls for related alert", + "operationId": "listAttachments", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-list-alert-attachments" + }, + "x-collapse-params": "ListAlertAttachmentsRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType2" + } + ], + "responses": { + "200": { + "description": "Returns name and url for given identifier", + "schema": { + "$ref": "#/definitions/ListAlertAttachmentsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "alert" + ], + "summary": "Add Alert Attachment", + "description": "Add Alert Attachment to related alert", + "operationId": "addAttachment", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-create-alert-attachment" + }, + "x-collapse-params": "AddAttachmentToAlertRequest", + "consumes": [ + "multipart/form-data" + ], + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType2" + }, + { + "name": "file", + "in": "formData", + "required": true, + "description": "Attachment file to be uploaded", + "type": "file" + }, + { + "name": "user", + "in": "formData", + "description": "Display name of the request owner", + "required": false, + "type": "string" + }, + { + "name": "indexFile", + "in": "formData", + "description": "Name of html file which will be shown when attachment clicked on UI", + "required": false, + "type": "string" + } + ], + "responses": { + "201": { + "description": "Returns attachment id", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "description": "Corrupted file", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + } + } + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/attachments/{attachmentId}": { + "get": { + "tags": [ + "alert" + ], + "summary": "Get Alert Attachment", + "description": "Get alert attachment name and url for the given identifier", + "operationId": "getAttachment", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-get-alert-attachment" + }, + "x-collapse-params": "GetAlertAttachmentRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType2" + }, + { + "name": "attachmentId", + "in": "path", + "description": "Identifier of alert attachment", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "Returns name and url for given identifier", + "schema": { + "$ref": "#/definitions/GetAlertAttachmentResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "alert" + ], + "summary": "Remove Alert Attachment", + "description": "Remove alert attachment for the given identifier", + "operationId": "removeAttachment", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-delete-alert-attachment" + }, + "x-collapse-params": "RemoveAttachmentFromAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType2" + }, + { + "name": "attachmentId", + "in": "path", + "description": "Identifier of alert attachment", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/parameters/AlertUserParam" + } + ], + "responses": { + "200": { + "description": "Returns deleted messsage for this async operation.", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/tags": { + "post": { + "tags": [ + "alert" + ], + "summary": "Add Tags", + "description": "Add tags to the alert with given identifier", + "operationId": "addTags", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-add-tags-to-alert" + }, + "x-collapse-params": "AddTagsToAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of creating alert tags action", + "required": true, + "schema": { + "$ref": "#/definitions/AddTagsToAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "alert" + ], + "summary": "Remove Tags", + "description": "Remove tags of the alert with given identifier", + "operationId": "removeTags", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-remove-tags-from-alert" + }, + "x-collapse-params": "RemoveTagsFromAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "$ref": "#/parameters/AlertUserParam" + }, + { + "$ref": "#/parameters/AlertNoteParam" + }, + { + "$ref": "#/parameters/AlertSourceParam" + }, + { + "name": "tags", + "in": "query", + "description": "Tags field of the given alert as comma seperated values (e.g. 'tag1, tag2')", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv" + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/details": { + "post": { + "tags": [ + "alert" + ], + "summary": "Add Details", + "description": "Add details to the alert with given identifier", + "operationId": "addDetails", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-add-details-custom-properties-to-alert" + }, + "x-collapse-params": "AddDetailsToAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of adding alert details action", + "required": true, + "schema": { + "$ref": "#/definitions/AddDetailsToAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "alert" + ], + "summary": "Remove Details", + "description": "Remove details of the alert with given identifier", + "operationId": "removeDetails", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-remove-details-custom-properties-from-alert" + }, + "x-collapse-params": "RemoveDetailsFromAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "$ref": "#/parameters/AlertUserParam" + }, + { + "$ref": "#/parameters/AlertNoteParam" + }, + { + "$ref": "#/parameters/AlertSourceParam" + }, + { + "name": "keys", + "in": "query", + "description": "Comma separated list of keys to remove from the custom properties of the alert (e.g. 'key1,key2')", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv" + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/notes": { + "get": { + "tags": [ + "alert" + ], + "summary": "List Alert Notes", + "description": "List alert notes for the given alert identifier", + "operationId": "listNotes", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-list-alert-notes" + }, + "x-collapse-params": "ListAlertNotesRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "$ref": "#/parameters/OffsetParam" + }, + { + "$ref": "#/parameters/PageDirectionParam" + }, + { + "$ref": "#/parameters/AlertLimitParam" + }, + { + "$ref": "#/parameters/OrderParam" + } + ], + "responses": { + "200": { + "description": "Returns alert notes for the given alert identifier", + "schema": { + "$ref": "#/definitions/ListAlertNotesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + }, + "X-Paging-Next": { + "description": "Next page url", + "type": "string" + }, + "X-Paging-First": { + "description": "First page url", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "alert" + ], + "summary": "Add Note", + "description": "Adds note to alert with given identifier", + "operationId": "addNote", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-add-note-to-alert" + }, + "x-collapse-params": "AddNoteToAlertRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of adding note to alert action", + "required": true, + "schema": { + "$ref": "#/definitions/AddNoteToAlertPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/saved-searches": { + "get": { + "tags": [ + "alert" + ], + "summary": "Lists Saved Searches", + "description": "List all saved searches", + "operationId": "listSavedSearches", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-list-saved-searches" + }, + "responses": { + "200": { + "description": "Returns saved search list", + "schema": { + "$ref": "#/definitions/ListSavedSearchesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "alert" + ], + "summary": "Create Saved Search", + "description": "Create saved search with given fields", + "operationId": "createSavedSearches", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-create-a-saved-search" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of creating saved search", + "required": true, + "schema": { + "$ref": "#/definitions/CreateSavedSearchPayload" + } + } + ], + "responses": { + "201": { + "description": "Returns saved search meta information", + "schema": { + "$ref": "#/definitions/CreateSavedSearchResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/saved-searches/{identifier}": { + "get": { + "tags": [ + "alert" + ], + "summary": "Get Saved Search", + "description": "Get saved search for the given search identifier", + "operationId": "getSavedSearch", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/alert-api#section-get-saved-search" + }, + "x-collapse-params": "GetSavedSearchRequest", + "parameters": [ + { + "$ref": "#/parameters/SearchIdentifier" + }, + { + "$ref": "#/parameters/SearchIdentifierType" + } + ], + "responses": { + "200": { + "description": "Returns saved search for given identifier", + "schema": { + "$ref": "#/definitions/GetSavedSearchResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "alert" + ], + "summary": "Delete Saved Search", + "description": "Deletes saved search using given search identifier", + "operationId": "deleteSavedSearch", + "x-collapse-params": "DeleteSavedSearchRequest", + "parameters": [ + { + "$ref": "#/parameters/SearchIdentifier" + }, + { + "$ref": "#/parameters/SearchIdentifierType" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "alert" + ], + "summary": "Update Saved Search", + "description": "Update saved search for the given search identifier", + "operationId": "updateSavedSearch", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-api-continued#section-update-saved-search" + }, + "x-collapse-params": "UpdateSavedSearchRequest", + "parameters": [ + { + "$ref": "#/parameters/SearchIdentifier" + }, + { + "$ref": "#/parameters/SearchIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of updating saved search", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateSavedSearchPayload" + } + } + ], + "responses": { + "200": { + "description": "Returns saved search for given identifier", + "schema": { + "$ref": "#/definitions/GetSavedSearchResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/count": { + "get": { + "tags": [ + "alert" + ], + "summary": "Count Alerts", + "description": "Count alerts in Opsgenie", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-api#section-count-alerts" + }, + "operationId": "countAlerts", + "x-collapse-params": "GetCountAlertsRequest", + "parameters": [ + { + "name": "query", + "in": "query", + "description": "Search query to apply while filtering the alerts", + "required": false, + "type": "string" + }, + { + "name": "searchIdentifier", + "in": "query", + "description": "Identifier of the saved search query to apply while filtering the alerts", + "required": false, + "type": "string" + }, + { + "name": "searchIdentifierType", + "in": "query", + "description": "Identifier type of the saved search query. Possible values are id and name. Default value is id. If searchIdentifier is not provided, this value is ignored.", + "type": "string", + "default": "id", + "enum": [ + "id", + "name" + ] + } + ], + "responses": { + "200": { + "description": "Returns saved search for given identifier", + "schema": { + "$ref": "#/definitions/GetCountAlertsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/message": { + "put": { + "tags": [ + "alert" + ], + "summary": "Update Alert Message", + "description": "Update the message of the alert with given identifier", + "operationId": "updateAlertMessage", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-api-continued#section-update-alert-message" + }, + "x-collapse-params": "UpdateAlertMessageRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update alert message", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateAlertMessagePayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/description": { + "put": { + "tags": [ + "alert" + ], + "summary": "Update Alert Description", + "description": "Update the description of the alert with given identifier", + "operationId": "updateAlertDescription", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-api-continued#section-update-alert-description" + }, + "x-collapse-params": "UpdateAlertDescriptionRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update alert description", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateAlertDescriptionPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/alerts/{identifier}/priority": { + "put": { + "tags": [ + "alert" + ], + "summary": "Update Alert Priority", + "description": "Update the priority of the alert with given identifier", + "operationId": "updateAlertPriority", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-api-continued#section-update-alert-priority" + }, + "x-collapse-params": "UpdateAlertPriorityRequest", + "parameters": [ + { + "$ref": "#/parameters/AlertIdentifier" + }, + { + "$ref": "#/parameters/AlertIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update alert priority", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateAlertPriorityPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/integrations": { + "get": { + "tags": [ + "integration" + ], + "summary": "List Integrations", + "description": "Returns list of integrations with given parameters", + "operationId": "listIntegrations", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-list-integrations" + }, + "x-collapse-params": "ListIntegrationRequest", + "parameters": [ + { + "$ref": "#/parameters/IntegrationType" + }, + { + "$ref": "#/parameters/IntegrationTeamId" + }, + { + "$ref": "#/parameters/IntegrationTeamName" + } + ], + "responses": { + "200": { + "description": "List of integration informations", + "schema": { + "$ref": "#/definitions/ListIntegrationsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "integration" + ], + "summary": "Create Integration", + "description": "Creates a new integration", + "operationId": "createIntegration", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-create-api-based-integration" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of created integration", + "required": true, + "schema": { + "$ref": "#/definitions/Integration" + } + } + ], + "responses": { + "201": { + "description": "Integration meta information for created integration", + "schema": { + "$ref": "#/definitions/CreateIntegrationResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/integrations/{id}": { + "get": { + "tags": [ + "integration" + ], + "summary": "Get Integration", + "description": "Returns integration with given id", + "operationId": "getIntegration", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-get-integration" + }, + "parameters": [ + { + "$ref": "#/parameters/IntegrationId" + } + ], + "responses": { + "200": { + "description": "Integration information for given identifier", + "schema": { + "$ref": "#/definitions/GetIntegrationResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "put": { + "tags": [ + "integration" + ], + "summary": "Update Integration", + "description": "Update integration with given id", + "operationId": "updateIntegration", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-update-integration" + }, + "x-collapse-params": "UpdateIntegrationRequest", + "parameters": [ + { + "$ref": "#/parameters/IntegrationId" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update integration action", + "required": true, + "schema": { + "$ref": "#/definitions/Integration" + } + } + ], + "responses": { + "200": { + "description": "Integration information for given identifier", + "schema": { + "$ref": "#/definitions/UpdateIntegrationResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "integration" + ], + "summary": "Delete Integration", + "description": "Delete integration with given id", + "operationId": "deleteIntegration", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-delete-integration" + }, + "parameters": [ + { + "$ref": "#/parameters/IntegrationId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/integrations/{id}/enable": { + "post": { + "tags": [ + "integration" + ], + "summary": "Enable Integration", + "description": "Enable integration with given ID", + "operationId": "enableIntegration", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-enable-integration" + }, + "parameters": [ + { + "$ref": "#/parameters/IntegrationId" + } + ], + "responses": { + "201": { + "description": "Integration information for given identifier", + "schema": { + "$ref": "#/definitions/EnableIntegrationResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/integrations/{id}/disable": { + "post": { + "tags": [ + "integration" + ], + "summary": "Disable Integration", + "description": "Disable integration with given ID", + "operationId": "disableIntegration", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-disable-integration" + }, + "parameters": [ + { + "$ref": "#/parameters/IntegrationId" + } + ], + "responses": { + "201": { + "description": "Integration information for given identifier", + "schema": { + "$ref": "#/definitions/DisableIntegrationResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/integrations/authenticate": { + "post": { + "tags": [ + "integration" + ], + "summary": "Authenticate Integration", + "description": "Authenticates integration with given type", + "operationId": "authenticateIntegration", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-authenticate-integration" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload to authenticate integration", + "required": true, + "schema": { + "$ref": "#/definitions/AuthenticateIntegrationPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/json/dynatraceappmon": { + "post": { + "operationId": "dynaIntegration", + "parameters": [ + { + "in": "query", + "name": "apiKey", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success response" + } + } + } + }, + "/v2/integrations/{id}/actions": { + "get": { + "tags": [ + "integration-action" + ], + "summary": "List Integration Actions", + "description": "List integration actions of given integration id", + "operationId": "listIntegrationActions", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-get-integration-actions" + }, + "parameters": [ + { + "$ref": "#/parameters/IntegrationId" + } + ], + "responses": { + "200": { + "description": "List of integration actions", + "schema": { + "$ref": "#/definitions/ListIntegrationActionsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "put": { + "tags": [ + "integration-action" + ], + "summary": "Update Integration Actions", + "description": "Updates integration actions of given integration id", + "operationId": "updateIntegrationActions", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-update-all-integration-actions" + }, + "x-collapse-params": "UpdateIntegrationActionRequest", + "parameters": [ + { + "$ref": "#/parameters/IntegrationId" + }, + { + "name": "body", + "in": "body", + "description": "Request payload to update integration actions", + "required": true, + "schema": { + "$ref": "#/definitions/ActionCategorized" + } + } + ], + "responses": { + "200": { + "description": "List of integration actions", + "schema": { + "$ref": "#/definitions/UpdateIntegrationActionsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "integration-action" + ], + "summary": "Create Integration Action", + "description": "Creates integration actions of given integration id", + "operationId": "createIntegrationAction", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/integration-api#section-create-a-new-integration-action" + }, + "x-collapse-params": "CreateIntegrationActionRequest", + "parameters": [ + { + "$ref": "#/parameters/IntegrationId" + }, + { + "name": "body", + "in": "body", + "description": "Request payload to create integration action", + "required": true, + "schema": { + "$ref": "#/definitions/BaseIntegrationAction" + } + } + ], + "responses": { + "201": { + "description": "List of integration actions", + "schema": { + "$ref": "#/definitions/CreateIntegrationActionsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/heartbeats/{name}/ping": { + "get": { + "tags": [ + "heartbeat" + ], + "summary": "Ping Heartbeat", + "description": "Ping Heartbeat for given heartbeat name", + "operationId": "ping", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/heartbeat-api#section-ping-heartbeat-request" + }, + "parameters": [ + { + "$ref": "#/parameters/HeartbeatName" + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/heartbeats": { + "get": { + "tags": [ + "heartbeat" + ], + "summary": "List Heartbeats", + "description": "Returns list of Heartbeats", + "operationId": "listHeartBeats", + "x-collapse-params": "ListHeartBeatRequest", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/heartbeat-api#section-list-heartbeats" + }, + "responses": { + "200": { + "description": "List of heartbeat informations", + "schema": { + "$ref": "#/definitions/ListHeartbeatResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + }, + "X-Paging-Prev": { + "description": "Previous page url", + "type": "string" + }, + "X-Paging-Next": { + "description": "Next page url", + "type": "string" + }, + "X-Paging-First": { + "description": "First page url", + "type": "string" + }, + "X-Paging-Last": { + "description": "Last page url", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "heartbeat" + ], + "summary": "Create Heartbeat", + "description": "Create a new heartbeat", + "operationId": "createHeartbeat", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/heartbeat-api#section-add-heartbeat-request" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of created heartbeat", + "required": true, + "schema": { + "$ref": "#/definitions/CreateHeartbeatPayload" + } + } + ], + "responses": { + "201": { + "description": "Heartbeat information for created heartbeat name", + "schema": { + "$ref": "#/definitions/CreateHeartbeatResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/heartbeats/{name}": { + "get": { + "tags": [ + "heartbeat" + ], + "summary": "Get Heartbeat", + "description": "Returns heartbeat with given name", + "operationId": "getHeartbeat", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/heartbeat-api#section-get-heartbeat-request" + }, + "parameters": [ + { + "$ref": "#/parameters/HeartbeatName" + } + ], + "responses": { + "200": { + "description": "Heartbeat information for given heartbeat name", + "schema": { + "$ref": "#/definitions/GetHeartbeatResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "heartbeat" + ], + "summary": "Update Heartbeat (Partial)", + "description": "Update Heartbeatwith given name", + "operationId": "updateHeartbeat", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/heartbeat-api#section-update-heartbeat-request-partial" + }, + "x-collapse-params": "UpdateHeartbeatRequest", + "parameters": [ + { + "$ref": "#/parameters/HeartbeatName" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update heartbeat action", + "schema": { + "$ref": "#/definitions/UpdateHeartbeatPayload" + } + } + ], + "responses": { + "200": { + "description": "Heartbeat meta information for given heartbeat name", + "schema": { + "$ref": "#/definitions/UpdateHeartbeatResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "heartbeat" + ], + "summary": "Delete Heartbeat", + "description": "Delete heartbeat with given name", + "operationId": "deleteHeartbeat", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/heartbeat-api#section-delete-heartbeat-request" + }, + "parameters": [ + { + "$ref": "#/parameters/HeartbeatName" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/heartbeats/{name}/enable": { + "post": { + "tags": [ + "heartbeat" + ], + "summary": "Enable Heartbeat", + "description": "Enable heartbeat request with given name", + "operationId": "enableHeartbeat", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/heartbeat-api#section-enable-heartbeat-request" + }, + "parameters": [ + { + "$ref": "#/parameters/HeartbeatName" + } + ], + "responses": { + "200": { + "description": "Heartbeat meta information for given heartbeat name", + "schema": { + "$ref": "#/definitions/EnableHeartbeatResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/heartbeats/{name}/disable": { + "post": { + "tags": [ + "heartbeat" + ], + "summary": "Disable Heartbeat", + "description": "Disable heartbeat request with given name", + "operationId": "disableHeartbeat", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/heartbeat-api#section-disable-heartbeat-request" + }, + "parameters": [ + { + "$ref": "#/parameters/HeartbeatName" + } + ], + "responses": { + "200": { + "description": "Heartbeat meta information for given heartbeat name", + "schema": { + "$ref": "#/definitions/DisableHeartbeatResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/policies": { + "get": { + "tags": [ + "deprecatedPolicy" + ], + "summary": "List Alert Policies", + "description": "Returns list alert policies", + "operationId": "listAlertPoliciesV1", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/policy-api#section-list-policies" + }, + "responses": { + "200": { + "description": "List of policies", + "schema": { + "$ref": "#/definitions/DeprecatedListAlertPoliciesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "deprecatedPolicy" + ], + "summary": "Create Alert Policy", + "description": "Creates a new alert policy", + "operationId": "createAlertPolicy", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/policy-api#section-create-policy" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Payload of created alert policy", + "required": true, + "schema": { + "$ref": "#/definitions/DeprecatedAlertPolicy" + } + } + ], + "responses": { + "201": { + "description": "Policy meta information for created policy", + "schema": { + "$ref": "#/definitions/DeprecatedCreateAlertPolicyResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/policies/{policyId}": { + "get": { + "tags": [ + "deprecatedPolicy" + ], + "summary": "Get Alert Policy", + "description": "Used to get details of a single policy with id", + "operationId": "getAlertPolicy", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/policy-api#section-get-policy" + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + } + ], + "responses": { + "200": { + "description": "Alert policy with given id", + "schema": { + "$ref": "#/definitions/DeprecatedGetAlertPolicyResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "put": { + "tags": [ + "deprecatedPolicy" + ], + "summary": "Update Alert Policy", + "description": "Update alert policy with given id", + "operationId": "updateAlertPolicy", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/policy-api#section-update-policy" + }, + "x-collapse-params": "UpdateAlertPolicyRequest", + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + }, + { + "name": "body", + "in": "body", + "description": "Payload of updated alert policy", + "required": true, + "schema": { + "$ref": "#/definitions/DeprecatedAlertPolicy" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "deprecatedPolicy" + ], + "summary": "Delete Alert Policy", + "description": "Delete alert policy with given id", + "operationId": "deleteAlertPolicy", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/policy-api#section-delete-policy" + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/policies/{policyId}/enable": { + "post": { + "tags": [ + "deprecatedPolicy" + ], + "summary": "Enable Alert Policy", + "description": "Enable the alert policy with given id", + "operationId": "enableAlertPolicy", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/policy-api#section-enable-policy" + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/policies/{policyId}/disable": { + "post": { + "tags": [ + "deprecatedPolicy" + ], + "summary": "Disable Alert Policy", + "description": "Disable the alert policy with given id", + "operationId": "disableAlertPolicy", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/policy-api#section-disable-policy" + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/policies/{policyId}/change-order": { + "post": { + "tags": [ + "deprecatedPolicy" + ], + "summary": "Change Alert Policy Order", + "description": "Change execution order of the alert policy with given id", + "operationId": "changeAlertPolicyOrder", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/policy-api#section-change-policy-order" + }, + "x-collapse-params": "ChangeAlertPolicyOrderRequest", + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + }, + { + "name": "body", + "in": "body", + "description": "Change order payload", + "required": true, + "schema": { + "$ref": "#/definitions/DeprecatedChangeAlertPolicyOrderPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/maintenance": { + "post": { + "tags": [ + "maintenance" + ], + "summary": "Create Maintenance", + "description": "Creates a new maintenance", + "operationId": "createMaintenance", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/maintenance-api#section-create-maintenance" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of the maintenance object", + "required": true, + "schema": { + "$ref": "#/definitions/CreateMaintenancePayload" + } + } + ], + "responses": { + "201": { + "description": "Returns maintenance meta data", + "schema": { + "$ref": "#/definitions/CreateMaintenanceResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "maintenance" + ], + "summary": "List Maintenance", + "description": "List maintenance by type", + "operationId": "listMaintenance", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/maintenance-api#section-list-maintenance" + }, + "parameters": [ + { + "$ref": "#/parameters/MaintenanceListType" + } + ], + "responses": { + "200": { + "description": "List of maintenance data searched by list type", + "schema": { + "$ref": "#/definitions/ListMaintenanceResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/maintenance/{id}": { + "get": { + "tags": [ + "maintenance" + ], + "summary": "Get Maintenance", + "description": "Returns maintenance with given id", + "operationId": "getMaintenance", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/maintenance-api#section-get-maintenance" + }, + "parameters": [ + { + "$ref": "#/parameters/MaintenanceIdentifier" + } + ], + "responses": { + "200": { + "description": "Maintenance information for given identifier", + "schema": { + "$ref": "#/definitions/GetMaintenanceResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "put": { + "tags": [ + "maintenance" + ], + "summary": "Update Maintenance", + "description": "Update maintenance with given id", + "operationId": "updateMaintenance", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/maintenance-api#section-update-maintenance" + }, + "x-collapse-params": "UpdateMaintenanceRequest", + "parameters": [ + { + "$ref": "#/parameters/MaintenanceIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of the maintenance object", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateMaintenancePayload" + } + } + ], + "responses": { + "200": { + "description": "Maintenance information for given identifier", + "schema": { + "$ref": "#/definitions/UpdateMaintenanceResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "maintenance" + ], + "summary": "Delete Maintenance", + "description": "Delete maintenance with given identifier", + "operationId": "deleteMaintenance", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/maintenance-api#section-delete-maintenance" + }, + "parameters": [ + { + "$ref": "#/parameters/MaintenanceIdentifier" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/maintenance/{id}/cancel": { + "post": { + "tags": [ + "maintenance" + ], + "summary": "Cancel Maintenance", + "description": "Cancel maintenance with given id", + "operationId": "cancelMaintenance", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/maintenance-api#section-cancel-maintenance" + }, + "parameters": [ + { + "$ref": "#/parameters/MaintenanceIdentifier" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/account": { + "get": { + "tags": [ + "account" + ], + "summary": "Get Account Info", + "description": "Used to search and retrieve account information in Opsgenie", + "operationId": "getInfo", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/account-api#section-get-account-info" + }, + "responses": { + "200": { + "description": "Request status information for given id", + "schema": { + "$ref": "#/definitions/GetAccountInfoResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users": { + "post": { + "tags": [ + "user" + ], + "summary": "Create User", + "description": "Creates a user with the given payload", + "operationId": "createUser", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/user-api#section-create-user" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of the user object", + "required": true, + "schema": { + "$ref": "#/definitions/CreateUserPayload" + } + } + ], + "responses": { + "201": { + "description": "User meta information for created user", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "user" + ], + "summary": "List users", + "description": "List users with given parameters", + "operationId": "listUsers", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/user-api#section-list-user" + }, + "x-collapse-params": "ListUsersRequest", + "parameters": [ + { + "$ref": "#/parameters/UserLimitParam" + }, + { + "$ref": "#/parameters/UserOffsetParam" + }, + { + "$ref": "#/parameters/UserSortParam" + }, + { + "$ref": "#/parameters/UserOrderParam" + }, + { + "$ref": "#/parameters/UserQueryParam" + } + ], + "responses": { + "200": { + "description": "List of users with given parameters", + "schema": { + "$ref": "#/definitions/ListUsersResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + }, + "X-Paging-Prev": { + "description": "Previous page url", + "type": "string" + }, + "X-Paging-Next": { + "description": "Next page url", + "type": "string" + }, + "X-Paging-First": { + "description": "First page url", + "type": "string" + }, + "X-Paging-Last": { + "description": "Last page url", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}": { + "get": { + "tags": [ + "user" + ], + "summary": "Get User", + "description": "Get user for the given identifier", + "operationId": "getUser", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/user-api#section-get-user" + }, + "x-collapse-params": "GetUserRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "name": "expand", + "in": "query", + "description": "Comma separated list of strings to create a more detailed response. The only expandable field for user api is 'contact'", + "required": false, + "collectionFormat": "csv", + "type": "array", + "items": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "User information for the given identifier", + "schema": { + "$ref": "#/definitions/GetUserResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "user" + ], + "summary": "Update User (Partial)", + "description": "Update user with the given identifier", + "operationId": "updateUser", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/user-api#section-update-user-partial" + }, + "x-collapse-params": "UpdateUserRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of the user object", + "schema": { + "$ref": "#/definitions/UpdateUserPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "user" + ], + "summary": "Delete User", + "description": "Delete user with the given identifier", + "operationId": "deleteUser", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/user-api#section-delete-user" + }, + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/teams": { + "get": { + "tags": [ + "user" + ], + "summary": "List User Teams", + "description": "List user teams for the given user identifier", + "operationId": "listUserTeams", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/user-api#section-list-user-teams" + }, + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + } + ], + "responses": { + "200": { + "description": "List of team information for the given user identifier", + "schema": { + "$ref": "#/definitions/ListUserTeamsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/forwarding-rules": { + "get": { + "tags": [ + "user" + ], + "summary": "List User Forwarding Rules", + "description": "List user forwarding rules for the given user identifier", + "operationId": "listUserForwardingRules", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/user-api#section-list-user-forwarding-rules" + }, + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + } + ], + "responses": { + "200": { + "description": "List of forwarding rules for the given user identifier", + "schema": { + "$ref": "#/definitions/ListUserForwardingRulesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/escalations": { + "get": { + "tags": [ + "user" + ], + "summary": "List User Escalations", + "description": "List escalations of the user for the given identifier", + "operationId": "listUserEscalations", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/user-api#section-list-user-escalations" + }, + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + } + ], + "responses": { + "200": { + "description": "List of escalations for the given user identifier", + "schema": { + "$ref": "#/definitions/ListUserEscalationsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/schedules": { + "get": { + "tags": [ + "user" + ], + "summary": "List User Schedules", + "description": "List schedules of the user for the given identifier", + "operationId": "listUserSchedules", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/user-api#section-list-user-schedules" + }, + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + } + ], + "responses": { + "200": { + "description": "List of schedules for the given user identifier", + "schema": { + "$ref": "#/definitions/ListUserSchedulesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/contacts": { + "post": { + "tags": [ + "contact" + ], + "summary": "Create Contact", + "description": "Creates a new contact", + "operationId": "createContact", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/contact-api#section-create-contact" + }, + "x-collapse-params": "CreateContactRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of creating contact action", + "schema": { + "$ref": "#/definitions/CreateContactPayload" + } + } + ], + "responses": { + "201": { + "description": "Contact information for created contact", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "contact" + ], + "summary": "List Contacts", + "description": "Returns list of contacts", + "operationId": "listContacts", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/contact-api#section-list-contacts" + }, + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + } + ], + "responses": { + "200": { + "description": "List of contact informations", + "schema": { + "$ref": "#/definitions/ListContactsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/contacts/{contactId}": { + "patch": { + "tags": [ + "contact" + ], + "summary": "Update Contact (Partial)", + "description": "Update contact of the user", + "operationId": "updateContact", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/contact-api#section-update-contact-partial" + }, + "x-collapse-params": "UpdateContactRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/ContactId" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update contact action", + "required": false, + "schema": { + "$ref": "#/definitions/UpdateContactPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "contact" + ], + "summary": "Get Contact", + "description": "Returns contact with given id", + "operationId": "getContact", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/contact-api#section-get-contact" + }, + "x-collapse-params": "GetContactRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/ContactId" + } + ], + "responses": { + "200": { + "description": "Contact information for given identifier", + "schema": { + "$ref": "#/definitions/GetContactResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "contact" + ], + "summary": "Delete Contact", + "description": "Delete contact using contact id", + "operationId": "deleteContact", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/contact-api#section-delete-contact" + }, + "x-collapse-params": "DeleteContactRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/ContactId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/contacts/{contactId}/enable": { + "post": { + "tags": [ + "contact" + ], + "summary": "Enable Contact", + "description": "Enable the contact of the user", + "operationId": "enableContact", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/contact-api#section-enable-contact" + }, + "x-collapse-params": "EnableContactRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/ContactId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/contacts/{contactId}/disable": { + "post": { + "tags": [ + "contact" + ], + "summary": "Disable Contact", + "description": "Disable the contact of the user", + "operationId": "disableContact", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/contact-api#section-disable-contact" + }, + "x-collapse-params": "DisableContactRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/ContactId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/notification-rules": { + "get": { + "tags": [ + "notification-rule" + ], + "summary": "List Notification Rules", + "description": "Returns list of notification rules", + "operationId": "listNotificationRules", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-api#section-list-notification-rule" + }, + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + } + ], + "responses": { + "200": { + "description": "List of notification rules", + "schema": { + "$ref": "#/definitions/ListNotificationRulesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "notification-rule" + ], + "summary": "Create Notification Rule", + "description": "Creates a new notification rule", + "operationId": "createNotificationRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-api#section-create-notification-rule" + }, + "x-collapse-params": "CreateNotificationRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of create notification rule", + "required": true, + "schema": { + "$ref": "#/definitions/CreateNotificationRulePayload" + } + } + ], + "responses": { + "201": { + "description": "Notification rule meta information for created notification rule", + "schema": { + "$ref": "#/definitions/CreateNotificationRuleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/notification-rules/{ruleId}": { + "get": { + "tags": [ + "notification-rule" + ], + "summary": "Get Notification Rule", + "description": "Returns notification rule with given id", + "operationId": "getNotificationRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-api#section-get-notification-rule" + }, + "x-collapse-params": "GetNotificationRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + } + ], + "responses": { + "200": { + "description": "Notification rule information for given identifier", + "schema": { + "$ref": "#/definitions/GetNotificationRuleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "notification-rule" + ], + "summary": "Delete Notification Rule", + "description": "Deletes a notification rule with given notification rule id", + "operationId": "deleteNotificationRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-api#section-delete-notification-rule" + }, + "x-collapse-params": "DeleteNotificationRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "notification-rule" + ], + "summary": "Update Notification Rule (Partial)", + "description": "Updates the notification rule with given notification rule id", + "operationId": "updateNotificationRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-api#section-update-notification-rule-partial" + }, + "x-collapse-params": "UpdateNotificationRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update notification rule", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateNotificationRulePayload" + } + } + ], + "responses": { + "200": { + "description": "Notification rule meta information for updated notification rule", + "schema": { + "$ref": "#/definitions/UpdateNotificationRuleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/notification-rules/{ruleId}/enable": { + "post": { + "tags": [ + "notification-rule" + ], + "summary": "Enable Notification Rule", + "description": "Enables a notification rule with given notification rule id", + "operationId": "enableNotificationRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-api#section-enable-notification-rule" + }, + "x-collapse-params": "EnableNotificationRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/notification-rules/{ruleId}/disable": { + "post": { + "tags": [ + "notification-rule" + ], + "summary": "Disable Notification Rule", + "description": "Disables a notification rule with given notification rule id", + "operationId": "disableNotificationRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-api#section-disable-notification-rule" + }, + "x-collapse-params": "DisableNotificationRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/notification-rules/{ruleId}/change-order": { + "post": { + "tags": [ + "notification-rule" + ], + "summary": "Change order of Notification Rule", + "description": "Changes order of a notification rule with given notification rule id", + "operationId": "changeNotificationRuleOrder", + "x-collapse-params": "ChangeNotificationRuleOrderRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of change order of notification rule", + "required": true, + "schema": { + "$ref": "#/definitions/ChangeNotificationRuleOrderPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/notification-rules/{ruleId}/steps": { + "get": { + "tags": [ + "notification-rule-step" + ], + "summary": "List Notification Rule Steps", + "description": "Returns list of notification rule steps", + "operationId": "listNotificationRuleSteps", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-step-api#section-list-notification-rule-step" + }, + "x-collapse-params": "ListNotificationRuleStepsRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + } + ], + "responses": { + "200": { + "description": "List of notification rule steps", + "schema": { + "$ref": "#/definitions/ListNotificationRuleStepsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "notification-rule-step" + ], + "summary": "Create Notification Rule Step", + "description": "Creates a new notification rule step", + "operationId": "createNotificationRuleStep", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-step-api#section-create-notification-rule-step" + }, + "x-collapse-params": "CreateNotificationRuleStepRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload to create notification rule step", + "required": true, + "schema": { + "$ref": "#/definitions/CreateNotificationRuleStepPayload" + } + } + ], + "responses": { + "201": { + "description": "Notification rule step is created successfully", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/notification-rules/{ruleId}/steps/{id}": { + "get": { + "tags": [ + "notification-rule-step" + ], + "summary": "Get Notification Rule Step", + "description": "Returns notification rule step with given user identifier and rule id", + "operationId": "getNotificationRuleStep", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-step-api#section-get-notification-rule-step" + }, + "x-collapse-params": "GetNotificationRuleStepRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleStepId" + } + ], + "responses": { + "200": { + "description": "Notification rule step object that is retrieved", + "schema": { + "$ref": "#/definitions/GetNotificationRuleStepResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "notification-rule-step" + ], + "summary": "Delete Notification Rule Step", + "description": "Deletes a notification rule step using user identifier, rule id, notification rule step id", + "operationId": "deleteNotificationRuleStep", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-step-api#section-delete-notification-rule-step" + }, + "x-collapse-params": "DeleteNotificationRuleStepRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleStepId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "notification-rule-step" + ], + "summary": "Update Notification Rule Step (Partial)", + "description": "Update a notification rule step with given user identifier, rule id, and notification rule step id", + "operationId": "updateNotificationRuleStep", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-step-api#section-update-notification-rule-step-partial" + }, + "x-collapse-params": "UpdateNotificationRuleStepRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleStepId" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update schedule action", + "required": false, + "schema": { + "$ref": "#/definitions/UpdateNotificationRuleStepPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/notification-rules/{ruleId}/steps/{id}/disable": { + "post": { + "tags": [ + "notification-rule-step" + ], + "summary": "Disable Notification Rule Step", + "description": "Disables a new notification rule step", + "operationId": "disableNotificationRuleStep", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-step-api#section-disable-notification-rule-step" + }, + "x-collapse-params": "DisableNotificationRuleStepRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleStepId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/users/{identifier}/notification-rules/{ruleId}/steps/{id}/enable": { + "post": { + "tags": [ + "notification-rule-step" + ], + "summary": "Enable Notification Rule Step", + "description": "Enables a new notification rule step", + "operationId": "enableNotificationRuleStep", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/notification-rule-step-api#section-enable-notification-rule-step" + }, + "x-collapse-params": "EnableNotificationRuleStepRequest", + "parameters": [ + { + "$ref": "#/parameters/UserIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleIdentifier" + }, + { + "$ref": "#/parameters/NotificationRuleStepId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams": { + "post": { + "tags": [ + "team" + ], + "summary": "Create Team", + "description": "Creates a new team", + "operationId": "createTeam", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-api#section-create-team" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of created team", + "required": true, + "schema": { + "$ref": "#/definitions/CreateTeamPayload" + } + } + ], + "responses": { + "201": { + "description": "Contact information for created contact", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "team" + ], + "summary": "List Teams", + "description": "Return list of teams", + "operationId": "listTeams", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-api#section-list-teams" + }, + "responses": { + "200": { + "description": "Team information for given identifier", + "schema": { + "$ref": "#/definitions/ListTeamsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams/{identifier}": { + "get": { + "tags": [ + "team" + ], + "summary": "Get Team", + "description": "Returns team with given 'id' or 'name'", + "operationId": "getTeam", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-api#section-get-team" + }, + "x-collapse-params": "GetTeamRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType" + } + ], + "responses": { + "200": { + "description": "Team information for given identifier", + "schema": { + "$ref": "#/definitions/GetTeamResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "team" + ], + "summary": "Delete Team", + "description": "Delete team with given id or name", + "operationId": "deleteTeam", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-api#section-delete-team" + }, + "x-collapse-params": "DeleteTeamRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "team" + ], + "summary": "Update Team (Partial)", + "description": "Update team with given id", + "operationId": "updateTeam", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-api#section-update-team-partial" + }, + "x-collapse-params": "UpdateTeamRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update team action", + "schema": { + "$ref": "#/definitions/UpdateTeamPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams/{identifier}/logs": { + "get": { + "tags": [ + "team" + ], + "summary": "List Team Logs", + "description": "Return logs of a team given with identifier", + "operationId": "listTeamLogs", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-api#section-list-team-logs" + }, + "x-collapse-params": "ListTeamLogsRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType" + }, + { + "$ref": "#/parameters/TeamLimitParam" + }, + { + "$ref": "#/parameters/OrderParam" + }, + { + "$ref": "#/parameters/TeamOffsetParam" + } + ], + "responses": { + "200": { + "description": "List of team log informations", + "schema": { + "$ref": "#/definitions/ListTeamLogsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams/{identifier}/members": { + "post": { + "tags": [ + "team-member" + ], + "summary": "Add Team Member", + "description": "Adds a member to team with given identifier", + "operationId": "addTeamMember", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-member-api#section-add-team-member" + }, + "x-collapse-params": "AddTeamMemberRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of added team member", + "required": true, + "schema": { + "$ref": "#/definitions/AddTeamMemberPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams/{identifier}/members/{memberIdentifier}": { + "delete": { + "tags": [ + "team-member" + ], + "summary": "Delete Team Member", + "description": "Deletes the member of team with given identifier", + "operationId": "deleteTeamMember", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-member-api#section-remove-team-member" + }, + "x-collapse-params": "DeleteTeamMemberRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "$ref": "#/parameters/MemberIdentifier" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams/{identifier}/roles": { + "get": { + "tags": [ + "team-role" + ], + "summary": "List Team Roles", + "description": "Returns list of team roles", + "operationId": "listTeamRoles", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-role-api#section-list-team-roles" + }, + "x-collapse-params": "ListTeamRolesRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + } + ], + "responses": { + "200": { + "description": "List of team role informations", + "schema": { + "$ref": "#/definitions/ListTeamRoleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "team-role" + ], + "summary": "Create Team Role", + "description": "Creates a new team role", + "operationId": "createTeamRole", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-role-api#section-create-team-role" + }, + "x-collapse-params": "AddTeamRoleRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of created team role", + "required": true, + "schema": { + "$ref": "#/definitions/CreateTeamRolePayload" + } + } + ], + "responses": { + "201": { + "description": "Team role meta information for created team role", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams/{identifier}/roles/{teamRoleIdentifier}": { + "get": { + "tags": [ + "team-role" + ], + "summary": "Get Team Role", + "description": "Returns team role with given 'id' or 'name'", + "operationId": "getTeamRole", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-role-api#section-get-team-role" + }, + "x-collapse-params": "GetTeamRoleRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "$ref": "#/parameters/TeamRoleIdentifier" + }, + { + "$ref": "#/parameters/TeamRoleIdentifierType" + } + ], + "responses": { + "200": { + "description": "Team Role object that is retrieved", + "schema": { + "$ref": "#/definitions/GetTeamRoleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "team-role" + ], + "summary": "Delete Team Role", + "description": "Deletes a team role using team role 'id' or 'name'", + "operationId": "deleteTeamRole", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-role-api#section-delete-team-role" + }, + "x-collapse-params": "DeleteTeamRoleRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "$ref": "#/parameters/TeamRoleIdentifier" + }, + { + "$ref": "#/parameters/TeamRoleIdentifierType" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "team-role" + ], + "summary": "Update Team Role (Partial)", + "description": "Updates the team role using team role 'id' or 'name'", + "operationId": "updateTeamRole", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-role-api#section-update-team-rolepartial" + }, + "x-collapse-params": "UpdateTeamRoleRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "$ref": "#/parameters/TeamRoleIdentifier" + }, + { + "$ref": "#/parameters/TeamRoleIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update team role", + "schema": { + "$ref": "#/definitions/UpdateTeamRolePayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams/{identifier}/routing-rules": { + "post": { + "tags": [ + "team-routing-rule" + ], + "summary": "Create Team Routing Rule", + "description": "Creates a new team routing rule", + "operationId": "createTeamRoutingRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs//team-routing-rule-api#section-create-team-routing-rule" + }, + "x-collapse-params": "CreateTeamRoutingRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of createTeamRoutingRule", + "required": true, + "schema": { + "$ref": "#/definitions/CreateTeamRoutingRulePayload" + } + } + ], + "responses": { + "201": { + "description": "Information for created team routing rule", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "team-routing-rule" + ], + "summary": "List Team Routing Rules", + "description": "Returns list of team routing rules", + "operationId": "listTeamRoutingRules", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-routing-rule-api#section-list-team-routing-rules" + }, + "x-collapse-params": "ListTeamRoutingRulesRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + } + ], + "responses": { + "200": { + "description": "List of Team Routing Rule informations", + "schema": { + "$ref": "#/definitions/ListTeamRoutingRulesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams/{identifier}/routing-rules/{id}": { + "get": { + "tags": [ + "team-routing-rule" + ], + "summary": "Get Team Routing Rule", + "description": "Returns team routing rule with given id", + "operationId": "getTeamRoutingRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-routing-rule-api#section-get-team-routing-rule" + }, + "x-collapse-params": "GetTeamRoutingRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "$ref": "#/parameters/TeamRoutingRuleId" + } + ], + "responses": { + "200": { + "description": "Team Routing Rule information for given identifier", + "schema": { + "$ref": "#/definitions/GetTeamRoutingRuleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "team-routing-rule" + ], + "summary": "Update Team Routing Rule (Partial)", + "description": "Update routing rule of the team", + "operationId": "updateTeamRoutingRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-routing-rule-api#section-update-team-routing-rule-partial" + }, + "x-collapse-params": "UpdateTeamRoutingRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "$ref": "#/parameters/TeamRoutingRuleId" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update Team Routing Rule action", + "required": false, + "schema": { + "$ref": "#/definitions/UpdateTeamRoutingRulePayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "team-routing-rule" + ], + "summary": "Delete Team Routing Rule", + "description": "Delete team routing rule with given id", + "operationId": "deleteTeamRoutingRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-routing-rule-api#section-delete-team-routing-rule" + }, + "x-collapse-params": "DeleteTeamRoutingRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "$ref": "#/parameters/TeamRoutingRuleId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/teams/{identifier}/routing-rules/{id}/change-order": { + "post": { + "tags": [ + "team-routing-rule" + ], + "summary": "Change Team Routing Rule Order", + "description": "Change the order of team routing rule with given id", + "operationId": "changeTeamRoutingRuleOrder", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/team-routing-rule-api#section-change-team-routing-rule-order" + }, + "x-collapse-params": "ChangeTeamRoutingRuleOrderRequest", + "parameters": [ + { + "$ref": "#/parameters/TeamIdentifier" + }, + { + "$ref": "#/parameters/TeamIdentifierType2" + }, + { + "$ref": "#/parameters/TeamRoutingRuleId" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of change team routing rule order action", + "required": true, + "schema": { + "$ref": "#/definitions/ChangeTeamRoutingRuleOrderPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules": { + "get": { + "tags": [ + "schedule" + ], + "summary": "List Schedules", + "description": "Returns list of schedule", + "operationId": "listSchedules", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-api#section-list-schedules" + }, + "parameters": [ + { + "name": "expand", + "in": "query", + "description": "Returns more detailed response with expanding it. Possible value is 'rotation' which is also returned with expandable field of response", + "required": false, + "collectionFormat": "csv", + "type": "array", + "items": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "List of schedule informations", + "schema": { + "$ref": "#/definitions/ListSchedulesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "schedule" + ], + "summary": "Create Schedule", + "description": "Creates a new schedule", + "operationId": "createSchedule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-api#section-create-schedule" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of created schedule", + "required": true, + "schema": { + "$ref": "#/definitions/CreateSchedulePayload" + } + } + ], + "responses": { + "201": { + "description": "Schedule meta information for created schedule", + "schema": { + "$ref": "#/definitions/CreateScheduleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/{identifier}": { + "get": { + "tags": [ + "schedule" + ], + "summary": "Get Schedule", + "description": "Returns schedule with given id or name", + "operationId": "getSchedule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-api#section-get-schedule" + }, + "x-collapse-params": "GetScheduleRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType" + } + ], + "responses": { + "200": { + "description": "Schedule information for given identifier", + "schema": { + "$ref": "#/definitions/GetScheduleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "schedule" + ], + "summary": "Update Schedule (Partial)", + "description": "Update schedule with given id or name", + "operationId": "updateSchedule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-api#section-update-schedule-partial" + }, + "x-collapse-params": "UpdateScheduleRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update schedule action", + "required": false, + "schema": { + "$ref": "#/definitions/UpdateSchedulePayload" + } + } + ], + "responses": { + "200": { + "description": "Schedule information for given identifier", + "schema": { + "$ref": "#/definitions/UpdateScheduleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "schedule" + ], + "summary": "Delete Schedule", + "description": "Delete schedule with given identifier", + "operationId": "deleteSchedule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-api#section-delete-schedule" + }, + "x-collapse-params": "DeleteScheduleRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/{identifier}/timeline": { + "get": { + "tags": [ + "schedule" + ], + "summary": "Get Schedule Timeline", + "description": "Returns schedule timeline with given id or name", + "operationId": "getScheduleTimeline", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-api#section-get-schedule-timeline" + }, + "x-collapse-params": "GetScheduleTimelineRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType" + }, + { + "name": "expand", + "in": "query", + "description": "Returns more detailed response with expanding it. Possible values are 'base', 'forwarding', and 'override' which is also returned with expandable field of response", + "required": false, + "collectionFormat": "csv", + "type": "array", + "items": { + "type": "string" + } + }, + { + "name": "interval", + "in": "query", + "description": "Length of time as integer in intervalUnits to retrieve the timeline. Default value is 1", + "required": false, + "type": "integer", + "format": "int32", + "default": 1 + }, + { + "name": "intervalUnit", + "in": "query", + "description": "Unit of the time to retrieve the timeline. Available values are 'days', 'weeks' and 'months'. Default value is 'weeks'", + "required": false, + "type": "string", + "enum": [ + "days", + "weeks", + "months" + ] + }, + { + "name": "date", + "in": "query", + "description": "Time to return future date on-call participants. Default date is the moment of the time that request is received", + "required": false, + "type": "string", + "format": "date-time" + } + ], + "responses": { + "200": { + "description": "Schedule timeline information for given schedule identifier", + "schema": { + "$ref": "#/definitions/GetScheduleTimelineResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/{identifier}.ics": { + "get": { + "tags": [ + "schedule" + ], + "summary": "Export Schedule", + "description": "Returns an .ics file as byte array", + "operationId": "exportSchedule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-api#section-export-schedule" + }, + "x-collapse-params": "ExportScheduleRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType" + } + ], + "produces": [ + "text/calendar" + ], + "responses": { + "200": { + "description": "ICS file with exported schedule information for given identifier", + "schema": { + "type": "string", + "format": "byte" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/{identifier}/rotations": { + "post": { + "tags": [ + "schedule-rotation" + ], + "summary": "Create Schedule Rotation", + "description": "Creates a new schedule rotation", + "operationId": "createScheduleRotation", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-rotation-api#section-create-schedule-rotation" + }, + "x-collapse-params": "CreateScheduleRotationRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of created schedule rotation", + "required": true, + "schema": { + "$ref": "#/definitions/CreateScheduleRotationPayload" + } + } + ], + "responses": { + "201": { + "description": "Schedule rotation meta information for created rotation", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "schedule-rotation" + ], + "summary": "List Schedule Rotations", + "description": "Returns list of schedule rotations", + "operationId": "listScheduleRotations", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-rotation-api#section-list-schedule-rotations" + }, + "x-collapse-params": "ListScheduleRotationsRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + } + ], + "responses": { + "200": { + "description": "List of schedule rotation informations", + "schema": { + "$ref": "#/definitions/ListScheduleRotationsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/{identifier}/rotations/{id}": { + "get": { + "tags": [ + "schedule-rotation" + ], + "summary": "Get Schedule Rotation", + "description": "Returns schedule rotation with given id", + "operationId": "getScheduleRotation", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-rotation-api#section-get-schedule-rotation" + }, + "x-collapse-params": "GetScheduleRotationRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + }, + { + "$ref": "#/parameters/ScheduleRotationId" + } + ], + "responses": { + "200": { + "description": "Schedule rotation information for given identifier", + "schema": { + "$ref": "#/definitions/GetScheduleRotationResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "schedule-rotation" + ], + "summary": "Update Schedule Rotation (Partial)", + "description": "Update schedule rotation with given id", + "operationId": "updateScheduleRotation", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-rotation-api#section-update-schedule-rotation-partial" + }, + "x-collapse-params": "UpdateScheduleRotationRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + }, + { + "$ref": "#/parameters/ScheduleRotationId" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update schedule rotation action", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateScheduleRotationPayload" + } + } + ], + "responses": { + "200": { + "description": "Schedule rotation information for given identifier", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "schedule-rotation" + ], + "summary": "Delete Schedule Rotation", + "description": "Delete schedule rotation with given identifier", + "operationId": "deleteScheduleRotation", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-rotation-api#section-delete-schedule-rotation" + }, + "x-collapse-params": "DeleteScheduleRotationRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + }, + { + "$ref": "#/parameters/ScheduleRotationId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/{identifier}/overrides": { + "post": { + "tags": [ + "schedule-override" + ], + "summary": "Create Schedule Override", + "description": "Creates a schedule override for the specified user and schedule", + "operationId": "createScheduleOverride", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-override-api#section-create-schedule-override" + }, + "x-collapse-params": "CreateScheduleOverrideRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of created schedule override", + "required": true, + "schema": { + "$ref": "#/definitions/CreateScheduleOverridePayload" + } + } + ], + "responses": { + "201": { + "description": "Schedule override information for created schedule override", + "schema": { + "$ref": "#/definitions/CreateScheduleOverrideResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "schedule-override" + ], + "summary": "List Schedule Overrides", + "description": "Returns list of schedule overrides", + "operationId": "listScheduleOverride", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-override-api#section-list-schedule-overrides" + }, + "x-collapse-params": "ListScheduleOverridesRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + } + ], + "responses": { + "200": { + "description": "List of schedule override informations", + "schema": { + "$ref": "#/definitions/ListScheduleOverrideResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/{identifier}/overrides/{alias}": { + "get": { + "tags": [ + "schedule-override" + ], + "summary": "Get Schedule Override", + "description": "Gets schedule override details with given alias", + "operationId": "getScheduleOverride", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-override-api#section-get-schedule-override" + }, + "x-collapse-params": "GetScheduleOverrideRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleOverrideAlias" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + } + ], + "responses": { + "200": { + "description": "Schedule override information for given identifier", + "schema": { + "$ref": "#/definitions/GetScheduleOverrideResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "put": { + "tags": [ + "schedule-override" + ], + "summary": "Update Schedule Override", + "description": "Update schedule override with given alias", + "operationId": "updateScheduleOverride", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-override-api#section-update-schedule-override" + }, + "x-collapse-params": "UpdateScheduleOverrideRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleOverrideAlias" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update schedule override", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateScheduleOverridePayload" + } + } + ], + "responses": { + "200": { + "description": "Schedule override information for updated schedule override", + "schema": { + "$ref": "#/definitions/UpdateScheduleOverrideResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "schedule-override" + ], + "summary": "Delete Schedule Override", + "description": "Delete schedule override with given alias", + "operationId": "deleteScheduleOverride", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/schedule-override-api#section-delete-schedule-override" + }, + "x-collapse-params": "DeleteScheduleOverrideRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleOverrideAlias" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/on-calls": { + "get": { + "tags": [ + "who-is-on-call" + ], + "summary": "List On Calls", + "description": "Lists current on-call participants of all schedules", + "operationId": "listOnCalls", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/who-is-on-call-api#section-list-on-calls" + }, + "x-collapse-params": "ListOnCallsRequest", + "parameters": [ + { + "$ref": "#/parameters/WhoIsOnCallFlat" + }, + { + "$ref": "#/parameters/WhoIsOnCallDate" + } + ], + "responses": { + "200": { + "description": "List of on-call participants", + "schema": { + "$ref": "#/definitions/ListOnCallsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/{identifier}/on-calls": { + "get": { + "tags": [ + "who-is-on-call" + ], + "summary": "Get On Calls", + "description": "Gets current on-call participants of a specific schedule", + "operationId": "getOnCalls", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/who-is-on-call-api#section-get-on-calls" + }, + "x-collapse-params": "GetOnCallRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + }, + { + "$ref": "#/parameters/WhoIsOnCallFlat" + }, + { + "$ref": "#/parameters/WhoIsOnCallDate" + } + ], + "responses": { + "200": { + "description": "On-call participants for given schedule", + "schema": { + "$ref": "#/definitions/GetOnCallResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/{identifier}/next-on-calls": { + "get": { + "tags": [ + "who-is-on-call" + ], + "summary": "Get Next On Calls", + "description": "Gets next on-call participants of a specific schedule", + "operationId": "getNextOnCalls", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/who-is-on-call-api#section-get-next-on-calls" + }, + "x-collapse-params": "GetNextOnCallRequest", + "parameters": [ + { + "$ref": "#/parameters/ScheduleIdentifier" + }, + { + "$ref": "#/parameters/ScheduleIdentifierType2" + }, + { + "$ref": "#/parameters/WhoIsOnCallFlat" + }, + { + "$ref": "#/parameters/WhoIsOnCallDate" + } + ], + "responses": { + "200": { + "description": "Next on-call participants for given schedule", + "schema": { + "$ref": "#/definitions/GetNextOnCallResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/schedules/on-calls/{identifier}.ics": { + "get": { + "tags": [ + "who-is-on-call" + ], + "summary": "Export On-Call User", + "description": "Exports personal on-call timeline of 3 months to a .ics file", + "operationId": "exportOnCallUser", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/who-is-on-call-api#section-export-on-call-user" + }, + "parameters": [ + { + "name": "identifier", + "in": "path", + "description": "Identifier of the user. Should be either 'id' or 'username' of the user", + "required": true, + "type": "string" + } + ], + "produces": [ + "text/calendar" + ], + "responses": { + "200": { + "description": "ICS file with personal on-call timeline for given user", + "schema": { + "type": "string", + "format": "byte" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/escalations": { + "get": { + "tags": [ + "escalation" + ], + "summary": "List Escalations", + "description": "Returns list of escalations", + "operationId": "listEscalations", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/escalation-api#section-list-escalations" + }, + "responses": { + "200": { + "description": "List of escalation informations", + "schema": { + "$ref": "#/definitions/ListEscalationsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "escalation" + ], + "summary": "Create Escalation", + "description": "Creates a new escalation", + "operationId": "createEscalation", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/escalation-api#section-create-escalation" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of created escalation", + "required": true, + "schema": { + "$ref": "#/definitions/CreateEscalationPayload" + } + } + ], + "responses": { + "201": { + "description": "Escalation meta information for created escalation", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/escalations/{identifier}": { + "get": { + "tags": [ + "escalation" + ], + "summary": "Get Escalation", + "description": "Returns escalation with given 'id' or 'name'", + "operationId": "getEscalation", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/escalation-api#section-get-escalation" + }, + "x-collapse-params": "GetEscalationRequest", + "parameters": [ + { + "$ref": "#/parameters/EscalationIdentifier" + }, + { + "$ref": "#/parameters/EscalationIdentifierType" + } + ], + "responses": { + "200": { + "description": "Escalation object that is retrieved", + "schema": { + "$ref": "#/definitions/GetEscalationResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "escalation" + ], + "summary": "Delete Escalation", + "description": "Deletes an escalation using escalation 'id' or 'name'", + "operationId": "deleteEscalation", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/escalation-api#section-delete-escalation" + }, + "x-collapse-params": "DeleteEscalationRequest", + "parameters": [ + { + "$ref": "#/parameters/EscalationIdentifier" + }, + { + "$ref": "#/parameters/EscalationIdentifierType" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "escalation" + ], + "summary": "Update Escalation (Partial)", + "description": "Updates the escalation using escalation 'id' or 'name'", + "operationId": "updateEscalation", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/escalation-api#section-update-escalation-partial" + }, + "x-collapse-params": "UpdateEscalationRequest", + "parameters": [ + { + "$ref": "#/parameters/EscalationIdentifier" + }, + { + "$ref": "#/parameters/EscalationIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update escalation", + "schema": { + "$ref": "#/definitions/UpdateEscalationPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/forwarding-rules": { + "get": { + "tags": [ + "forwarding-rule" + ], + "summary": "List Forwarding Rules", + "description": "Returns list of forwarding rules", + "operationId": "listForwardingRules", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/forwarding-rule-api#section-list-forwarding-rules" + }, + "responses": { + "200": { + "description": "List of forwarding rules", + "schema": { + "$ref": "#/definitions/ListForwardingRulesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "forwarding-rule" + ], + "summary": "Create Forwarding Rule", + "description": "Creates a new forwarding rule", + "operationId": "createForwardingRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/forwarding-rule-api#section-create-forwarding-rule" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload to created forwarding rule", + "required": true, + "schema": { + "$ref": "#/definitions/CreateForwardingRulePayload" + } + } + ], + "responses": { + "201": { + "description": "Forwarding rule meta information for created forwarding rule", + "schema": { + "$ref": "#/definitions/CreateForwardingRuleResponse" + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/forwarding-rules/{identifier}": { + "get": { + "tags": [ + "forwarding-rule" + ], + "summary": "Get Forwarding Rule", + "description": "Returns forwarding rule with given id or alias", + "operationId": "getForwardingRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/forwarding-rule-api#section-get-forwarding-rule" + }, + "x-collapse-params": "GetForwardingRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/ForwardingRuleIdentifier" + }, + { + "$ref": "#/parameters/ForwardingRuleIdentifierType" + } + ], + "responses": { + "200": { + "description": "Forwarding rule with given identifier", + "schema": { + "$ref": "#/definitions/GetForwardingRuleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "forwarding-rule" + ], + "summary": "Delete Forwarding Rule", + "description": "Deletes forwarding rule with given identifier", + "operationId": "deleteForwardingRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/forwarding-rule-api#section-delete-forwarding-rule" + }, + "x-collapse-params": "DeleteForwardingRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/ForwardingRuleIdentifier" + }, + { + "$ref": "#/parameters/ForwardingRuleIdentifierType" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "put": { + "tags": [ + "forwarding-rule" + ], + "summary": "Update Forwarding Rule", + "description": "Update forwarding rule with given rule id or alias", + "operationId": "updateForwardingRule", + "externalDocs": { + "description": "For more information", + "url": "https://www.opsgenie.com/docs/forwarding-rule-api#section-update-forwarding-rule" + }, + "x-collapse-params": "UpdateForwardingRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/ForwardingRuleIdentifier" + }, + { + "$ref": "#/parameters/ForwardingRuleIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update forwarding rule action", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateForwardingRulePayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/roles": { + "get": { + "tags": [ + "custom-user-role" + ], + "summary": "List Custom User Roles", + "description": "Returns list of custom user roles", + "operationId": "listCustomUserRoles", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/users-and-user-roles#section-custom-roles" + }, + "responses": { + "200": { + "description": "List of custom user role informations", + "schema": { + "$ref": "#/definitions/ListCustomUserRolesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "post": { + "tags": [ + "custom-user-role" + ], + "summary": "Create Custom User Role", + "description": "Creates a new custom user role", + "operationId": "createCustomUserRole", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/users-and-user-roles#section-custom-roles" + }, + "x-collapse-params": "AddCustomUserRoleRequest", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of created custom user role", + "required": true, + "schema": { + "$ref": "#/definitions/CreateCustomUserRolePayload" + } + } + ], + "responses": { + "201": { + "description": "Custom user role meta information for created custom user role", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/roles/{identifier}": { + "get": { + "tags": [ + "custom-user-role" + ], + "summary": "Get Custom User Role", + "description": "Returns custom user role with given 'id' or 'name'", + "operationId": "getCustomUserRole", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/users-and-user-roles#section-custom-roles" + }, + "x-collapse-params": "GetCustomUserRoleRequest", + "parameters": [ + { + "$ref": "#/parameters/CustomUserRoleIdentifier" + }, + { + "$ref": "#/parameters/CustomUserRoleIdentifierType" + } + ], + "responses": { + "200": { + "description": "Custom User Role object that is retrieved", + "schema": { + "$ref": "#/definitions/GetCustomUserRoleResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "custom-user-role" + ], + "summary": "Delete Custom User Role", + "description": "Deletes a custom user role using role 'id' or 'name'", + "operationId": "deleteCustomUserRole", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/users-and-user-roles#section-custom-roles" + }, + "x-collapse-params": "DeleteCustomUserRoleRequest", + "parameters": [ + { + "$ref": "#/parameters/CustomUserRoleIdentifier" + }, + { + "$ref": "#/parameters/CustomUserRoleIdentifierType" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "put": { + "tags": [ + "custom-user-role" + ], + "summary": "Update Custom User Role", + "description": "Updates the custom user role using role 'id' or 'name'", + "operationId": "updateCustomUserRole", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/users-and-user-roles#section-custom-roles" + }, + "x-collapse-params": "UpdateCustomUserRoleRequest", + "parameters": [ + { + "$ref": "#/parameters/CustomUserRoleIdentifier" + }, + { + "$ref": "#/parameters/CustomUserRoleIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update custom user role", + "schema": { + "$ref": "#/definitions/UpdateCustomUserRolePayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/policies": { + "post": { + "tags": [ + "policy" + ], + "summary": "Create Policy", + "description": "Creates a new policy", + "operationId": "createPolicy", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-and-notification-policy-api#section-create-policy" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Payload of created policy", + "required": true, + "schema": { + "$ref": "#/definitions/Policy" + } + }, + { + "$ref": "#/parameters/TeamId" + } + ], + "responses": { + "201": { + "description": "Policy meta information for created policy", + "schema": { + "$ref": "#/definitions/CreatePolicyResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/policies/alert": { + "get": { + "tags": [ + "policy" + ], + "summary": "List Alert Policies", + "description": "Returns the list of alert policies", + "operationId": "listAlertPolicies", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-and-notification-policy-api#section-list-alert-policies" + }, + "parameters": [ + { + "$ref": "#/parameters/TeamId" + } + ], + "responses": { + "200": { + "description": "List of policies", + "schema": { + "$ref": "#/definitions/ListPoliciesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/policies/notification": { + "get": { + "tags": [ + "policy" + ], + "summary": "List Notification Policies", + "description": "Returns the list of notification policies", + "operationId": "listNotificationPolicies", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-and-notification-policy-api#section-list-notification-policies" + }, + "parameters": [ + { + "$ref": "#/parameters/TeamId" + } + ], + "responses": { + "200": { + "description": "List of policies", + "schema": { + "$ref": "#/definitions/ListPoliciesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/policies/{policyId}": { + "delete": { + "tags": [ + "policy" + ], + "summary": "Delete Policy", + "description": "Delete policy with given id", + "operationId": "deletePolicy", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-and-notification-policy-api#section-delete-policy" + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + }, + { + "$ref": "#/parameters/TeamId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "policy" + ], + "summary": "Get Policy", + "description": "Used to get details of a single policy with id", + "operationId": "getPolicy", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-and-notification-policy-api#section-get-policy" + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + }, + { + "$ref": "#/parameters/TeamId" + } + ], + "responses": { + "200": { + "description": "Policy with given id", + "schema": { + "$ref": "#/definitions/GetPolicyResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "put": { + "tags": [ + "policy" + ], + "summary": "Update Policy", + "description": "Update alert policy with given id", + "operationId": "updatePolicy", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-and-notification-policy-api#section-update-policy" + }, + "x-collapse-params": "UpdatePolicyRequest", + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + }, + { + "$ref": "#/parameters/TeamId" + }, + { + "name": "body", + "in": "body", + "description": "Payload of updated policy", + "required": true, + "schema": { + "$ref": "#/definitions/Policy" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/policies/{policyId}/enable": { + "post": { + "tags": [ + "policy" + ], + "summary": "Enable Policy", + "description": "Enable the policy with given id", + "operationId": "enablePolicy", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-and-notification-policy-api#section-enable-policy" + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + }, + { + "$ref": "#/parameters/TeamId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/policies/{policyId}/disable": { + "post": { + "tags": [ + "policy" + ], + "summary": "Disable Policy", + "description": "Disable the policy with given id", + "operationId": "disablePolicy", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-and-notification-policy-api#section-disable-policy" + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + }, + { + "$ref": "#/parameters/TeamId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v2/policies/{policyId}/change-order": { + "post": { + "tags": [ + "policy" + ], + "summary": "Change Policy Order", + "description": "Change execution order of the policy with given id", + "operationId": "changePolicyOrder", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/alert-and-notification-policy-api#section-change-policy-order" + }, + "x-collapse-params": "ChangePolicyOrderRequest", + "parameters": [ + { + "$ref": "#/parameters/PolicyId" + }, + { + "$ref": "#/parameters/TeamId" + }, + { + "name": "body", + "in": "body", + "description": "Change order payload", + "required": true, + "schema": { + "$ref": "#/definitions/ChangePolicyOrderPayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/incidents/requests/{requestId}": { + "get": { + "tags": [ + "incident" + ], + "summary": "Get Request Status of Incident", + "description": "Used to track the status and incident details (if any) of the request whose identifier is given", + "operationId": "getIncidentRequestStatus", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/incident-api#section-get-request-status" + }, + "parameters": [ + { + "name": "requestId", + "in": "path", + "description": "Universally unique identifier of the questioned request", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Request status information for given id", + "schema": { + "$ref": "#/definitions/GetIncidentRequestStatusResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/incidents/create": { + "post": { + "tags": [ + "incident" + ], + "summary": "Create Incident", + "description": "Creates a new incident", + "operationId": "createIncident", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/incident-api#section-create-incident" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of created incident", + "required": true, + "schema": { + "$ref": "#/definitions/CreateIncidentPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/incidents/{identifier}": { + "get": { + "tags": [ + "incident" + ], + "summary": "Get Incident", + "description": "Returns incident with given id, tiny id or alias", + "operationId": "getIncident", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/incident-api#section-get-incident" + }, + "x-collapse-params": "GetIncidentRequest", + "parameters": [ + { + "$ref": "#/parameters/IncidentIdentifier" + }, + { + "$ref": "#/parameters/IncidentIdentifierType" + } + ], + "responses": { + "200": { + "description": "Incident information for given identifier", + "schema": { + "$ref": "#/definitions/GetIncidentResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "incident" + ], + "summary": "Delete Incident", + "description": "Deletes an incident using incident id or the tiny id", + "operationId": "deleteIncident", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/incident-api#section-delete-incident" + }, + "x-collapse-params": "DeleteIncidentRequest", + "parameters": [ + { + "$ref": "#/parameters/IncidentIdentifier" + }, + { + "$ref": "#/parameters/IncidentIdentifierType" + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/incidents/": { + "get": { + "tags": [ + "incident" + ], + "summary": "List incidents", + "description": "Return list of incidents", + "operationId": "ListIncidents", + "x-collapse-params": "ListIncidentsRequest", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/incident-api#section-list-incidents" + }, + "parameters": [ + { + "name": "query", + "in": "query", + "description": "Search query to apply while filtering the incidents.", + "required": true, + "type": "string" + }, + { + "name": "offset", + "in": "query", + "description": "Start index of the result set (to apply pagination). Minimum value (and also default value) is 0.", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 0 + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to provide in the result. Must be a positive integer value. Default value is 20 and maximum value is 100", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100 + }, + { + "name": "sort", + "in": "query", + "description": "Name of the field that result set will be sorted by", + "required": false, + "type": "string", + "enum": [ + "createdAt", + "tinyId", + "message", + "status", + "isSeen", + "owner" + ], + "default": "createdAt" + }, + { + "name": "order", + "in": "query", + "description": "Sorting order of the result set", + "required": false, + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "desc" + } + ], + "responses": { + "200": { + "description": "List of incident informations", + "schema": { + "$ref": "#/definitions/ListIncidentsResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + }, + "X-Paging-Prev": { + "description": "Previous page url", + "type": "string" + }, + "X-Paging-Next": { + "description": "Next page url", + "type": "string" + }, + "X-Paging-First": { + "description": "First page url", + "type": "string" + }, + "X-Paging-Last": { + "description": "Last page url", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/incidents/{identifier}/close": { + "post": { + "tags": [ + "incident" + ], + "summary": "Close Incident", + "description": "Closes incident with given identifier", + "operationId": "closeIncident", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/incident-api#section-close-incident" + }, + "x-collapse-params": "CloseIncidentRequest", + "parameters": [ + { + "$ref": "#/parameters/IncidentIdentifier" + }, + { + "$ref": "#/parameters/IncidentIdentifierType" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of closing incident action", + "required": false, + "schema": { + "$ref": "#/definitions/CloseIncidentPayload" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Accepted" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/services": { + "post": { + "tags": [ + "service" + ], + "summary": "Create Service", + "description": "Creates a new service", + "operationId": "createService", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-api#create-service" + }, + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Request payload of created service", + "required": true, + "schema": { + "$ref": "#/definitions/CreateServicePayload" + } + } + ], + "responses": { + "201": { + "description": "Service information for created service", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "service" + ], + "summary": "List services", + "description": "Return list of services", + "operationId": "listServices", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-api#section-list-teamcustomer-services" + }, + "x-collapse-params": "ListServicesRequest", + "parameters": [ + { + "$ref": "#/parameters/UserLimitParam" + }, + { + "$ref": "#/parameters/UserOffsetParam" + }, + { + "$ref": "#/parameters/UserSortParam" + }, + { + "$ref": "#/parameters/UserOrderParam" + }, + { + "$ref": "#/parameters/UserQueryParam" + } + ], + "responses": { + "200": { + "description": "List of filtered services", + "schema": { + "$ref": "#/definitions/ListServicesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/services/{identifier}": { + "get": { + "tags": [ + "service" + ], + "summary": "Get Service", + "description": "Returns service with given 'id'", + "operationId": "getService", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-api#section-get-service" + }, + "x-collapse-params": "GetServiceRequest", + "parameters": [ + { + "$ref": "#/parameters/ServiceIdentifier" + } + ], + "responses": { + "200": { + "description": "Service information for given identifier", + "schema": { + "$ref": "#/definitions/GetServiceResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "service" + ], + "summary": "Delete Service", + "description": "Delete service with given id", + "operationId": "deleteService", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-api#section-delete-service" + }, + "x-collapse-params": "DeleteServiceRequest", + "parameters": [ + { + "$ref": "#/parameters/ServiceIdentifier" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "service" + ], + "summary": "Update Service (Partial)", + "description": "Update service with given id", + "operationId": "updateService", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-api#section-update-service" + }, + "x-collapse-params": "UpdateServiceRequest", + "parameters": [ + { + "$ref": "#/parameters/ServiceIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update service action", + "schema": { + "$ref": "#/definitions/UpdateServicePayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/services/{identifier}/incident-rules": { + "post": { + "tags": [ + "service-incident-rule" + ], + "summary": "Create Service Incident Rule", + "description": "Creates a new service incident rule", + "operationId": "createServiceIncidentRule", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-incident-rules-api#section-create-incident-rule" + }, + "x-collapse-params": "CreateServiceIncidentRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/ServiceIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of CreateServiceIncidentRulePayload", + "required": true, + "schema": { + "$ref": "#/definitions/CreateServiceIncidentRulePayload" + } + } + ], + "responses": { + "201": { + "description": "Information for created service incident rule", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "get": { + "tags": [ + "service-incident-rule" + ], + "summary": "List Service Incident Rules", + "description": "Returns list of service incident rules", + "operationId": "listServiceRoutingRules", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-incident-rules-api#section-get-incident-rules" + }, + "x-collapse-params": "ListServiceIncidentRulesRequest", + "parameters": [ + { + "$ref": "#/parameters/ServiceIdentifier" + } + ], + "responses": { + "200": { + "description": "List of Service Incident Rule informations", + "schema": { + "$ref": "#/definitions/ListServiceIncidentRulesResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/services/{identifier}/incident-rules/{id}": { + "put": { + "tags": [ + "service-incident-rule" + ], + "summary": "Update service incident rule", + "description": "Update incident rule of the service", + "operationId": "updateServiceIncidentRule", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-incident-rules-api#section-update-incident-rule" + }, + "x-collapse-params": "UpdateServiceIncidentRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/ServiceIdentifier" + }, + { + "$ref": "#/parameters/ServiceIncidentRuleId" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of update Service Incident Rule action", + "required": false, + "schema": { + "$ref": "#/definitions/UpdateServiceIncidentRulePayload" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "delete": { + "tags": [ + "service-incident-rule" + ], + "summary": "Delete service incident rule", + "description": "Delete incident rule of the service", + "operationId": "deleteServiceIncidentRule", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-incident-rules-api#section-delete-incident-rule" + }, + "x-collapse-params": "DeleteServiceIncidentRuleRequest", + "parameters": [ + { + "$ref": "#/parameters/ServiceIdentifier" + }, + { + "$ref": "#/parameters/ServiceIncidentRuleId" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Ok" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + }, + "/v1/services/{identifier}/audience-templates": { + "get": { + "tags": [ + "service-audience-template" + ], + "summary": "Retrieve the service audience template", + "description": "Returns the audience template of a service", + "operationId": "getServiceAudienceTemplate", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-audience-template-api#get-audience-template" + }, + "parameters": [ + { + "$ref": "#/parameters/ServiceIdentifier" + } + ], + "responses": { + "200": { + "description": "Requested service audience template", + "schema": { + "$ref": "#/definitions/GetServiceAudienceTemplateResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + }, + "patch": { + "tags": [ + "service-audience-template" + ], + "summary": "Partial update service audience template", + "description": "Partial update service audience template", + "operationId": "partialUpdateServiceAudienceTemplate", + "externalDocs": { + "description": "For more information", + "url": "https://docs.opsgenie.com/docs/service-audience-template-api#update-audience-templatepartial" + }, + "x-collapse-params": "PartialUpdateServiceAudienceTemplatePayload", + "parameters": [ + { + "$ref": "#/parameters/ServiceIdentifier" + }, + { + "name": "body", + "in": "body", + "description": "Request payload of service audience template", + "required": false, + "schema": { + "$ref": "#/definitions/PartialUpdateServiceAudienceTemplatePayload" + } + } + ], + "responses": { + "200": { + "description": "OK response", + "schema": { + "$ref": "#/definitions/PartialUpdateServiceAudienceTemplateResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "402": { + "$ref": "#/responses/PaymentRequired" + }, + "403": { + "$ref": "#/responses/Forbidden" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "422": { + "$ref": "#/responses/UnprocessableEntity" + }, + "429": { + "$ref": "#/responses/TooManyRequest" + }, + "default": { + "$ref": "#/responses/GeneralError" + } + } + } + } + }, + "parameters": { + "OrderParam": { + "name": "order", + "in": "query", + "description": "Sorting order of the result set", + "required": false, + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "desc" + }, + "AlertIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of alert which could be alert id, tiny id or alert alias", + "required": true, + "type": "string" + }, + "AlertIdentifierType": { + "name": "identifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id', 'alias' or 'tiny'", + "required": false, + "type": "string", + "enum": [ + "id", + "alias", + "tiny" + ], + "default": "id" + }, + "AlertSourceParam": { + "name": "source", + "in": "query", + "description": "Display name of the request source", + "required": false, + "type": "string" + }, + "AlertUserParam": { + "name": "user", + "in": "query", + "description": "Display name of the request owner", + "required": false, + "type": "string" + }, + "AlertNoteParam": { + "name": "note", + "in": "query", + "description": "Additional alert note to add", + "required": false, + "type": "string" + }, + "OffsetParam": { + "name": "offset", + "in": "query", + "description": "Starting value of the offset property", + "required": false, + "type": "string" + }, + "PageDirectionParam": { + "name": "direction", + "in": "query", + "description": "Page direction to apply for the given offset with 'next' and 'prev'", + "required": false, + "type": "string", + "enum": [ + "next", + "prev" + ], + "default": "next" + }, + "AlertLimitParam": { + "name": "limit", + "in": "query", + "description": "Maximum number of items to provide in the result. Must be a positive integer value. Default value is 20 and maximum value is 100", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100 + }, + "SearchIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of the saved search which could be 'id' or 'name'", + "required": true, + "type": "string" + }, + "SearchIdentifierType": { + "name": "identifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id', or 'name'", + "required": false, + "type": "string", + "enum": [ + "id", + "name" + ], + "default": "id" + }, + "AlertIdentifierType2": { + "name": "alertIdentifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id', 'alias' or 'tiny'", + "required": false, + "type": "string", + "enum": [ + "id", + "alias", + "tiny" + ], + "default": "id" + }, + "IntegrationId": { + "name": "id", + "in": "path", + "description": "Integration Id", + "required": true, + "type": "string" + }, + "IntegrationType": { + "name": "type", + "in": "query", + "description": "Type of the integration (For instance, \"API\" for API Integration). If type parameter is given, the result will be filtered by type", + "required": false, + "type": "string" + }, + "IntegrationTeamId": { + "name": "teamId", + "in": "query", + "description": "The ID of the team. If the team ID parameter is given, the result will be filtered by teamId", + "required": false, + "type": "string" + }, + "IntegrationTeamName": { + "name": "teamName", + "in": "query", + "description": "The name of the team. If the team name parameter is given, the result will be filtered by teamName", + "required": false, + "type": "string" + }, + "HeartbeatName": { + "name": "name", + "in": "path", + "description": "Name of the heartbeat", + "required": true, + "type": "string" + }, + "PolicyId": { + "name": "policyId", + "in": "path", + "description": "Id of the requested policy", + "required": true, + "type": "string" + }, + "TeamId": { + "name": "teamId", + "in": "query", + "description": "TeamId of policy created if it belongs to a team", + "required": false, + "type": "string" + }, + "MaintenanceIdentifier": { + "name": "id", + "in": "path", + "description": "Identifier of the maintenance to be searched", + "required": true, + "type": "string" + }, + "MaintenanceListType": { + "name": "type", + "in": "query", + "description": "Type of the maintenance list to be searched", + "required": false, + "type": "string", + "enum": [ + "all", + "past", + "non-expired" + ], + "default": "all" + }, + "UserIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of the user to be searched", + "required": true, + "type": "string" + }, + "UserLimitParam": { + "name": "limit", + "in": "query", + "description": "Number of users to retrieve", + "required": false, + "type": "integer", + "format": "int32", + "default": 100 + }, + "UserOffsetParam": { + "name": "offset", + "in": "query", + "description": "Number of users to skip from start", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + }, + "UserSortParam": { + "name": "sortField", + "in": "query", + "description": "Field to use in sorting. Should be one of 'username', 'fullName' and 'insertedAt'", + "required": false, + "type": "string" + }, + "UserOrderParam": { + "name": "order", + "in": "query", + "description": "Direction of sorting. Should be one of 'asc' or 'desc'", + "required": false, + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "UserQueryParam": { + "name": "query", + "in": "query", + "description": "Field:value combinations with most of user fields to make more advanced searches. Possible fields are username, fullName, blocked, verified, role, locale, timeZone, userAddress and createdAt", + "required": false, + "type": "string" + }, + "ContactId": { + "name": "contactId", + "in": "path", + "description": "Id of the contact", + "required": true, + "type": "string" + }, + "NotificationRuleIdentifier": { + "name": "ruleId", + "in": "path", + "description": "Id of the notification rule that step will belong to.", + "required": true, + "type": "string" + }, + "NotificationRuleStepId": { + "name": "id", + "in": "path", + "description": "Id of the rule step will be changed.", + "required": true, + "type": "string" + }, + "TeamIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of the team", + "required": true, + "type": "string" + }, + "TeamIdentifierType": { + "name": "identifierType", + "in": "query", + "description": "Type of the identifier. Possible values are 'id' and 'name'. Default value is 'id'", + "required": false, + "type": "string", + "enum": [ + "id", + "name" + ], + "default": "id" + }, + "TeamIdentifierType2": { + "name": "teamIdentifierType", + "in": "query", + "description": "Type of the identifier. Possible values are 'id' and 'name'. Default value is 'id'", + "required": false, + "type": "string", + "enum": [ + "id", + "name" + ], + "default": "id" + }, + "TeamLimitParam": { + "name": "limit", + "in": "query", + "description": "Maximum number of items to provide in the result. Must be a positive integer value.", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100 + }, + "TeamOffsetParam": { + "name": "offset", + "in": "query", + "description": "Key which will be used in pagination", + "required": false, + "type": "string" + }, + "MemberIdentifier": { + "name": "memberIdentifier", + "in": "path", + "description": "User id or username of member for removal", + "required": true, + "type": "string" + }, + "TeamRoleIdentifier": { + "name": "teamRoleIdentifier", + "in": "path", + "description": "Identifier of team role which could be team role 'id' or 'name'", + "required": true, + "type": "string" + }, + "TeamRoleIdentifierType": { + "name": "identifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id' or 'name'", + "required": false, + "type": "string", + "enum": [ + "id", + "name" + ], + "default": "id" + }, + "TeamRoutingRuleId": { + "name": "id", + "in": "path", + "description": "Id of the team routing rule", + "required": true, + "type": "string" + }, + "ScheduleIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of schedule which could be id or name", + "required": true, + "type": "string" + }, + "ScheduleIdentifierType": { + "name": "identifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id' or 'name'", + "required": false, + "type": "string", + "enum": [ + "id", + "name" + ], + "default": "id" + }, + "ScheduleIdentifierType2": { + "name": "scheduleIdentifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id' or 'name'", + "required": false, + "type": "string", + "enum": [ + "id", + "name" + ], + "default": "id" + }, + "ScheduleRotationId": { + "name": "id", + "in": "path", + "description": "Identifier of schedule rotation", + "required": true, + "type": "string" + }, + "ScheduleOverrideAlias": { + "name": "alias", + "in": "path", + "description": "Alias of the schedule override", + "required": true, + "type": "string" + }, + "WhoIsOnCallFlat": { + "name": "flat", + "in": "query", + "description": "Retrieves user names of all on call participants if enabled", + "type": "boolean", + "required": false + }, + "WhoIsOnCallDate": { + "name": "date", + "in": "query", + "description": "Starting date of the timeline", + "type": "string", + "format": "date-time", + "required": false + }, + "EscalationIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of escalation which could be escalation 'id' or 'name'", + "required": true, + "type": "string" + }, + "EscalationIdentifierType": { + "name": "identifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id' or 'name'", + "required": false, + "type": "string", + "enum": [ + "id", + "name" + ], + "default": "id" + }, + "ForwardingRuleIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of the forwarding rule which could be forwarding rule 'id' or 'alias'", + "required": true, + "type": "string" + }, + "ForwardingRuleIdentifierType": { + "name": "identifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id' or 'alias'", + "required": false, + "type": "string", + "enum": [ + "id", + "alias" + ], + "default": "id" + }, + "CustomUserRoleIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of custom user role which could be user role 'id' or 'name'", + "required": true, + "type": "string" + }, + "CustomUserRoleIdentifierType": { + "name": "identifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id' or 'name'", + "required": false, + "type": "string", + "enum": [ + "id", + "name" + ], + "default": "id" + }, + "IncidentIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of incident which could be incident id or tiny id", + "required": true, + "type": "string" + }, + "IncidentIdentifierType": { + "name": "identifierType", + "in": "query", + "description": "Type of the identifier that is provided as an in-line parameter. Possible values are 'id' or 'tiny. Default is id'", + "required": false, + "type": "string", + "enum": [ + "id", + "tiny" + ], + "default": "id" + }, + "ServiceIdentifier": { + "name": "identifier", + "in": "path", + "description": "Identifier of the service", + "required": true, + "type": "string" + }, + "ServiceIncidentRuleId": { + "name": "id", + "in": "path", + "description": "Id of the service incident rule", + "required": true, + "type": "string" + } + }, + "responses": { + "Ok": { + "description": "Returns request id for this async operation.", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "Accepted": { + "description": "Returns request id for this async operation.", + "schema": { + "$ref": "#/definitions/SuccessResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + }, + "X-RateLimit-State": { + "description": "Status of rate limit", + "type": "string" + }, + "X-RateLimit-Reason": { + "description": "Source of the rate limit", + "type": "string" + }, + "X-RateLimit-Period-In-Sec": { + "description": "Time of throttle in seconds", + "type": "string" + } + } + }, + "GeneralError": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "BadRequest": { + "description": "Invalid JSON body", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + } + } + }, + "Unauthorized": { + "description": "apiKey is invalid or integration is disabled", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + } + } + }, + "PaymentRequired": { + "description": "apiKey is valid but the account cannot do this action because of subscription plan", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + } + } + }, + "Forbidden": { + "description": "apiKey is valid but the apiKey cannot do this operation because of permissions", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + } + } + }, + "NotFound": { + "description": "Entity cannot be found for the given identifier", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + } + } + }, + "UnprocessableEntity": { + "description": "Semantic errors in request body", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + } + } + }, + "TooManyRequest": { + "description": "Throttling", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "X-Request-ID": { + "description": "Id of given request", + "type": "string" + }, + "X-Response-Time": { + "description": "Process time of given request", + "type": "string" + } + } + } + }, + "definitions": { + "BaseResponse": { + "x-opsgenie-domain": "common", + "type": "object", + "required": [ + "requestId", + "took" + ], + "properties": { + "requestId": { + "type": "string" + }, + "took": { + "type": "number", + "format": "float", + "default": 0 + } + } + }, + "BaseResponseWithExpandable": { + "x-opsgenie-domain": "common", + "type": "object", + "required": [ + "expandable" + ], + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "expandable": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] + }, + "ErrorResponse": { + "x-opsgenie-domain": "common", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "message": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "responseHeaders": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + ] + }, + "SuccessResponse": { + "x-opsgenie-domain": "common", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "result": { + "type": "string" + }, + "data": { + "$ref": "#/definitions/SuccessData" + } + } + } + ] + }, + "SuccessData": { + "x-opsgenie-domain": "common", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "PageDetails": { + "x-opsgenie-domain": "common", + "type": "object", + "properties": { + "prev": { + "type": "string" + }, + "next": { + "type": "string" + }, + "first": { + "type": "string" + }, + "last": { + "type": "string" + } + } + }, + "Recipient": { + "x-opsgenie-domain": "common", + "type": "object", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "all", + "none", + "user", + "escalation", + "schedule", + "team", + "group" + ] + }, + "id": { + "type": "string" + } + } + }, + "TeamRecipient": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "team", + "description": "Team recipient", + "allOf": [ + { + "$ref": "#/definitions/Recipient" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + ] + }, + "GroupRecipient": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "group", + "description": "Group recipient", + "allOf": [ + { + "$ref": "#/definitions/Recipient" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + ] + }, + "ScheduleRecipient": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "schedule", + "description": "Schedule recipient", + "allOf": [ + { + "$ref": "#/definitions/Recipient" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + ] + }, + "EscalationRecipient": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "escalation", + "description": "Escalation recipient", + "allOf": [ + { + "$ref": "#/definitions/Recipient" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + ] + }, + "UserRecipient": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "user", + "description": "User recipient", + "allOf": [ + { + "$ref": "#/definitions/Recipient" + }, + { + "type": "object", + "properties": { + "username": { + "type": "string" + } + } + } + ] + }, + "NoRecipient": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "none", + "description": "No recipient", + "allOf": [ + { + "$ref": "#/definitions/Recipient" + } + ] + }, + "AllRecipient": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "all", + "description": "All recipient", + "allOf": [ + { + "$ref": "#/definitions/Recipient" + } + ] + }, + "TimeRestrictionInterval": { + "x-opsgenie-domain": "common", + "type": "object", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "weekday-and-time-of-day", + "time-of-day" + ] + } + } + }, + "WeekdayTimeRestrictionInterval": { + "x-opsgenie-domain": "common", + "type": "object", + "x-discriminator-value": "weekday-and-time-of-day", + "description": "Weekday time restriction interval", + "allOf": [ + { + "$ref": "#/definitions/TimeRestrictionInterval" + }, + { + "type": "object", + "properties": { + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/WeekdayTimeRestriction" + }, + "minItems": 1, + "maxItems": 15 + } + } + } + ] + }, + "TimeOfDayRestrictionInterval": { + "x-opsgenie-domain": "common", + "type": "object", + "x-discriminator-value": "time-of-day", + "description": "Time of day restriction interval", + "allOf": [ + { + "$ref": "#/definitions/TimeRestrictionInterval" + }, + { + "type": "object", + "properties": { + "restriction": { + "$ref": "#/definitions/TimeOfDayRestriction" + } + } + } + ] + }, + "WeekdayTimeRestriction": { + "x-opsgenie-domain": "common", + "type": "object", + "properties": { + "startDay": { + "type": "string", + "enum": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ] + }, + "startHour": { + "type": "integer", + "format": "int32" + }, + "startMin": { + "type": "integer", + "format": "int32" + }, + "endDay": { + "type": "string", + "enum": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ] + }, + "endHour": { + "type": "integer", + "format": "int32" + }, + "endMin": { + "type": "integer", + "format": "int32" + } + } + }, + "TimeOfDayRestriction": { + "x-opsgenie-domain": "common", + "type": "object", + "properties": { + "startHour": { + "type": "integer", + "format": "int32" + }, + "startMin": { + "type": "integer", + "format": "int32" + }, + "endHour": { + "type": "integer", + "format": "int32" + }, + "endMin": { + "type": "integer", + "format": "int32" + } + } + }, + "Duration": { + "x-opsgenie-domain": "common", + "type": "object", + "required": [ + "timeAmount" + ], + "properties": { + "timeAmount": { + "type": "integer", + "format": "int64" + }, + "timeUnit": { + "type": "string", + "enum": [ + "days", + "hours", + "minutes", + "seconds", + "miliseconds", + "micros", + "nanos" + ], + "default": "minutes" + } + } + }, + "Filter": { + "x-opsgenie-domain": "common", + "type": "object", + "description": "Defines the conditions that will be checked before applying rules and type of the operations that will be applied on conditions", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "match-all", + "match-any-condition", + "match-all-conditions" + ] + } + } + }, + "MatchAll": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "match-all", + "description": "Match all filter", + "allOf": [ + { + "$ref": "#/definitions/Filter" + }, + { + "type": "object" + } + ] + }, + "MatchAllConditions": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "match-all-conditions", + "description": "Match all conditions filter", + "required": [ + "conditions" + ], + "allOf": [ + { + "$ref": "#/definitions/Filter" + }, + { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/Condition" + }, + "minItems": 1 + } + } + } + ] + }, + "MatchAnyCondition": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "match-any-condition", + "description": "Match any condition filter", + "required": [ + "conditions" + ], + "allOf": [ + { + "$ref": "#/definitions/Filter" + }, + { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/Condition" + }, + "minItems": 1 + } + } + } + ] + }, + "Condition": { + "x-opsgenie-domain": "common", + "type": "object", + "required": [ + "field", + "operation" + ], + "properties": { + "field": { + "type": "string", + "description": "Specifies which alert field will be used in condition. Possible values are message, alias, description, source, entity, tags, actions, extra-properties, recipients or teams", + "enum": [ + "message", + "alias", + "description", + "source", + "entity", + "tags", + "actions", + "extra-properties", + "recipients", + "teams", + "priority", + "details" + ] + }, + "key": { + "type": "string", + "description": "If field is set as extra-properties, key could be used for key-value pair" + }, + "not": { + "type": "boolean", + "description": "Indicates behaviour of the given operation. Default value is false" + }, + "operation": { + "type": "string", + "enum": [ + "matches", + "contains", + "starts-with", + "ends-with", + "equals", + "contains-key", + "contains-value", + "greater-than", + "less-than", + "is-empty", + "equals-ignore-whitespace" + ], + "description": "It is the operation that will be executed for the given field and key." + }, + "expectedValue": { + "type": "string", + "description": "User defined value that will be compared with alert field according to the operation. Default value is empty string" + }, + "order": { + "type": "integer", + "format": "int64", + "description": "Order of the condition in conditions list" + } + } + }, + "Responder": { + "x-opsgenie-domain": "common", + "type": "object", + "discriminator": "type", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "user", + "team", + "escalation", + "schedule" + ] + }, + "id": { + "type": "string" + } + } + }, + "UserResponder": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "user", + "description": "User responder", + "allOf": [ + { + "$ref": "#/definitions/Responder" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + } + ] + }, + "TeamResponder": { + "x-opsgenie-domain": "common", + "x-discriminator-value": "team", + "description": "Team responder", + "allOf": [ + { + "$ref": "#/definitions/Responder" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + ] + }, + "AlertActionPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "user": { + "type": "string", + "description": "Display name of the request owner" + }, + "note": { + "type": "string", + "description": "Additional note that will be added while creating the alert" + }, + "source": { + "type": "string", + "description": "Source field of the alert. Default value is IP address of the incoming request" + } + } + }, + "CreateAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + }, + { + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string", + "description": "Message of the alert" + }, + "alias": { + "type": "string", + "description": "Client-defined identifier of the alert, that is also the key element of alert deduplication." + }, + "description": { + "type": "string", + "description": "Description field of the alert that is generally used to provide a detailed information about the alert." + }, + "responders": { + "type": "array", + "description": "Responders that the alert will be routed to send notifications", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + "visibleTo": { + "type": "array", + "description": "Teams and users that the alert will become visible to without sending any notification", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + "actions": { + "type": "array", + "description": "Custom actions that will be available for the alert", + "items": { + "type": "string" + } + }, + "tags": { + "type": "array", + "description": "Tags of the alert", + "items": { + "type": "string" + } + }, + "details": { + "type": "object", + "description": "Map of key-value pairs to use as custom properties of the alert", + "additionalProperties": { + "type": "string" + } + }, + "entity": { + "type": "string", + "description": "Entity field of the alert that is generally used to specify which domain alert is related to" + }, + "priority": { + "type": "string", + "description": "Priority level of the alert", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ] + } + } + } + ] + }, + "AcknowledgeAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + } + ] + }, + "UnAcknowledgeAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + } + ] + }, + "CloseAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + } + ] + }, + "SnoozeAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + }, + { + "required": [ + "endTime" + ], + "properties": { + "endTime": { + "type": "string", + "format": "date-time", + "description": "Date and time that snooze will lose effect" + } + } + } + ] + }, + "EscalateAlertToNextPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + }, + { + "required": [ + "escalation" + ], + "properties": { + "escalation": { + "$ref": "#/definitions/EscalationRecipient" + } + } + } + ] + }, + "AssignAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + }, + { + "required": [ + "owner" + ], + "properties": { + "owner": { + "$ref": "#/definitions/UserRecipient" + } + } + } + ] + }, + "AddTeamToAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + }, + { + "required": [ + "team" + ], + "properties": { + "team": { + "$ref": "#/definitions/TeamRecipient" + } + } + } + ] + }, + "AddResponderToAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + }, + { + "required": [ + "responder" + ], + "properties": { + "responder": { + "$ref": "#/definitions/Recipient" + } + } + } + ] + }, + "ExecuteCustomAlertActionPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + } + ] + }, + "AddTagsToAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + }, + { + "required": [ + "tags" + ], + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] + }, + "AddDetailsToAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + }, + { + "required": [ + "details" + ], + "properties": { + "details": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs to add as custom property into alert." + } + } + } + ] + }, + "AddNoteToAlertPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "required": [ + "note" + ], + "allOf": [ + { + "$ref": "#/definitions/AlertActionPayload" + } + ] + }, + "CreateSavedSearchPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "required": [ + "name", + "query", + "owner" + ], + "properties": { + "name": { + "type": "string", + "maxLength": 100 + }, + "description": { + "type": "string", + "maxLength": 15000 + }, + "query": { + "type": "string", + "maxLength": 1000 + }, + "owner": { + "$ref": "#/definitions/UserRecipient" + }, + "teams": { + "type": "array", + "maxItems": 20, + "description": "Teams that the alert will be routed to send notifications", + "items": { + "$ref": "#/definitions/TeamRecipient" + } + } + } + }, + "UpdateSavedSearchPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "required": [ + "name", + "query", + "owner" + ], + "properties": { + "name": { + "type": "string", + "maxLength": 100 + }, + "description": { + "type": "string", + "maxLength": 15000 + }, + "query": { + "type": "string", + "maxLength": 1000 + }, + "owner": { + "$ref": "#/definitions/UserRecipient" + }, + "teams": { + "type": "array", + "maxItems": 20, + "description": "Teams that the alert will be routed to send notifications", + "items": { + "$ref": "#/definitions/TeamRecipient" + } + } + } + }, + "UpdateAlertPriorityPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "required": [ + "priority" + ], + "properties": { + "priority": { + "type": "string", + "description": "Priority level of the alert", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ] + } + } + }, + "UpdateAlertMessagePayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string", + "description": "Message of the alert" + } + } + }, + "UpdateAlertDescriptionPayload": { + "x-opsgenie-domain": "alert", + "type": "object", + "required": [ + "description" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the alert" + } + } + }, + "GetRequestStatusResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/AlertRequestStatus" + } + } + } + ] + }, + "ListAlertsResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/BaseAlert" + } + }, + "paging": { + "$ref": "#/definitions/PageDetails" + } + } + } + ] + }, + "GetAlertResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Alert" + } + } + } + ] + }, + "ListAlertRecipientsResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/AlertRecipient" + } + } + } + } + ] + }, + "ListAlertLogsResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/AlertLog" + } + }, + "paging": { + "$ref": "#/definitions/AlertPaging" + } + } + } + ] + }, + "ListAlertNotesResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/AlertNote" + } + }, + "paging": { + "$ref": "#/definitions/AlertPaging" + } + } + } + ] + }, + "ListSavedSearchesResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/SavedSearchMeta" + } + } + } + } + ] + }, + "CreateSavedSearchResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/SavedSearchMeta" + } + } + } + ] + }, + "GetSavedSearchResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/SavedSearch" + } + } + } + ] + }, + "ListAlertAttachmentsResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/AlertAttachmentMeta" + } + } + } + } + ] + }, + "GetAlertAttachmentResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/AlertAttachment" + } + } + } + ] + }, + "GetCountAlertsResponse": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32" + } + } + } + } + } + ] + }, + "AlertRequestStatus": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "processedAt": { + "type": "string", + "format": "date-time" + }, + "integrationId": { + "type": "string" + }, + "isSuccess": { + "type": "boolean" + }, + "status": { + "type": "string" + }, + "alertId": { + "type": "string" + }, + "alias": { + "type": "string" + } + } + }, + "BaseAlert": { + "x-opsgenie-domain": "alert", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string" + }, + "tinyId": { + "type": "string" + }, + "alias": { + "type": "string" + }, + "message": { + "type": "string" + }, + "status": { + "type": "string" + }, + "acknowledged": { + "type": "boolean" + }, + "isSeen": { + "type": "boolean" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "snoozed": { + "type": "boolean" + }, + "snoozedUntil": { + "type": "string", + "format": "date-time" + }, + "count": { + "type": "integer", + "format": "int32" + }, + "lastOccurredAt": { + "type": "string", + "format": "date-time" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "source": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "priority": { + "type": "string" + }, + "responders": { + "type": "array", + "items": { + "$ref": "#/definitions/Responder" + } + }, + "integration": { + "$ref": "#/definitions/AlertIntegration" + }, + "report": { + "$ref": "#/definitions/AlertReport" + } + } + }, + "AlertTeamMeta": { + "x-opsgenie-domain": "alert", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string" + } + } + }, + "AlertIntegration": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "AlertReport": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "ackTime": { + "type": "integer", + "format": "int64" + }, + "closeTime": { + "type": "integer", + "format": "int64" + }, + "acknowledgedBy": { + "type": "string" + }, + "closedBy": { + "type": "string" + } + } + }, + "Alert": { + "x-opsgenie-domain": "alert", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseAlert" + }, + { + "properties": { + "actions": { + "type": "array", + "items": { + "type": "string" + } + }, + "entity": { + "type": "string" + }, + "description": { + "type": "string" + }, + "details": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + ] + }, + "AlertRecipient": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "user": { + "$ref": "#/definitions/AlertUserMeta" + }, + "state": { + "type": "string" + }, + "method": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + }, + "AlertUserMeta": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + } + }, + "AlertLog": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "log": { + "type": "string" + }, + "type": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "offset": { + "type": "string" + } + } + }, + "AlertPaging": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "first": { + "type": "string" + }, + "next": { + "type": "string" + } + } + }, + "AlertNote": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "note": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "offset": { + "type": "string" + } + } + }, + "SavedSearchMeta": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "SavedSearchEntity": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "SavedSearch": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "owner": { + "$ref": "#/definitions/SavedSearchEntity" + }, + "teams": { + "type": "array", + "items": { + "$ref": "#/definitions/SavedSearchEntity" + } + }, + "description": { + "type": "string" + }, + "query": { + "type": "string" + } + } + }, + "AlertAttachmentMeta": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "string" + } + } + }, + "AlertAttachment": { + "x-opsgenie-domain": "alert", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "AuthenticateIntegrationPayload": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Airbrake", + "AlertLogic", + "AlertSite", + "AmazonCloudTrail", + "AmazonEc2AutoScaling", + "AmazonRds", + "AmazonRoute53HealthCheck", + "AmazonSes", + "AmazonSns", + "AmazonSnsOutgoing", + "AmazonSecurityHub", + "API", + "Apica", + "Apimetrics", + "AppDynamics", + "AppOptics", + "AppSignal", + "AppSignalV2", + "Atatus", + "AtlassianBambooEmail", + "AutotaskAEMEmail", + "AutoTaskEmail", + "Azure", + "AzureAutoScale", + "AzureOMS", + "AzureServiceHealth", + "AzureResourceHealth", + "BigPanda", + "Bitbucket", + "BlueMatador", + "BMCFootPrintsV11", + "BMCFootPrintsV12", + "BMCRemedy", + "BMCRemedyForce", + "BMCRemedyOnDemand", + "Boundary", + "Campfire", + "Catchpoint", + "CheckMK", + "Cherwell", + "CircleCi", + "Circonus", + "CloudMonix", + "CloudSploit", + "CloudWatch", + "CloudWatchEvents", + "Codeship", + "Compose", + "ConnectWise", + "ConnectWiseManage", + "ConnectWiseManageV2", + "ConnectWiseAutomate", + "Consul", + "CopperEgg", + "Crashlytics", + "Datadog", + "DataloopIO", + "Desk", + "Detectify", + "DNSCheck", + "DripStat", + "Ruxit", + "DynatraceV2", + "DynatraceAppMon", + "Email", + "Errorception", + "ESWatcher", + "EvidentIO", + "Flock", + "Flowdock", + "FlowdockV2", + "Freshdesk", + "Freshservice", + "GhostInspector", + "GitHub", + "GitLab", + "GoogleStackdriver", + "Grafana", + "GrafanaV2", + "Graylog", + "Heartbeat", + "HipChat", + "HipChatV2", + "HipChatAddOn", + "Honeybadger", + "HostedGraphite", + "HPServiceManager", + "Humio", + "Icinga", + "Icinga2", + "IncomingCall", + "Instana", + "Jenkins", + "Jira", + "JiraServiceDesk", + "Kapacitor", + "Kayako", + "Kore", + "LabTechEmail", + "Librato", + "LibreNMS", + "Lightstep", + "Logentries", + "Loggly", + "LogicMonitor", + "Logstash", + "LogzIO", + "Looker", + "Loom", + "Magentrix", + "Marid", + "OEC", + "Mattermost", + "MongoDBCloud", + "Monitis", + "MonitisEmail", + "Moxtra", + "MSTeams", + "MSTeamsV2", + "Nagios", + "NagiosV2", + "NagiosXI", + "NagiosXIV2", + "NeustarEmail", + "Netuitive", + "NewRelic", + "NewRelicV2", + "NewRelicSyntheticsEmail", + "NodePing", + "Observium", + "ObserviumV2", + "OEM", + "OEMEmail", + "OP5", + "OpsDash", + "OpsGenie", + "Opsview", + "PagerDutyCompatibility", + "Panopta", + "Papertrail", + "Pingdom", + "PingdomV2", + "PingdomWebhook", + "Pingometer", + "Planio", + "Prometheus", + "Prtg", + "Rackspace", + "Raygun", + "RedGateSqlMonitorEmail", + "Riemann", + "Rigor", + "RingCentralEmail", + "RingCentralGlip", + "Rollbar", + "Runscope", + "SalesForceServiceCloud", + "SaltStack", + "Scalyr", + "Sentry", + "SCOM", + "Scout", + "SematextSpm", + "Sensu", + "ServerDensity", + "ServerGuard24", + "ServiceNow", + "ServiceNowV2", + "ServiceNowV3", + "Signalfx", + "SignalFXV2", + "SignalSciences", + "Site24x7", + "Slack", + "SlackApp", + "Soasta", + "Solarwinds", + "SolarwindsMSPNCentral", + "SolarWindsWebHelpDesk", + "Splunk", + "SplunkITSI", + "Stackdriver", + "StackStorm", + "StatusCake", + "StatusHub", + "StatusIO", + "StatusPageIO", + "Statusy", + "StruxureWare", + "SumoLogic", + "SysdigCloud", + "ThousandEyes", + "ThreatStack", + "Thundra", + "Tideways", + "Trace", + "TrackIt", + "TravisCI", + "Twilio", + "UpdownIO", + "UptimeRobot", + "UptimeRobotEmail", + "UptimeWebhook", + "UptrendsEmail", + "VCenter", + "VCSA", + "VividCortex", + "Wavefront", + "WhatsUpGold", + "Webhook", + "Workato", + "XLRelease", + "Xmpp", + "Zabbix", + "Zapier", + "Zendesk", + "Zenoss", + "ZyrionEmail", + "ManageEngine" + ] + } + } + }, + "ListIntegrationsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationMeta" + } + } + } + } + ] + }, + "CreateIntegrationResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/IntegrationMeta" + } + } + } + ] + }, + "GetIntegrationResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Integration" + } + } + } + ] + }, + "UpdateIntegrationResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/IntegrationMeta" + } + } + } + ] + }, + "EnableIntegrationResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/IntegrationMeta" + } + } + } + ] + }, + "DisableIntegrationResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/IntegrationMeta" + } + } + } + ] + }, + "IntegrationMeta": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "teamId": { + "type": "string" + }, + "apiKey": { + "type": "string" + }, + "emailAddress": { + "type": "string" + } + } + }, + "AlertFilter": { + "type": "object", + "properties": { + "conditionMatchType": { + "type": "string", + "enum": [ + "match-all", + "match-any-condition", + "match-all-conditions" + ] + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/CallbackCondition" + } + } + } + }, + "CallbackCondition": { + "type": "object", + "required": [ + "field", + "operation", + "expectedValue" + ], + "properties": { + "field": { + "type": "string", + "enum": [ + "message", + "alias", + "description", + "source", + "entity", + "tags", + "actions", + "extra-properties", + "recipients", + "teams", + "priority" + ] + }, + "not": { + "type": "boolean" + }, + "operation": { + "type": "string", + "enum": [ + "matches", + "contains", + "starts-with", + "ends-with", + "equals", + "contains-key", + "contains-value", + "greater-than", + "less-than", + "is-empty", + "equals-ignore-whitespace" + ] + }, + "expectedValue": { + "type": "string" + }, + "order": { + "type": "integer", + "format": "int32" + } + } + }, + "ActionMapping": { + "type": "object", + "required": [ + "action" + ], + "properties": { + "action": { + "type": "string", + "enum": [ + "create", + "acknowledge", + "unacknowledge", + "snooze", + "escalate-to-next", + "add-note", + "add-responder", + "add-tags", + "remove-tags", + "close", + "delete", + "escalate", + "custom-action", + "assign-ownership", + "take-ownership", + "update-priority", + "update-description", + "update-message" + ] + }, + "extraField": { + "type": "string" + }, + "extraFieldForMappedAction": { + "type": "string" + }, + "mappedAction": { + "type": "string", + "enum": [ + "publish", + "create-incident", + "create-problem", + "update-description", + "update-priority", + "resolve-issue", + "resolve-ticket", + "add-work-info", + "close-incident", + "create", + "close", + "resolve", + "add-journal", + "in-progress-incident", + "resolve-incident", + "acknowledge", + "unacknowledge", + "create-service-ticket", + "add-discussion-note-to-ticket", + "add-resolution-note-to-ticket", + "add-internal-note-to-ticket", + "close-service-ticket", + "in-progress-ticket", + "custom-status", + "add-note", + "confirm-incident", + "set-status-to-closed", + "set-status-to-pending", + "set-status-to-resolved", + "create-ticket", + "add-public-note", + "add-private-note", + "set-status-to-open", + "create-issue", + "add-comment-to-issue", + "in-progress-issue", + "close-issue", + "issue-done", + "add-tag", + "create-conversation", + "set-status-to-completed", + "ack-alert", + "unmute-alert", + "send-to-channel", + "create-case", + "set-case-status-to-active", + "set-case-status-to-close", + "set-case-status-to-close-as-duplicate", + "post-action-to-oec", + "create-alert", + "close-alert", + "acknowledge-alert", + "unacknowledge-alert", + "acknowledgeSensor", + "setStatusToClosed", + "set-case-status-to-working", + "add-note-to-incident", + "assign-to-group", + "assign-to-user", + "assign-to-owner", + "send-to-custom-endpoint", + "acknowledge-notification", + "createEvent", + "createTag", + "createComment", + "updateSeverity", + "updateStatusToClosed", + "updateStatusToInProgress", + "create-incident-and-update-component-statuses", + "resolve-incident-and-update-component-statuses-back-to-operational", + "update-component-statuses", + "sendData", + "postToUrl", + "add-internal-note", + "public-reply", + "set-status-to-solved" + ] + } + } + }, + "OutgoingCallbackNew": { + "type": "object", + "discriminator": "callback-type", + "x-discriminator-is-enum": true, + "properties": { + "alertFilter": { + "$ref": "#/definitions/AlertFilter" + }, + "forwardingEnabled": { + "type": "boolean", + "nullable": true + }, + "forwardingActionMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/ActionMapping" + } + }, + "callback-type": { + "type": "string", + "enum": [ + "amazon-sns-callback", + "base-webhook-callback", + "bidirectional-callback-new", + "bmc-remedy-on-demand-callback", + "oec-callback" + ] + } + } + }, + "BidirectionalCallbackNew": { + "type": "object", + "x-discriminator-value": "bidirectional-callback-new", + "discriminator": "bidirectional-callback-type", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallbackNew" + }, + { + "properties": { + "updatesActionMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/ActionMapping" + } + }, + "updatesEnabled": { + "type": "boolean", + "nullable": true + }, + "bidirectional-callback-type": { + "type": "string", + "enum": [ + "bmc-foot-prints-v11-callback", + "bmc-foot-prints-v12-callback", + "bmc-remedy-callback", + "cherwell-callback", + "circonus-callback", + "connect-wise-manage-callback", + "connect-wise-manage-v2-callback", + "datadog-callback", + "dynatrace-app-mon-callback", + "freshdesk-callback", + "freshservice-callback", + "hp-service-manager-callback", + "jira-callback", + "jira-service-desk-callback", + "kayako-callback", + "libre-nms-callback", + "logic-monitor-callback", + "magentrix-callback", + "ms-teams-callback", + "ms-teams-v2-callback", + "op5-callback", + "ops-genie-callback", + "prtg-callback", + "rollbar-callback", + "sales-force-service-cloud-callback", + "service-now-v2-callback", + "service-now-v3-callback", + "solarwinds-msp-ncentral-callback", + "splunk-callback", + "splunk-itsi-callback", + "status-page-io-callback", + "sumo-logic-callback", + "zendesk-callback" + ] + } + } + } + ] + }, + "BaseWebhookCallback": { + "type": "object", + "x-discriminator-value": "base-webhook-callback", + "discriminator": "base-webhook-callback-type", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallbackNew" + }, + { + "properties": { + "url": { + "type": "string" + }, + "headers": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "addAlertDetails": { + "type": "boolean", + "nullable": true + }, + "addAlertDescription": { + "type": "boolean", + "nullable": true + }, + "base-webhook-callback-type": { + "type": "string", + "enum": [ + "flock-callback", + "kore-callback", + "moxtra-callback", + "ring-central-glip-callback", + "statusy-callback", + "webhook-callback" + ] + } + } + } + ] + }, + "OutgoingCallback": { + "type": "object", + "discriminator": "callback-type", + "x-discriminator-is-enum": true, + "properties": { + "alertFilter": { + "$ref": "#/definitions/AlertFilter" + }, + "alertActions": { + "type": "array", + "items": { + "type": "string" + } + }, + "callback-type": { + "type": "string", + "enum": [ + "bidirectional-callback", + "campfire-callback", + "flowdock-callback", + "flowdock-v2-callback", + "planio-callback" + ] + } + } + }, + "BidirectionalCallback": { + "type": "object", + "x-discriminator-value": "bidirectional-callback", + "discriminator": "bidirectional-callback-type", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallback" + }, + { + "properties": { + "sendAlertActions": { + "type": "boolean" + }, + "bidirectional-callback-type": { + "type": "string", + "enum": [ + "connect-wise-callback", + "desk-callback", + "es-watcher-callback", + "hip-chat-add-on-callback", + "hip-chat-callback-v2", + "icinga2-callback", + "icinga-callback", + "marid-callback", + "mattermost-callback", + "nagios-based-v1-callback", + "nagios-based-v2-callback", + "nagios-xiv1-callback", + "nagios-xiv2-callback", + "slack-app-callback", + "slack-callback", + "solarwinds-callback", + "solar-winds-web-help-desk-callback", + "stackdriver-callback", + "status-io-callback", + "track-it-callback", + "xmpp-callback", + "zabbix-callback", + "zenoss-callback" + ] + } + } + } + ] + }, + "AmazonSnsCallback": { + "type": "object", + "x-discriminator-value": "amazon-sns-callback", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallbackNew" + }, + { + "properties": { + "topicArn": { + "type": "string" + }, + "region": { + "type": "string" + }, + "newConfType": { + "type": "boolean" + } + } + } + ] + }, + "OpsGenieCallback": { + "type": "object", + "x-discriminator-value": "ops-genie-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "destinationApiKey": { + "type": "string" + } + } + } + ] + }, + "JiraCallback": { + "type": "object", + "x-discriminator-value": "jira-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "jiraUsername": { + "type": "string" + }, + "jiraPassword": { + "type": "string" + }, + "jiraUrl": { + "type": "string" + }, + "projectKey": { + "type": "string" + }, + "issueTypeName": { + "type": "string" + } + } + } + ] + }, + "JiraServiceDeskCallback": { + "type": "object", + "x-discriminator-value": "jira-service-desk-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "jiraUsername": { + "type": "string" + }, + "jiraPassword": { + "type": "string" + }, + "jiraUrl": { + "type": "string" + }, + "projectKey": { + "type": "string" + }, + "issueTypeName": { + "type": "string" + } + } + } + ] + }, + "ServiceNowV2Callback": { + "type": "object", + "x-discriminator-value": "service-now-v2-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "scriptedRestAPIURL": { + "type": "string" + }, + "servicenowUserName": { + "type": "string" + }, + "servicenowPassword": { + "type": "string" + } + } + } + ] + }, + "ServiceNowV3Callback": { + "type": "object", + "x-discriminator-value": "service-now-v3-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "instanceSubdomain": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "password": { + "type": "string" + } + } + } + ] + }, + "KayakoCallback": { + "type": "object", + "x-discriminator-value": "kayako-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "email": { + "type": "string" + }, + "password": { + "type": "string" + }, + "subdomain": { + "type": "string" + } + } + } + ] + }, + "MSTeamsCallback": { + "type": "object", + "x-discriminator-value": "ms-teams-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "webhookUrl": { + "type": "string" + } + } + } + ] + }, + "OP5Callback": { + "type": "object", + "x-discriminator-value": "op5-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + ] + }, + "StatusPageIOCallback": { + "type": "object", + "x-discriminator-value": "status-page-io-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "statusPagePageId": { + "type": "string" + }, + "statusPageApiKey": { + "type": "string" + } + } + } + ] + }, + "ZendeskCallback": { + "type": "object", + "x-discriminator-value": "zendesk-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "zendeskApiToken": { + "type": "string" + }, + "zendeskEmail": { + "type": "string" + }, + "zendeskSubdomain": { + "type": "string" + } + } + } + ] + }, + "WebhookCallback": { + "type": "object", + "x-discriminator-value": "webhook-callback", + "allOf": [ + { + "$ref": "#/definitions/BaseWebhookCallback" + } + ] + }, + "CampfireCallback": { + "type": "object", + "x-discriminator-value": "campfire-callback", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallback" + }, + { + "properties": { + "token": { + "type": "string" + }, + "subdomain": { + "type": "string" + }, + "notify": { + "type": "boolean" + }, + "rooms": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] + }, + "FlowdockCallback": { + "type": "object", + "x-discriminator-value": "flowdock-callback", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallback" + }, + { + "properties": { + "flowdockApiToken": { + "type": "string" + }, + "flowdockTags": { + "type": "array", + "items": { + "type": "string" + } + }, + "externalUsername": { + "type": "string" + } + } + } + ] + }, + "FlowdockV2Callback": { + "type": "object", + "x-discriminator-value": "flowdock-v2-callback", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallback" + }, + { + "properties": { + "flowdockFlowToken": { + "type": "string" + } + } + } + ] + }, + "PlanioCallback": { + "type": "object", + "x-discriminator-value": "planio-callback", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallback" + }, + { + "properties": { + "planioApiKey": { + "type": "string" + }, + "projectId": { + "type": "integer", + "format": "int32" + }, + "subdomain": { + "type": "string" + } + } + } + ] + }, + "DatadogCallback": { + "type": "object", + "x-discriminator-value": "datadog-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "token": { + "type": "string" + }, + "sendToEU": { + "type": "boolean" + } + } + } + ] + }, + "CirconusCallback": { + "type": "object", + "x-discriminator-value": "circonus-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "circonusURL": { + "type": "string" + } + } + } + ] + }, + "ConnectWiseCallback": { + "type": "object", + "x-discriminator-value": "connect-wise-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "awsLambdaUrl": { + "type": "string" + } + } + } + ] + }, + "DeskCallback": { + "type": "object", + "x-discriminator-value": "desk-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "consumerKey": { + "type": "string" + }, + "consumerKeySecret": { + "type": "string" + }, + "accessToken": { + "type": "string" + }, + "accessTokenSecret": { + "type": "string" + }, + "subdomain": { + "type": "string" + } + } + } + ] + }, + "XPackAlertingCallback": { + "type": "object", + "x-discriminator-value": "es-watcher-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "eswatcherActionId": { + "type": "string" + }, + "eswatcherHostId": { + "type": "string" + } + } + } + ] + }, + "FreshdeskCallback": { + "type": "object", + "x-discriminator-value": "freshdesk-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "apiKey": { + "type": "string" + }, + "freshdeskSubdomain": { + "type": "string" + } + } + } + ] + }, + "HipChatAddOnCallback": { + "type": "object", + "x-discriminator-value": "hip-chat-add-on-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "notify": { + "type": "boolean" + }, + "groupName": { + "type": "string" + }, + "hostUrl": { + "type": "string" + }, + "useCollapsedMessages": { + "type": "boolean" + } + } + } + ] + }, + "MaridCallback": { + "type": "object", + "x-discriminator-value": "marid-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + } + ] + }, + "LogicMonitorCallback": { + "type": "object", + "x-discriminator-value": "logic-monitor-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "accountName": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + } + } + ] + }, + "MattermostCallback": { + "type": "object", + "x-discriminator-value": "mattermost-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "url": { + "type": "string" + } + } + } + ] + }, + "SolarWindsWebHelpDeskCallback": { + "type": "object", + "x-discriminator-value": "solar-winds-web-help-desk-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "solarWindsWebHelpDeskApiKey": { + "type": "string" + }, + "solarWindsWebHelpServerURL": { + "type": "string" + } + } + } + ] + }, + "StackdriverCallback": { + "type": "object", + "x-discriminator-value": "stackdriver-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "stackdriverApiKey": { + "type": "string" + } + } + } + ] + }, + "StatusIOCallback": { + "type": "object", + "x-discriminator-value": "status-io-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "statusIoApiId": { + "type": "string" + }, + "statusIoApiKey": { + "type": "string" + }, + "statusIoStatusPageId": { + "type": "string" + } + } + } + ] + }, + "BMCFootPrintsV11Callback": { + "type": "object", + "x-discriminator-value": "bmc-foot-prints-v11-callback", + "required": [ + "url", + "username", + "password", + "incidentWorkspaceId", + "problemWorkspaceId" + ], + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "url": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "incidentWorkspaceId": { + "type": "string" + }, + "problemWorkspaceId": { + "type": "string" + } + } + } + ] + }, + "BMCFootPrintsV12Callback": { + "type": "object", + "x-discriminator-value": "bmc-foot-prints-v12-callback", + "required": [ + "url", + "username", + "password", + "workspaceName" + ], + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "url": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "workspaceName": { + "type": "string" + } + } + } + ] + }, + "BMCRemedyCallback": { + "type": "object", + "x-discriminator-value": "bmc-remedy-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "midtierServerUrl": { + "type": "string" + }, + "serverName": { + "type": "string" + } + } + } + ] + }, + "BMCRemedyOnDemandCallback": { + "type": "object", + "x-discriminator-value": "bmc-remedy-on-demand-callback", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallbackNew" + }, + { + "properties": { + "url": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "lastname": { + "type": "string" + }, + "firstname": { + "type": "string" + } + } + } + ] + }, + "CherwellCallback": { + "type": "object", + "x-discriminator-value": "cherwell-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "clientId": { + "type": "string" + }, + "apiUrl": { + "type": "string" + } + } + } + ] + }, + "ConnectWiseManageCallback": { + "type": "object", + "x-discriminator-value": "connect-wise-manage-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "publicKey": { + "type": "string" + }, + "privateKey": { + "type": "string" + }, + "loginCompany": { + "type": "string" + }, + "companyName": { + "type": "string" + }, + "cwmUrl": { + "type": "string" + }, + "companyId": { + "type": "string" + } + } + } + ] + }, + "ConnectWiseManageV2Callback": { + "type": "object", + "x-discriminator-value": "connect-wise-manage-v2-callback", + "required": [ + "boardId" + ], + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "publicKey": { + "type": "string" + }, + "privateKey": { + "type": "string" + }, + "loginCompany": { + "type": "string" + }, + "companyName": { + "type": "string" + }, + "cwmUrl": { + "type": "string" + }, + "companyId": { + "type": "string" + }, + "boardName": { + "type": "string" + }, + "boardId": { + "type": "integer", + "format": "int32" + } + } + } + ] + }, + "DynatraceAppMonCallback": { + "type": "object", + "x-discriminator-value": "dynatrace-app-mon-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "url": { + "type": "string" + }, + "profileName": { + "type": "string" + } + } + } + ] + }, + "FlockCallback": { + "type": "object", + "x-discriminator-value": "flock-callback", + "allOf": [ + { + "$ref": "#/definitions/BaseWebhookCallback" + } + ] + }, + "FreshserviceCallback": { + "type": "object", + "x-discriminator-value": "freshservice-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "subdomain": { + "type": "string" + } + } + } + ] + }, + "HipChatCallbackV2": { + "type": "object", + "x-discriminator-value": "hip-chat-callback-v2", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "rooms": { + "type": "array", + "items": { + "type": "string" + } + }, + "token": { + "type": "string" + }, + "notify": { + "type": "boolean" + }, + "hostUrl": { + "type": "string" + } + } + } + ] + }, + "HPServiceManagerCallback": { + "type": "object", + "x-discriminator-value": "hp-service-manager-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "apiKet": { + "type": "string" + }, + "baseDomain": { + "type": "string" + } + } + } + ] + }, + "Icinga2Callback": { + "type": "object", + "x-discriminator-value": "icinga2-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "IcingaCallback": { + "type": "object", + "x-discriminator-value": "icinga-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "KoreCallback": { + "type": "object", + "x-discriminator-value": "kore-callback", + "allOf": [ + { + "$ref": "#/definitions/BaseWebhookCallback" + } + ] + }, + "LibreNMSCallback": { + "type": "object", + "x-discriminator-value": "libre-nms-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "url": { + "type": "string" + }, + "apiToken": { + "type": "string" + } + } + } + ] + }, + "MagentrixCallback": { + "type": "object", + "x-discriminator-value": "magentrix-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "subdomain": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + } + } + ] + }, + "MoxtraCallback": { + "type": "object", + "x-discriminator-value": "moxtra-callback", + "allOf": [ + { + "$ref": "#/definitions/BaseWebhookCallback" + } + ] + }, + "MSTeamsV2Callback": { + "type": "object", + "x-discriminator-value": "ms-teams-v2-callback", + "required": [ + "conversationId" + ], + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "webhookUrl": { + "type": "string" + }, + "conversationId": { + "type": "string" + } + } + } + ] + }, + "NagiosBasedV1Callback": { + "type": "object", + "x-discriminator-value": "nagios-based-v1-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "NagiosBasedV2Callback": { + "type": "object", + "x-discriminator-value": "nagios-based-v2-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "NagiosXIV1Callback": { + "type": "object", + "x-discriminator-value": "nagios-xiv1-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "NagiosXIV2Callback": { + "type": "object", + "x-discriminator-value": "nagios-xiv2-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "OECCallback": { + "type": "object", + "x-discriminator-value": "oec-callback", + "allOf": [ + { + "$ref": "#/definitions/OutgoingCallbackNew" + } + ] + }, + "PrtgCallback": { + "type": "object", + "x-discriminator-value": "prtg-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "username": { + "type": "string" + }, + "passhash": { + "type": "string" + }, + "prtgUrl": { + "type": "string" + } + } + } + ] + }, + "RingCentralGlipCallback": { + "type": "object", + "x-discriminator-value": "ring-central-glip-callback", + "allOf": [ + { + "$ref": "#/definitions/BaseWebhookCallback" + } + ] + }, + "RollbarCallback": { + "type": "object", + "x-discriminator-value": "rollbar-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "writeAccessToken": { + "type": "string" + } + } + } + ] + }, + "SalesForceServiceCloudCallback": { + "type": "object", + "x-discriminator-value": "sales-force-service-cloud-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "url": { + "type": "string" + }, + "clientId": { + "type": "string" + }, + "clientSecret": { + "type": "string" + } + } + } + ] + }, + "SlackAppCallback": { + "type": "object", + "x-discriminator-value": "slack-app-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "channel": { + "type": "string" + }, + "teamName": { + "type": "string" + }, + "sendDescription": { + "type": "boolean", + "nullable": true + }, + "sendRoutedTeams": { + "type": "boolean", + "nullable": true + }, + "sendTags": { + "type": "boolean", + "nullable": true + } + } + } + ] + }, + "SlackCallback": { + "type": "object", + "x-discriminator-value": "slack-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "url": { + "type": "string" + } + } + } + ] + }, + "SolarwindsCallback": { + "type": "object", + "x-discriminator-value": "solarwinds-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "SolarwindsMSPNcentralCallback": { + "type": "object", + "x-discriminator-value": "solarwinds-msp-ncentral-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + ] + }, + "SplunkCallback": { + "type": "object", + "x-discriminator-value": "splunk-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "url": { + "type": "string" + }, + "token": { + "type": "string" + } + } + } + ] + }, + "SplunkITSICallback": { + "type": "object", + "x-discriminator-value": "splunk-itsi-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "url": { + "type": "string" + }, + "password": { + "type": "string" + }, + "username": { + "type": "string" + } + } + } + ] + }, + "StatusyCallback": { + "type": "object", + "x-discriminator-value": "statusy-callback", + "allOf": [ + { + "$ref": "#/definitions/BaseWebhookCallback" + } + ] + }, + "SumoLogicCallback": { + "type": "object", + "x-discriminator-value": "sumo-logic-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallbackNew" + }, + { + "properties": { + "url": { + "type": "string" + } + } + } + ] + }, + "TrackItCallback": { + "type": "object", + "x-discriminator-value": "track-it-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "XmppCallback": { + "type": "object", + "x-discriminator-value": "xmpp-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "ZabbixCallback": { + "type": "object", + "x-discriminator-value": "zabbix-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "ZenossCallback": { + "type": "object", + "x-discriminator-value": "zenoss-callback", + "allOf": [ + { + "$ref": "#/definitions/BidirectionalCallback" + }, + { + "properties": { + "sendViaMarid": { + "type": "boolean" + }, + "sendViaOEC": { + "type": "boolean" + } + } + } + ] + }, + "Integration": { + "type": "object", + "discriminator": "type", + "required": [ + "type", + "name" + ], + "properties": { + "type": { + "description": "Type of the integration. (For instance, \"API\" for API Integration)", + "type": "string", + "enum": [ + "Airbrake", + "AlertLogic", + "AlertSite", + "AmazonCloudTrail", + "AmazonEc2AutoScaling", + "AmazonRds", + "AmazonRoute53HealthCheck", + "AmazonSecurityHub", + "AmazonSes", + "AmazonSns", + "AmazonSnsOutgoing", + "API", + "Apica", + "Apimetrics", + "AppDynamics", + "AppOptics", + "AppSignal", + "AppSignalV2", + "Atatus", + "AtlassianBambooEmail", + "AutotaskAEMEmail", + "AutoTaskEmail", + "Azure", + "AzureAutoScale", + "AzureOMS", + "AzureResourceHealth", + "AzureServiceHealth", + "BigPanda", + "Bitbucket", + "BlueMatador", + "BMCFootPrintsV11", + "BMCFootPrintsV12", + "BMCRemedy", + "BMCRemedyForce", + "BMCRemedyOnDemand", + "Boundary", + "Campfire", + "Catchpoint", + "CheckMK", + "Cherwell", + "CircleCi", + "Circonus", + "CloudMonix", + "CloudSploit", + "CloudWatch", + "CloudWatchEvents", + "Codeship", + "Compose", + "ConnectWise", + "ConnectWiseAutomate", + "ConnectWiseManage", + "ConnectWiseManageV2", + "Consul", + "CopperEgg", + "Crashlytics", + "Datadog", + "DataloopIO", + "Desk", + "Detectify", + "DNSCheck", + "DripStat", + "DynatraceAppMon", + "DynatraceV2", + "Email", + "Errorception", + "ESWatcher", + "EvidentIO", + "Flock", + "Flowdock", + "FlowdockV2", + "Freshdesk", + "Freshservice", + "GhostInspector", + "GitHub", + "GitLab", + "GoogleStackdriver", + "Grafana", + "GrafanaV2", + "Graylog", + "Heartbeat", + "HipChat", + "HipChatAddOn", + "HipChatV2", + "Honeybadger", + "HostedGraphite", + "HPServiceManager", + "Humio", + "Icinga", + "Icinga2", + "IncomingCall", + "Instana", + "Jenkins", + "Jira", + "JiraServiceDesk", + "Kapacitor", + "Kayako", + "Kore", + "LabTechEmail", + "Librato", + "LibreNMS", + "Lightstep", + "Logentries", + "Loggly", + "LogicMonitor", + "Logstash", + "LogzIO", + "Looker", + "Loom", + "Magentrix", + "ManageEngine", + "Marid", + "Mattermost", + "MongoDBCloud", + "Monitis", + "MonitisEmail", + "Moxtra", + "MSTeams", + "MSTeamsV2", + "Nagios", + "NagiosV2", + "NagiosXI", + "NagiosXIV2", + "Netuitive", + "NeustarEmail", + "NewRelic", + "NewRelicV2", + "NodePing", + "Observium", + "ObserviumV2", + "OEC", + "OEM", + "OEMEmail", + "OP5", + "OpsDash", + "OpsGenie", + "Opsview", + "PagerDutyCompatibility", + "Panopta", + "Papertrail", + "Pingdom", + "PingdomV2", + "PingdomWebhook", + "Pingometer", + "Planio", + "Prometheus", + "Prtg", + "Rackspace", + "Raygun", + "RedGateSqlMonitorEmail", + "Riemann", + "Rigor", + "RingCentralEmail", + "RingCentralGlip", + "Rollbar", + "Runscope", + "Ruxit", + "SalesForceServiceCloud", + "SaltStack", + "Scalyr", + "SCOM", + "Scout", + "SematextSpm", + "Sensu", + "Sentry", + "ServerDensity", + "ServerGuard24", + "ServiceNow", + "ServiceNowV2", + "ServiceNowV3", + "Signalfx", + "SignalFXV2", + "SignalSciences", + "Site24x7", + "Slack", + "SlackApp", + "Soasta", + "Solarwinds", + "SolarwindsMSPNCentral", + "SolarWindsWebHelpDesk", + "Splunk", + "SplunkITSI", + "Stackdriver", + "StackStorm", + "StatusCake", + "StatusHub", + "StatusIO", + "StatusPageIO", + "Statusy", + "StruxureWare", + "SumoLogic", + "SysdigCloud", + "ThousandEyes", + "ThreatStack", + "Thundra", + "Tideways", + "Trace", + "TrackIt", + "TravisCI", + "Twilio", + "UpdownIO", + "UptimeRobot", + "UptimeRobotEmail", + "UptimeWebhook", + "UptrendsEmail", + "VCenter", + "VCSA", + "VividCortex", + "Wavefront", + "Webhook", + "WhatsUpGold", + "Workato", + "XLRelease", + "Xmpp", + "Zabbix", + "Zapier", + "Zendesk", + "Zenoss", + "ZyrionEmail" + ] + }, + "id": { + "type": "string" + }, + "name": { + "description": "Name of the integration. Name must be unique for each integration", + "type": "string" + }, + "enabled": { + "description": "This parameter is for specifying whether the integration will be enabled or not", + "type": "boolean" + }, + "ownerTeam": { + "$ref": "#/definitions/TeamMeta" + }, + "isGlobal": { + "type": "boolean", + "nullable": true + }, + "_readOnly": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BaseIncomingFeature": { + "type": "object", + "discriminator": "feature-type", + "x-discriminator-is-enum": true, + "properties": { + "suppressNotifications": { + "description": "If enabled, notifications that come from alerts will be suppressed. Defaults to false", + "type": "boolean" + }, + "ignoreTeamsFromPayload": { + "description": "If enabled, the integration will ignore teams sent in request payloads. Defaults to false", + "type": "boolean", + "nullable": true + }, + "ignoreRecipientsFromPayload": { + "description": "If enabled, the integration will ignore recipients sent in request payloads. Defaults to false", + "type": "boolean", + "nullable": true + }, + "recipients": { + "description": "Optional user, schedule, teams or escalation names to calculate which users will receive the notifications of the alert. Recipients which are exceeding the limit are ignored", + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + "isAdvanced": { + "type": "boolean" + }, + "ignoreRespondersFromPayload": { + "type": "boolean", + "nullable": true + }, + "ignoreTagsFromPayload": { + "type": "boolean", + "nullable": true + }, + "ignoreExtraPropertiesFromPayload": { + "type": "boolean", + "nullable": true + }, + "responders": { + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + "priority": { + "type": "string" + }, + "customPriority": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "extraProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "assignedTeam": { + "$ref": "#/definitions/TeamMeta" + }, + "feature-type": { + "type": "string", + "enum": [ + "email-based", + "token-based" + ] + } + } + }, + "EmailBasedIncomingFeature": { + "type": "object", + "x-discriminator-value": "email-based", + "required": [ + "emailUsername" + ], + "allOf": [ + { + "$ref": "#/definitions/BaseIncomingFeature" + }, + { + "properties": { + "emailAddress": { + "type": "string" + }, + "emailUsername": { + "description": "The username part of the email address. It must be unique for each integration", + "type": "string" + } + } + } + ] + }, + "TokenBasedIncomingFeature": { + "type": "object", + "x-discriminator-value": "token-based", + "allOf": [ + { + "$ref": "#/definitions/BaseIncomingFeature" + }, + { + "properties": { + "allowConfigurationAccess": { + "description": "This parameter is for allowing or restricting the configuration access. If configuration access is restricted, the integration will be limited to Alert API requests and sending heartbeats. Defaults to false", + "type": "boolean" + }, + "allowReadAccess": { + "type": "boolean" + }, + "allowWriteAccess": { + "description": "This parameter is for configuring the read-only access of integration. If the integration is limited to read-only access, the integration will not be authorized to perform any create, update or delete action within any domain. Defaults to true", + "type": "boolean" + }, + "allowDeleteAccess": { + "type": "boolean", + "nullable": true + } + } + } + ] + }, + "AirbrakeIntegration": { + "type": "object", + "x-discriminator-value": "Airbrake", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AlertLogicIntegration": { + "type": "object", + "x-discriminator-value": "AlertLogic", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AlertSiteIntegration": { + "type": "object", + "x-discriminator-value": "AlertSite", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AmazonCloudTrailIntegration": { + "type": "object", + "x-discriminator-value": "AmazonCloudTrail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AmazonEc2AutoScalingIntegration": { + "type": "object", + "x-discriminator-value": "AmazonEc2AutoScaling", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AmazonRdsIntegration": { + "type": "object", + "x-discriminator-value": "AmazonRds", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AmazonRoute53HealthCheckIntegration": { + "type": "object", + "x-discriminator-value": "AmazonRoute53HealthCheck", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AmazonSecurityHubIntegration": { + "type": "object", + "x-discriminator-value": "AmazonSecurityHub", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AmazonSesIntegration": { + "type": "object", + "x-discriminator-value": "AmazonSes", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AmazonSnsIntegration": { + "type": "object", + "x-discriminator-value": "AmazonSns", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AmazonSnsOutgoingIntegration": { + "type": "object", + "x-discriminator-value": "AmazonSnsOutgoing", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/AmazonSnsCallback" + } + ] + }, + "ApicaIntegration": { + "type": "object", + "x-discriminator-value": "Apica", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ApiIntegration": { + "type": "object", + "x-discriminator-value": "API", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "properties": { + "isDefaultIntegration": { + "type": "boolean" + } + } + } + ] + }, + "ApimetricsIntegration": { + "type": "object", + "x-discriminator-value": "Apimetrics", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AppDynamicsIntegration": { + "type": "object", + "x-discriminator-value": "AppDynamics", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AppOpticsIntegration": { + "type": "object", + "x-discriminator-value": "AppOptics", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AppSignalIntegration": { + "type": "object", + "x-discriminator-value": "AppSignal", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AppSignalV2Integration": { + "type": "object", + "x-discriminator-value": "AppSignalV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AtatusIntegration": { + "type": "object", + "x-discriminator-value": "Atatus", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AtlassianBambooIntegration": { + "type": "object", + "x-discriminator-value": "AtlassianBambooEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "AutotaskAEMEmailIntegration": { + "type": "object", + "x-discriminator-value": "AutotaskAEMEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "AutoTaskEmailIntegration": { + "type": "object", + "x-discriminator-value": "AutoTaskEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "AzureAutoScaleIntegration": { + "type": "object", + "x-discriminator-value": "AzureAutoScale", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AzureIntegration": { + "type": "object", + "x-discriminator-value": "Azure", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AzureOMSIntegration": { + "type": "object", + "x-discriminator-value": "AzureOMS", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AzureResourceHealthIntegration": { + "type": "object", + "x-discriminator-value": "AzureResourceHealth", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "AzureServiceHealthIntegration": { + "type": "object", + "x-discriminator-value": "AzureServiceHealth", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "BigPandaIntegration": { + "type": "object", + "x-discriminator-value": "BigPanda", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "BitbucketIntegration": { + "type": "object", + "x-discriminator-value": "Bitbucket", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "BlueMatadorIntegration": { + "type": "object", + "x-discriminator-value": "BlueMatador", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "BMCFootPrintsV11Integration": { + "type": "object", + "x-discriminator-value": "BMCFootPrintsV11", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/BMCFootPrintsV11Callback" + } + ] + }, + "BMCFootPrintsV12Integration": { + "type": "object", + "x-discriminator-value": "BMCFootPrintsV12", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/BMCFootPrintsV12Callback" + } + ] + }, + "BMCRemedyForceIntegration": { + "type": "object", + "x-discriminator-value": "BMCRemedyForce", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "BMCRemedyIntegration": { + "type": "object", + "x-discriminator-value": "BMCRemedy", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/BMCRemedyCallback" + } + ] + }, + "BMCRemedyOnDemandIntegration": { + "type": "object", + "x-discriminator-value": "BMCRemedyOnDemand", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/BMCRemedyOnDemandCallback" + } + ] + }, + "BoundaryIntegration": { + "type": "object", + "x-discriminator-value": "Boundary", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CampfireIntegration": { + "type": "object", + "x-discriminator-value": "Campfire", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/CampfireCallback" + } + ] + }, + "CatchpointIntegration": { + "type": "object", + "x-discriminator-value": "Catchpoint", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CheckMKIntegration": { + "type": "object", + "x-discriminator-value": "CheckMK", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CherwellIntegration": { + "type": "object", + "x-discriminator-value": "Cherwell", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/CherwellCallback" + } + ] + }, + "CircleCiIntegration": { + "type": "object", + "x-discriminator-value": "CircleCi", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CirconusIntegration": { + "type": "object", + "x-discriminator-value": "Circonus", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/CirconusCallback" + } + ] + }, + "CloudMonixIntegration": { + "type": "object", + "x-discriminator-value": "CloudMonix", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CloudSploitIntegration": { + "type": "object", + "x-discriminator-value": "CloudSploit", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CloudWatchEventsIntegration": { + "type": "object", + "x-discriminator-value": "CloudWatchEvents", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CloudWatchIntegration": { + "type": "object", + "x-discriminator-value": "CloudWatch", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CodeshipIntegration": { + "type": "object", + "x-discriminator-value": "Codeship", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ComposeIntegration": { + "type": "object", + "x-discriminator-value": "Compose", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ConnectWiseAutomateIntegration": { + "type": "object", + "x-discriminator-value": "ConnectWiseAutomate", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ConnectWiseIntegration": { + "type": "object", + "x-discriminator-value": "ConnectWise", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/ConnectWiseCallback" + } + ] + }, + "ConnectWiseManageIntegration": { + "type": "object", + "x-discriminator-value": "ConnectWiseManage", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/ConnectWiseManageCallback" + } + ] + }, + "ConnectWiseManageV2Integration": { + "type": "object", + "x-discriminator-value": "ConnectWiseManageV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/ConnectWiseManageV2Callback" + } + ] + }, + "ConsulIntegration": { + "type": "object", + "x-discriminator-value": "Consul", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CopperEggIntegration": { + "type": "object", + "x-discriminator-value": "CopperEgg", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "CrashlyticsIntegration": { + "type": "object", + "x-discriminator-value": "Crashlytics", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "DatadogIntegration": { + "type": "object", + "x-discriminator-value": "Datadog", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/DatadogCallback" + } + ] + }, + "DataloopIOIntegration": { + "type": "object", + "x-discriminator-value": "DataloopIO", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "DeskIntegration": { + "type": "object", + "x-discriminator-value": "Desk", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/DeskCallback" + } + ] + }, + "DetectifyIntegration": { + "type": "object", + "x-discriminator-value": "Detectify", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "DnsCheckIntegration": { + "type": "object", + "x-discriminator-value": "DNSCheck", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "DripStatIntegration": { + "type": "object", + "x-discriminator-value": "DripStat", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "DynatraceAppMonIntegration": { + "type": "object", + "x-discriminator-value": "DynatraceAppMon", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/DynatraceAppMonCallback" + } + ] + }, + "DynatraceIntegration": { + "type": "object", + "x-discriminator-value": "Ruxit", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "DynatraceV2Integration": { + "type": "object", + "x-discriminator-value": "DynatraceV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "EmailIntegration": { + "type": "object", + "x-discriminator-value": "Email", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "ErrorceptionIntegration": { + "type": "object", + "x-discriminator-value": "Errorception", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "EvidentIOIntegration": { + "type": "object", + "x-discriminator-value": "EvidentIO", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "FlockIntegration": { + "type": "object", + "x-discriminator-value": "Flock", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/FlockCallback" + } + ] + }, + "FlowdockIntegration": { + "type": "object", + "x-discriminator-value": "Flowdock", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/FlowdockCallback" + } + ] + }, + "FlowdockV2Integration": { + "type": "object", + "x-discriminator-value": "FlowdockV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/FlowdockV2Callback" + } + ] + }, + "FreshdeskIntegration": { + "type": "object", + "x-discriminator-value": "Freshdesk", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/FreshdeskCallback" + } + ] + }, + "FreshserviceIntegration": { + "type": "object", + "x-discriminator-value": "Freshservice", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/FreshserviceCallback" + } + ] + }, + "GhostInspectorIntegration": { + "type": "object", + "x-discriminator-value": "GhostInspector", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "GitHubIntegration": { + "type": "object", + "x-discriminator-value": "GitHub", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "GitLabIntegration": { + "type": "object", + "x-discriminator-value": "GitLab", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "GoogleStackDriverIntegration": { + "type": "object", + "x-discriminator-value": "GoogleStackdriver", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "GrafanaIntegration": { + "type": "object", + "x-discriminator-value": "Grafana", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "GrafanaV2Integration": { + "type": "object", + "x-discriminator-value": "GrafanaV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "GraylogIntegration": { + "type": "object", + "x-discriminator-value": "Graylog", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "HeartbeatIntegration": { + "type": "object", + "x-discriminator-value": "Heartbeat", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "HipChatAddOnIntegration": { + "type": "object", + "x-discriminator-value": "HipChatAddOn", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/HipChatAddOnCallback" + }, + { + "properties": { + "requireMatchingUser": { + "type": "boolean" + }, + "glanceLabel": { + "type": "string" + } + } + } + ] + }, + "HipChatIntegration": { + "type": "object", + "x-discriminator-value": "HipChat", + "allOf": [ + { + "$ref": "#/definitions/Integration" + } + ] + }, + "HipChatIntegrationV2": { + "type": "object", + "x-discriminator-value": "HipChatV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/HipChatCallbackV2" + } + ] + }, + "HoneybadgerIntegration": { + "type": "object", + "x-discriminator-value": "Honeybadger", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "HostedGraphiteIntegration": { + "type": "object", + "x-discriminator-value": "HostedGraphite", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "HPServiceManagerIntegration": { + "type": "object", + "x-discriminator-value": "HPServiceManager", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/HPServiceManagerCallback" + } + ] + }, + "HumioIntegration": { + "type": "object", + "x-discriminator-value": "Humio", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "Icinga2Integration": { + "type": "object", + "x-discriminator-value": "Icinga2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/Icinga2Callback" + } + ] + }, + "IcingaIntegration": { + "type": "object", + "x-discriminator-value": "Icinga", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/IcingaCallback" + } + ] + }, + "IncomingCallIntegration": { + "type": "object", + "x-discriminator-value": "IncomingCall", + "allOf": [ + { + "$ref": "#/definitions/Integration" + } + ] + }, + "InstanaIntegration": { + "type": "object", + "x-discriminator-value": "Instana", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "JenkinsIntegration": { + "type": "object", + "x-discriminator-value": "Jenkins", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "JiraIntegration": { + "type": "object", + "x-discriminator-value": "Jira", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/JiraCallback" + } + ] + }, + "JiraServiceDeskIntegration": { + "type": "object", + "x-discriminator-value": "JiraServiceDesk", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/JiraServiceDeskCallback" + } + ] + }, + "KapacitorIntegration": { + "type": "object", + "x-discriminator-value": "Kapacitor", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "KayakoIntegration": { + "type": "object", + "x-discriminator-value": "Kayako", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/KayakoCallback" + } + ] + }, + "KoreIntegration": { + "type": "object", + "x-discriminator-value": "Kore", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/KoreCallback" + } + ] + }, + "LabTechEmailIntegration": { + "type": "object", + "x-discriminator-value": "LabTechEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "LibratoIntegration": { + "type": "object", + "x-discriminator-value": "Librato", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "LibreNMSIntegration": { + "type": "object", + "x-discriminator-value": "LibreNMS", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/LibreNMSCallback" + } + ] + }, + "LightstepIntegration": { + "type": "object", + "x-discriminator-value": "Lightstep", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "LogentriesIntegration": { + "type": "object", + "x-discriminator-value": "Logentries", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "LogglyIntegration": { + "type": "object", + "x-discriminator-value": "Loggly", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "LogicMonitorIntegration": { + "type": "object", + "x-discriminator-value": "LogicMonitor", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/LogicMonitorCallback" + } + ] + }, + "LogstashIntegration": { + "type": "object", + "x-discriminator-value": "Logstash", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "LogzIOIntegration": { + "type": "object", + "x-discriminator-value": "LogzIO", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "LookerIntegration": { + "type": "object", + "x-discriminator-value": "Looker", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "LoomIntegration": { + "type": "object", + "x-discriminator-value": "Loom", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "MagentrixIntegration": { + "type": "object", + "x-discriminator-value": "Magentrix", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/MagentrixCallback" + } + ] + }, + "ManageEngineIntegrationDTO": { + "type": "object", + "x-discriminator-value": "ManageEngine", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "MaridIntegration": { + "type": "object", + "x-discriminator-value": "Marid", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/MaridCallback" + } + ] + }, + "MattermostIntegration": { + "type": "object", + "x-discriminator-value": "Mattermost", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/MattermostCallback" + } + ] + }, + "MongoDBCloudIntegration": { + "type": "object", + "x-discriminator-value": "MongoDBCloud", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "MonitisEmailIntegration": { + "type": "object", + "x-discriminator-value": "MonitisEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "MonitisIntegration": { + "type": "object", + "x-discriminator-value": "Monitis", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "MoxtraIntegration": { + "type": "object", + "x-discriminator-value": "Moxtra", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/MoxtraCallback" + } + ] + }, + "MSTeamsIntegration": { + "type": "object", + "x-discriminator-value": "MSTeams", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/MSTeamsCallback" + }, + { + "properties": { + "requireMatchingUser": { + "type": "boolean" + }, + "executeCommands": { + "type": "boolean" + }, + "tenantId": { + "type": "string" + } + } + } + ] + }, + "MSTeamsV2Integration": { + "type": "object", + "x-discriminator-value": "MSTeamsV2", + "required": [ + "msteamsV2TeamId" + ], + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/MSTeamsV2Callback" + }, + { + "properties": { + "requireMatchingUser": { + "type": "boolean" + }, + "executeCommands": { + "type": "boolean" + }, + "tenantId": { + "type": "string" + }, + "msteamsV2TeamId": { + "type": "string" + } + } + } + ] + }, + "NagiosIntegrationV1": { + "type": "object", + "x-discriminator-value": "Nagios", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/NagiosBasedV1Callback" + } + ] + }, + "NagiosIntegrationV2": { + "type": "object", + "x-discriminator-value": "NagiosV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/NagiosBasedV2Callback" + } + ] + }, + "NagiosXIIntegrationV1": { + "type": "object", + "x-discriminator-value": "NagiosXI", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/NagiosXIV1Callback" + } + ] + }, + "NagiosXIIntegrationV2": { + "type": "object", + "x-discriminator-value": "NagiosXIV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/NagiosXIV2Callback" + } + ] + }, + "NetuitiveIntegration": { + "type": "object", + "x-discriminator-value": "Netuitive", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "NeustarIntegration": { + "type": "object", + "x-discriminator-value": "NeustarEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "NewRelicIntegration": { + "type": "object", + "x-discriminator-value": "NewRelic", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "NewRelicV2Integration": { + "type": "object", + "x-discriminator-value": "NewRelicV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "NodePingIntegration": { + "type": "object", + "x-discriminator-value": "NodePing", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ObserviumIntegration": { + "type": "object", + "x-discriminator-value": "Observium", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ObserviumV2Integration": { + "type": "object", + "x-discriminator-value": "ObserviumV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "OECIntegration": { + "type": "object", + "x-discriminator-value": "OEC", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/OECCallback" + } + ] + }, + "OEMEmailIntegration": { + "type": "object", + "x-discriminator-value": "OEMEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "OEMIntegration": { + "type": "object", + "x-discriminator-value": "OEM", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "OP5Integration": { + "type": "object", + "x-discriminator-value": "OP5", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/OP5Callback" + } + ] + }, + "OpsDashIntegration": { + "type": "object", + "x-discriminator-value": "OpsDash", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "OpsGenieIntegration": { + "type": "object", + "x-discriminator-value": "OpsGenie", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/OpsGenieCallback" + } + ] + }, + "OpsviewIntegration": { + "type": "object", + "x-discriminator-value": "Opsview", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "PagerDutyCompatibilityIntegration": { + "type": "object", + "x-discriminator-value": "PagerDutyCompatibility", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "PanoptaIntegration": { + "type": "object", + "x-discriminator-value": "Panopta", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "PapertrailIntegration": { + "type": "object", + "x-discriminator-value": "Papertrail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "PingdomIntegration": { + "type": "object", + "x-discriminator-value": "Pingdom", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "PingdomV2Integration": { + "type": "object", + "x-discriminator-value": "PingdomV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "PingdomWebhookIntegration": { + "type": "object", + "x-discriminator-value": "PingdomWebhook", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "PingometerIntegration": { + "type": "object", + "x-discriminator-value": "Pingometer", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "PlanioIntegration": { + "type": "object", + "x-discriminator-value": "Planio", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/PlanioCallback" + } + ] + }, + "PrometheusIntegration": { + "type": "object", + "x-discriminator-value": "Prometheus", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "PrtgIntegration": { + "type": "object", + "x-discriminator-value": "Prtg", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/PrtgCallback" + } + ] + }, + "RackspaceIntegration": { + "type": "object", + "x-discriminator-value": "Rackspace", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "RaygunIntegration": { + "type": "object", + "x-discriminator-value": "Raygun", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "RedGateSqlMonitorEmailIntegration": { + "type": "object", + "x-discriminator-value": "RedGateSqlMonitorEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "RiemannIntegration": { + "type": "object", + "x-discriminator-value": "Riemann", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "RigorIntegration": { + "type": "object", + "x-discriminator-value": "Rigor", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "RingCentralEmailIntegration": { + "type": "object", + "x-discriminator-value": "RingCentralEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "RingCentralGlipIntegration": { + "type": "object", + "x-discriminator-value": "RingCentralGlip", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/RingCentralGlipCallback" + } + ] + }, + "RollbarIntegration": { + "type": "object", + "x-discriminator-value": "Rollbar", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/RollbarCallback" + } + ] + }, + "RunscopeIntegration": { + "type": "object", + "x-discriminator-value": "Runscope", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "SalesForceServiceCloudIntegration": { + "type": "object", + "x-discriminator-value": "SalesForceServiceCloud", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/SalesForceServiceCloudCallback" + } + ] + }, + "SaltStackIntegration": { + "type": "object", + "x-discriminator-value": "SaltStack", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ScalyrIntegration": { + "type": "object", + "x-discriminator-value": "Scalyr", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ScomIntegration": { + "type": "object", + "x-discriminator-value": "SCOM", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ScoutIntegration": { + "type": "object", + "x-discriminator-value": "Scout", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "SematextSpmIntegration": { + "type": "object", + "x-discriminator-value": "SematextSpm", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "SensuIntegration": { + "type": "object", + "x-discriminator-value": "Sensu", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "SentryIntegration": { + "type": "object", + "x-discriminator-value": "Sentry", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ServerDensityIntegration": { + "type": "object", + "x-discriminator-value": "ServerDensity", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ServerGuard24Integration": { + "type": "object", + "x-discriminator-value": "ServerGuard24", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ServiceNowIntegration": { + "type": "object", + "x-discriminator-value": "ServiceNow", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ServiceNowV2Integration": { + "type": "object", + "x-discriminator-value": "ServiceNowV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/ServiceNowV2Callback" + } + ] + }, + "ServiceNowV3Integration": { + "type": "object", + "x-discriminator-value": "ServiceNowV3", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/ServiceNowV3Callback" + } + ] + }, + "SignalfxIntegration": { + "type": "object", + "x-discriminator-value": "Signalfx", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "SignalFXV2Integration": { + "type": "object", + "x-discriminator-value": "SignalFXV2", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "SignalSciencesIntegration": { + "type": "object", + "x-discriminator-value": "SignalSciences", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "Site24x7Integration": { + "type": "object", + "x-discriminator-value": "Site24x7", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "SlackAppIntegration": { + "type": "object", + "x-discriminator-value": "SlackApp", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/SlackAppCallback" + }, + { + "properties": { + "requireMatchingUser": { + "type": "boolean" + }, + "executeCommands": { + "type": "boolean" + }, + "useSlackButtons": { + "type": "boolean" + } + } + } + ] + }, + "SlackIntegration": { + "type": "object", + "x-discriminator-value": "Slack", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/SlackCallback" + } + ] + }, + "SoastaIntegration": { + "type": "object", + "x-discriminator-value": "Soasta", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "SolarwindsIntegration": { + "type": "object", + "x-discriminator-value": "Solarwinds", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/SolarwindsCallback" + } + ] + }, + "SolarwindsMSPNCentralIntegration": { + "type": "object", + "x-discriminator-value": "SolarwindsMSPNCentral", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/SolarwindsMSPNcentralCallback" + } + ] + }, + "SolarWindsWebHelpDeskIntegration": { + "type": "object", + "x-discriminator-value": "SolarWindsWebHelpDesk", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/SolarWindsWebHelpDeskCallback" + } + ] + }, + "SplunkIntegration": { + "type": "object", + "x-discriminator-value": "Splunk", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/SplunkCallback" + } + ] + }, + "SplunkITSIIntegration": { + "type": "object", + "x-discriminator-value": "SplunkITSI", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/SplunkITSICallback" + } + ] + }, + "StackdriverIntegration": { + "type": "object", + "x-discriminator-value": "Stackdriver", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/StackdriverCallback" + } + ] + }, + "StackStormIntegration": { + "type": "object", + "x-discriminator-value": "StackStorm", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "StatusCakeIntegration": { + "type": "object", + "x-discriminator-value": "StatusCake", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "StatusHubIntegration": { + "type": "object", + "x-discriminator-value": "StatusHub", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "StatusIOIntegration": { + "type": "object", + "x-discriminator-value": "StatusIO", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/StatusIOCallback" + } + ] + }, + "StatusPageIOIntegration": { + "type": "object", + "x-discriminator-value": "StatusPageIO", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/StatusPageIOCallback" + } + ] + }, + "StatusyIntegration": { + "type": "object", + "x-discriminator-value": "Statusy", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/StatusyCallback" + } + ] + }, + "StruxureWareIntegration": { + "type": "object", + "x-discriminator-value": "StruxureWare", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "SumoLogicIntegration": { + "type": "object", + "x-discriminator-value": "SumoLogic", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/SumoLogicCallback" + } + ] + }, + "SysdigCloudIntegration": { + "type": "object", + "x-discriminator-value": "SysdigCloud", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ThousandEyesIntegration": { + "type": "object", + "x-discriminator-value": "ThousandEyes", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ThreatStackIntegration": { + "type": "object", + "x-discriminator-value": "ThreatStack", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ThundraIntegration": { + "type": "object", + "x-discriminator-value": "Thundra", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "TidewaysIntegration": { + "type": "object", + "x-discriminator-value": "Tideways", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "TraceIntegration": { + "type": "object", + "x-discriminator-value": "Trace", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "TrackItIntegration": { + "type": "object", + "x-discriminator-value": "TrackIt", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/TrackItCallback" + } + ] + }, + "TravisCIIntegration": { + "type": "object", + "x-discriminator-value": "TravisCI", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "TwilioIntegration": { + "type": "object", + "x-discriminator-value": "Twilio", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "UpdownIOIntegration": { + "type": "object", + "x-discriminator-value": "UpdownIO", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "UptimeRobotEmailIntegration": { + "type": "object", + "x-discriminator-value": "UptimeRobotEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "UptimeRobotIntegration": { + "type": "object", + "x-discriminator-value": "UptimeRobot", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "UptimeWebhookIntegration": { + "type": "object", + "x-discriminator-value": "UptimeWebhook", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "UptrendsEmailIntegration": { + "type": "object", + "x-discriminator-value": "UptrendsEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "VCenterIntegration": { + "type": "object", + "x-discriminator-value": "VCenter", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "VCSAIntegration": { + "type": "object", + "x-discriminator-value": "VCSA", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "VividCortexIntegration": { + "type": "object", + "x-discriminator-value": "VividCortex", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "WavefrontIntegration": { + "type": "object", + "x-discriminator-value": "Wavefront", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "WebhookIntegration": { + "type": "object", + "x-discriminator-value": "Webhook", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/WebhookCallback" + } + ] + }, + "WhatsUpGoldIntegration": { + "type": "object", + "x-discriminator-value": "WhatsUpGold", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "WorkatoIntegration": { + "type": "object", + "x-discriminator-value": "Workato", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "XLReleaseIntegration": { + "type": "object", + "x-discriminator-value": "XLRelease", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "XmppIntegration": { + "type": "object", + "x-discriminator-value": "Xmpp", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/XmppCallback" + } + ] + }, + "XPackAlertingIntegration": { + "type": "object", + "x-discriminator-value": "ESWatcher", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/XPackAlertingCallback" + } + ] + }, + "ZabbixIntegration": { + "type": "object", + "x-discriminator-value": "Zabbix", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/ZabbixCallback" + } + ] + }, + "ZapierIntegration": { + "type": "object", + "x-discriminator-value": "Zapier", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + } + ] + }, + "ZendeskIntegration": { + "type": "object", + "x-discriminator-value": "Zendesk", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/ZendeskCallback" + } + ] + }, + "ZenossIntegration": { + "type": "object", + "x-discriminator-value": "Zenoss", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/TokenBasedIncomingFeature" + }, + { + "$ref": "#/definitions/ZenossCallback" + } + ] + }, + "ZyrionIntegration": { + "type": "object", + "x-discriminator-value": "ZyrionEmail", + "allOf": [ + { + "$ref": "#/definitions/Integration" + }, + { + "$ref": "#/definitions/EmailBasedIncomingFeature" + } + ] + }, + "ListIntegrationActionsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ActionCategorized" + } + } + } + ] + }, + "UpdateIntegrationActionsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ActionCategorized" + } + } + } + ] + }, + "CreateIntegrationActionsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ActionCategorized" + } + } + } + ] + }, + "ActionCategorized": { + "type": "object", + "properties": { + "_parent": { + "$ref": "#/definitions/IntegrationMeta" + }, + "ignore": { + "type": "array", + "items": { + "$ref": "#/definitions/IgnoreIntegrationAction" + } + }, + "create": { + "type": "array", + "items": { + "$ref": "#/definitions/CreateIntegrationAction" + } + }, + "close": { + "type": "array", + "items": { + "$ref": "#/definitions/CloseIntegrationAction" + } + }, + "acknowledge": { + "type": "array", + "items": { + "$ref": "#/definitions/AckIntegrationAction" + } + }, + "addNote": { + "type": "array", + "items": { + "$ref": "#/definitions/AddNoteIntegrationAction" + } + } + } + }, + "IntegrationActionFilter": { + "type": "object", + "properties": { + "conditionMatchType": { + "type": "string", + "enum": [ + "match-all", + "match-any-condition", + "match-all-conditions" + ] + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationCondition" + } + } + } + }, + "IntegrationCondition": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "not": { + "type": "boolean" + }, + "operation": { + "type": "string", + "enum": [ + "matches", + "contains", + "starts-with", + "ends-with", + "equals", + "contains-key", + "contains-value", + "greater-than", + "less-than", + "is-empty", + "equals-ignore-whitespace" + ] + }, + "expectedValue": { + "type": "string" + } + } + }, + "BaseIntegrationAction": { + "type": "object", + "discriminator": "type", + "required": [ + "type", + "name", + "filter" + ], + "properties": { + "name": { + "type": "string" + }, + "order": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "filter": { + "$ref": "#/definitions/IntegrationActionFilter" + }, + "type": { + "type": "string", + "enum": [ + "acknowledge", + "addNote", + "close", + "create", + "ignore" + ] + } + } + }, + "CommonIntegrationAction": { + "type": "object", + "required": [ + "user", + "note", + "alias" + ], + "allOf": [ + { + "$ref": "#/definitions/BaseIntegrationAction" + }, + { + "properties": { + "user": { + "type": "string" + }, + "note": { + "type": "string" + }, + "alias": { + "type": "string" + } + } + } + ] + }, + "IgnoreIntegrationAction": { + "type": "object", + "x-discriminator-value": "ignore", + "allOf": [ + { + "$ref": "#/definitions/BaseIntegrationAction" + } + ] + }, + "CreateIntegrationAction": { + "type": "object", + "x-discriminator-value": "create", + "allOf": [ + { + "$ref": "#/definitions/CommonIntegrationAction" + }, + { + "properties": { + "source": { + "type": "string" + }, + "message": { + "type": "string" + }, + "description": { + "type": "string" + }, + "entity": { + "type": "string" + }, + "priority": { + "type": "string", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ] + }, + "customPriority": { + "type": "string" + }, + "appendAttachments": { + "type": "boolean" + }, + "alertActions": { + "type": "array", + "items": { + "type": "string" + } + }, + "ignoreAlertActionsFromPayload": { + "type": "boolean" + }, + "recipients": { + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + "responders": { + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + "ignoreRecipientsFromPayload": { + "type": "boolean" + }, + "ignoreTeamsFromPayload": { + "type": "boolean" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "ignoreTagsFromPayload": { + "type": "boolean" + }, + "extraProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "ignoreExtraPropertiesFromPayload": { + "type": "boolean" + }, + "ignoreRespondersFromPayload": { + "type": "boolean", + "nullable": true + } + } + } + ] + }, + "CloseIntegrationAction": { + "type": "object", + "x-discriminator-value": "close", + "allOf": [ + { + "$ref": "#/definitions/CommonIntegrationAction" + } + ] + }, + "AckIntegrationAction": { + "type": "object", + "x-discriminator-value": "acknowledge", + "allOf": [ + { + "$ref": "#/definitions/CommonIntegrationAction" + } + ] + }, + "AddNoteIntegrationAction": { + "type": "object", + "x-discriminator-value": "addNote", + "allOf": [ + { + "$ref": "#/definitions/CommonIntegrationAction" + } + ] + }, + "CreateHeartbeatPayload": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "allOf": [ + { + "required": [ + "name", + "interval", + "intervalUnit", + "enabled" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the heartbeat", + "maxLength": 200 + }, + "description": { + "type": "string", + "description": "An optional description of the heartbeat", + "maxLength": 10000 + }, + "interval": { + "type": "integer", + "format": "int32", + "description": "Specifies how often a heartbeat message should be expected", + "minimum": 1 + }, + "intervalUnit": { + "type": "string", + "description": "Interval specified as 'minutes', 'hours' or 'days'", + "enum": [ + "minutes", + "hours", + "days" + ] + }, + "enabled": { + "type": "boolean", + "description": "Enable/disable heartbeat monitoring" + }, + "ownerTeam": { + "type": "object", + "description": "Owner team of the heartbeat, consisting id and/or name of the owner team", + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "string" + } + } + }, + "alertMessage": { + "type": "string", + "description": "Specifies the alert message for heartbeat expiration alert. If this is not provided, default alert message is 'HeartbeatName is expired'", + "maxLength": 130 + }, + "alertTags": { + "type": "array", + "description": "Specifies the alert tags for heartbeat expiration alert", + "items": { + "type": "string", + "maxLength": 50 + }, + "maxItems": 20 + }, + "alertPriority": { + "type": "string", + "description": "Specifies the alert priority for heartbeat expiration alert. If this is not provided, default priority is P3", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ] + } + } + } + ] + }, + "UpdateHeartbeatPayload": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "An optional description of the heartbeat", + "maxLength": 10000 + }, + "interval": { + "type": "integer", + "format": "int32", + "description": "Specifies how often a heartbeat message should be expected", + "minimum": 1 + }, + "intervalUnit": { + "type": "string", + "description": "Interval specified as 'minutes', 'hours' or 'days'", + "enum": [ + "minutes", + "hours", + "days" + ] + }, + "enabled": { + "type": "boolean", + "description": "Enable/disable heartbeat monitoring" + } + } + }, + "CreateHeartbeatResponse": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Heartbeat" + } + } + } + ] + }, + "GetHeartbeatResponse": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Heartbeat" + } + } + } + ] + }, + "UpdateHeartbeatResponse": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/HeartbeatMeta" + } + } + } + ] + }, + "EnableHeartbeatResponse": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/HeartbeatMeta" + } + } + } + ] + }, + "DisableHeartbeatResponse": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/HeartbeatMeta" + } + } + } + ] + }, + "ListHeartbeatResponse": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "object", + "properties": { + "heartbeats": { + "type": "array", + "items": { + "$ref": "#/definitions/Heartbeat" + } + } + } + } + } + } + ] + }, + "Heartbeat": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "interval": { + "type": "integer", + "format": "int32" + }, + "enabled": { + "type": "boolean" + }, + "intervalUnit": { + "type": "string", + "enum": [ + "minutes", + "hours", + "days" + ] + }, + "expired": { + "type": "boolean" + }, + "lastPingTime": { + "type": "string", + "format": "date-time" + } + } + }, + "HeartbeatMeta": { + "x-opsgenie-domain": "heartbeat", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "expired": { + "type": "boolean" + } + } + }, + "DeprecatedChangeAlertPolicyOrderPayload": { + "type": "object", + "required": [ + "targetIndex" + ], + "properties": { + "targetIndex": { + "type": "integer", + "format": "int32", + "description": "Order of the target policy will be changed to this value. Larger values than policy count will put the target policy to last place", + "minimum": 0 + } + } + }, + "DeprecatedListAlertPoliciesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/DeprecatedAlertPolicyMeta" + } + } + } + } + ] + }, + "DeprecatedCreateAlertPolicyResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/DeprecatedAlertPolicyMeta" + } + } + } + ] + }, + "DeprecatedGetAlertPolicyResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/DeprecatedAlertPolicy" + } + } + } + ] + }, + "DeprecatedAlertPolicyMeta": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "modify", + "auto-close", + "notification-delay", + "notification-deduplication", + "notification-suppress", + "notification-renotify", + "auto-restart-notifications" + ] + }, + "order": { + "type": "integer", + "format": "int32" + }, + "enabled": { + "type": "boolean" + } + } + }, + "DeprecatedAlertPolicy": { + "type": "object", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Name of the policy" + }, + "policyDescription": { + "type": "string", + "description": "Description of the policy" + }, + "filter": { + "$ref": "#/definitions/Filter", + "description": "Conditions specified in this field must be met for this policy to work" + }, + "timeRestrictions": { + "$ref": "#/definitions/TimeRestrictionInterval", + "description": "Time restrictions specified in this field must be met for this policy to work" + }, + "enabled": { + "type": "boolean", + "description": "Activity status of the alert policy" + }, + "type": { + "type": "string", + "description": "Type of the policy", + "enum": [ + "modify", + "auto-close", + "notification-delay", + "notification-deduplication", + "notification-suppress", + "notification-renotify", + "auto-restart-notifications" + ] + } + } + }, + "DeprecatedModifyAlertPolicy": { + "type": "object", + "x-discriminator-value": "modify", + "allOf": [ + { + "$ref": "#/definitions/DeprecatedAlertPolicy" + }, + { + "properties": { + "ignoreOriginalAlertActions": { + "type": "boolean" + }, + "ignoreOriginalDetails": { + "description": "If set to true, policy will ignore the original details of the alert. Default value is false", + "type": "boolean" + }, + "ignoreOriginalRecipients": { + "description": "If set to true, policy will ignore the original recipients of the alert. Default value is false", + "type": "boolean" + }, + "ignoreOriginalTags": { + "description": "If set to true, policy will ignore the original tags of the alert. Default value is false", + "type": "boolean" + }, + "ignoreOriginalTeams": { + "description": "If set to true, policy will ignore the original teams of the alert. Default value is false", + "type": "boolean" + }, + "continue": { + "description": "Will continue with other modify policies if set to true", + "type": "boolean" + }, + "alias": { + "description": "Alias of the alert. You can use {{alias}} to refer to the original alias. Default value is {{alias}}", + "type": "string" + }, + "description": { + "description": "Description of the alert. You can use {{description}} to refer to the original alert description. Default value is {{description}}", + "type": "string" + }, + "entity": { + "description": "Entity field of the alert. You can use {{entity}} to refer to the original entity. Default value is {{entity}}", + "type": "string" + }, + "message": { + "description": "Message of the alert", + "type": "string" + }, + "source": { + "description": "Source field of the alert. You can use {{source}} to refer to the original source. Default value is {{source}}", + "type": "string" + }, + "actions": { + "description": "Alert actions as a list of strings to add to the alerts original actions value. If ignoreOriginalAlertActions field is set to true, this will replace the original actions.", + "type": "array", + "items": { + "type": "string" + } + }, + "recipients": { + "description": "Recipients to add to the alerts original recipients value as a list of escalations, schedules, teams, users or the reserved word none or all. If ignoreOriginalRecipients field is set to true, this will replace the original recipients.", + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + "tags": { + "description": "Tags to add to the alerts original tags value as a list of strings. If ignoreOriginalRecipients field is set to true, this will replace the original recipients.", + "type": "array", + "items": { + "type": "string" + } + }, + "details": { + "description": "Custom properties to add to the alerts original details value as a list of strings. If ignoreOriginalDetails field is set to true, this will replace the original details.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "priority": { + "type": "string", + "description": "Priority level of the alert", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ] + } + } + } + ] + }, + "DeprecatedAutoCloseAlertPolicy": { + "type": "object", + "x-discriminator-value": "auto-close", + "allOf": [ + { + "$ref": "#/definitions/DeprecatedAlertPolicy" + }, + { + "properties": { + "duration": { + "description": "Duration to wait before closing the alert", + "$ref": "#/definitions/Duration" + } + } + } + ] + }, + "DeprecatedNotificationDelayAlertPolicy": { + "type": "object", + "x-discriminator-value": "notification-delay", + "allOf": [ + { + "$ref": "#/definitions/DeprecatedAlertPolicy" + }, + { + "properties": { + "delayOption": { + "description": "Delay type", + "type": "string", + "enum": [ + "for-duration", + "next-time", + "next-weekday", + "next-monday", + "next-tuesday", + "next-wednesday", + "next-thursday", + "next-friday", + "next-saturday", + "next-sunday" + ] + }, + "duration": { + "description": "Interval to keep count of alerts for frequency based deduplication", + "$ref": "#/definitions/Duration" + }, + "untilHour": { + "description": "Should be a number between 0-23", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 23 + }, + "untilMinute": { + "description": "Should be a number between 0-59", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 59 + } + } + } + ] + }, + "DeprecatedNotificationDeduplicationAlertPolicy": { + "type": "object", + "x-discriminator-value": "notification-deduplication", + "allOf": [ + { + "$ref": "#/definitions/DeprecatedAlertPolicy" + }, + { + "properties": { + "deduplicationActionType": { + "type": "string", + "description": "Deduplication type", + "enum": [ + "value-based", + "frequency-based" + ] + }, + "count": { + "description": "Number of alerts before deduplication", + "type": "integer", + "format": "int32", + "minimum": 2, + "maximum": 100 + }, + "duration": { + "description": "Interval to keep count of alerts for frequency based deduplication", + "$ref": "#/definitions/Duration" + } + } + } + ] + }, + "DeprecatedAutoRestartNotificationsAlertPolicy": { + "type": "object", + "x-discriminator-value": "auto-restart-notifications", + "required": [ + "maxRepeatCount" + ], + "allOf": [ + { + "$ref": "#/definitions/DeprecatedAlertPolicy" + }, + { + "properties": { + "duration": { + "description": "Duration to wait before restarting the notification flow", + "$ref": "#/definitions/Duration" + }, + "maxRepeatCount": { + "description": "Max restart count of the notification flow", + "type": "integer", + "format": "int32" + } + } + } + ] + }, + "DeprecatedNotificationSuppressAlertPolicy": { + "type": "object", + "x-discriminator-value": "notification-suppress", + "allOf": [ + { + "$ref": "#/definitions/DeprecatedAlertPolicy" + } + ] + }, + "DeprecatedNotificationRenotifyAlertPolicy": { + "type": "object", + "x-discriminator-value": "notification-renotify", + "allOf": [ + { + "$ref": "#/definitions/DeprecatedAlertPolicy" + } + ] + }, + "CreateMaintenancePayload": { + "type": "object", + "required": [ + "time", + "rules" + ], + "properties": { + "description": { + "type": "string", + "description": "Description for the maintenance" + }, + "time": { + "$ref": "#/definitions/MaintenanceTime", + "description": "Time configuration of maintenance" + }, + "rules": { + "type": "array", + "minItems": 1, + "description": "Rules of maintenance, which takes a list of rule objects and defines the maintenance rules over integrations and policies.", + "items": { + "$ref": "#/definitions/MaintenanceRule" + } + } + } + }, + "UpdateMaintenancePayload": { + "type": "object", + "required": [ + "time", + "rules" + ], + "properties": { + "description": { + "type": "string", + "description": "Description for the maintenance" + }, + "time": { + "$ref": "#/definitions/MaintenanceTime", + "description": "Time configuration of maintenance" + }, + "rules": { + "type": "array", + "minItems": 1, + "description": "Rules of maintenance, which takes a list of rule objects and defines the maintenance rules over integrations and policies.", + "items": { + "$ref": "#/definitions/MaintenanceRule" + } + } + } + }, + "CreateMaintenanceResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/MaintenanceMeta" + } + } + } + ] + }, + "ListMaintenanceResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceMeta" + } + } + } + } + ] + }, + "GetMaintenanceResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Maintenance" + } + } + } + ] + }, + "UpdateMaintenanceResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/MaintenanceMeta" + } + } + } + ] + }, + "MaintenanceTime": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "Type of the maintenance time", + "enum": [ + "for-5-minutes", + "for-30-minutes", + "for-1-hour", + "indefinitely", + "schedule" + ] + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Start time of the time configuration of maintenance" + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "End time of the time configuration of maintenance" + } + } + }, + "MaintenanceMeta": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the maintenance meta data" + }, + "status": { + "type": "string", + "description": "Status of the maintenance meta data", + "enum": [ + "cancelled", + "past", + "active", + "planned" + ] + }, + "time": { + "$ref": "#/definitions/MaintenanceTime", + "description": "Time configuration of maintenance" + }, + "description": { + "type": "string", + "description": "Description for maintenance meta data" + } + } + }, + "Maintenance": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the maintenance meta data" + }, + "status": { + "type": "string", + "description": "Status of the maintenance data", + "enum": [ + "cancelled", + "past", + "active", + "planned" + ] + }, + "rules": { + "type": "array", + "description": "Rules of maintenance, which takes a list of rule objects and defines the maintenance rules over integrations and policies.", + "items": { + "$ref": "#/definitions/MaintenanceRule" + } + }, + "time": { + "$ref": "#/definitions/MaintenanceTime", + "description": "Time configuration of maintenance" + }, + "description": { + "type": "string", + "description": "Description for maintenance data" + } + } + }, + "MaintenanceRule": { + "type": "object", + "required": [ + "entity" + ], + "properties": { + "state": { + "type": "string", + "description": "Defines the state of the rule", + "enum": [ + "enabled", + "disabled" + ] + }, + "entity": { + "$ref": "#/definitions/MaintenanceEntity" + } + } + }, + "MaintenanceEntity": { + "type": "object", + "required": [ + "id", + "type" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of the maintenance entity" + }, + "type": { + "type": "string", + "enum": [ + "policy", + "integration" + ] + } + } + }, + "GetAccountInfoResponse": { + "x-opsgenie-domain": "account", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/AccountInfo" + } + } + } + ] + }, + "AccountInfo": { + "x-opsgenie-domain": "account", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "userCount": { + "type": "integer", + "format": "int32" + }, + "plan": { + "$ref": "#/definitions/AccountPlan" + } + } + }, + "AccountPlan": { + "x-opsgenie-domain": "account", + "type": "object", + "properties": { + "maxUserCount": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "isYearly": { + "type": "boolean" + } + } + }, + "CreateUserPayload": { + "type": "object", + "required": [ + "username", + "fullName", + "role" + ], + "properties": { + "username": { + "type": "string", + "description": "E-mail address of the user", + "maxLength": 100, + "format": "email" + }, + "fullName": { + "type": "string", + "description": "Name of the user", + "maxLength": 512 + }, + "role": { + "description": "Role of user. It may be one of owner, admin, user or the name of a custom role you've created.", + "$ref": "#/definitions/UserRole" + }, + "skypeUsername": { + "type": "string", + "description": "Skype username of the user" + }, + "timeZone": { + "type": "string", + "description": "Timezone of the user. If not set, timezone of the customer will be used instead." + }, + "locale": { + "type": "string", + "description": "Location information of the user. If not set, locale of the customer will be used instead." + }, + "userAddress": { + "description": "Address of the user", + "$ref": "#/definitions/UserAddress" + }, + "tags": { + "type": "array", + "description": "List of labels attached to the user. You can label users to differentiate them from the rest. For example, you can add ITManager tag to differentiate people with this role from others.", + "items": { + "type": "string" + } + }, + "details": { + "description": "Set of user defined properties.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "invitationDisabled": { + "description": "Invitation email will not be sent if set to true. Default value is false", + "type": "boolean" + } + } + }, + "UpdateUserPayload": { + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "E-mail address of the user", + "maxLength": 100, + "format": "email" + }, + "fullName": { + "type": "string", + "description": "Name of the user", + "maxLength": 512 + }, + "role": { + "description": "Role of user. It may be one of owner, admin, user or the name of a custom role you've created.", + "$ref": "#/definitions/UserRole" + }, + "skypeUsername": { + "type": "string", + "description": "Skype username of the user" + }, + "timeZone": { + "type": "string", + "description": "Timezone of the user. If not set, timezone of the customer will be used instead." + }, + "locale": { + "type": "string", + "description": "Location information of the user. If not set, locale of the customer will be used instead." + }, + "userAddress": { + "description": "Address of the user", + "$ref": "#/definitions/UserAddress" + }, + "tags": { + "type": "array", + "description": "List of labels attached to the user. You can label users to differentiate them from the rest. For example, you can add ITManager tag to differentiate people with this role from others.", + "items": { + "type": "string" + } + }, + "details": { + "description": "Set of user defined properties.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "invitationDisabled": { + "description": "Invitation email will not be sent if set to true. Default value is false", + "type": "boolean" + } + } + }, + "ListUsersResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + }, + "totalCount": { + "type": "integer", + "format": "int64" + }, + "paging": { + "$ref": "#/definitions/PageDetails" + } + } + } + ] + }, + "GetUserResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponseWithExpandable" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/User" + } + } + } + ] + }, + "ListUserTeamsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/TeamMeta" + } + } + } + } + ] + }, + "ListUserForwardingRulesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/ForwardingRule" + } + } + } + } + ] + }, + "ListUserEscalationsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/Escalation" + } + } + } + } + ] + }, + "ListUserSchedulesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleMeta" + } + } + } + } + ] + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "fullName": { + "type": "string" + }, + "role": { + "description": "Role of user. It may be one of owner, admin, user or the name of a custom role you've created.", + "$ref": "#/definitions/UserRole" + }, + "skypeUsername": { + "type": "string", + "description": "Skype username of the user" + }, + "timeZone": { + "type": "string", + "description": "Timezone of the user. If not set, timezone of the customer will be used instead." + }, + "locale": { + "type": "string", + "description": "Location information of the user. If not set, locale of the customer will be used instead." + }, + "userAddress": { + "description": "Address of the user", + "$ref": "#/definitions/UserAddress" + }, + "tags": { + "type": "array", + "description": "List of labels attached to the user. You can label users to differentiate them from the rest. For example, you can add ITManager tag to differentiate people with this role from others.", + "items": { + "type": "string" + } + }, + "details": { + "description": "Set of user defined properties.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "blocked": { + "type": "boolean" + }, + "verified": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "mutedUntil": { + "type": "string", + "format": "date-time" + }, + "userContacts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserContact" + } + } + } + }, + "UserRole": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "UserAddress": { + "type": "object", + "properties": { + "country": { + "type": "string" + }, + "state": { + "type": "string" + }, + "city": { + "type": "string" + }, + "line": { + "type": "string" + }, + "zipCode": { + "type": "string" + } + } + }, + "UserContact": { + "type": "object", + "properties": { + "to": { + "type": "string" + }, + "id": { + "type": "string" + }, + "contactMethod": { + "type": "string", + "enum": [ + "email", + "sms", + "voice", + "mobile" + ] + }, + "disabledReason": { + "type": "string" + }, + "enabled": { + "type": "boolean" + } + } + }, + "UserMeta": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + } + }, + "CreateContactPayload": { + "type": "object", + "required": [ + "method", + "to" + ], + "properties": { + "method": { + "type": "string", + "description": "Contact method of user", + "enum": [ + "email", + "sms", + "voice", + "mobile" + ] + }, + "to": { + "type": "string", + "description": "Address of contact method" + } + } + }, + "UpdateContactPayload": { + "type": "object", + "required": [ + "to" + ], + "properties": { + "to": { + "type": "string", + "description": "Address of contact method" + } + } + }, + "ListContactsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactWithApplyOrder" + } + } + } + } + ] + }, + "GetContactResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Contact" + } + } + } + ] + }, + "ContactWithApplyOrder": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "method": { + "type": "string" + }, + "to": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/ContactStatus" + }, + "applyOrder": { + "type": "integer", + "format": "int32" + } + } + }, + "ContactStatus": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "disabledReason": { + "type": "string" + } + } + }, + "Contact": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "method": { + "type": "string" + }, + "to": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/ContactStatus" + } + } + }, + "ContactMeta": { + "type": "object", + "required": [ + "method", + "to" + ], + "properties": { + "method": { + "type": "string", + "enum": [ + "email", + "sms", + "voice", + "mobile" + ] + }, + "to": { + "type": "string" + } + } + }, + "CreateNotificationRulePayload": { + "type": "object", + "required": [ + "name", + "actionType", + "enabled" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the notification rule" + }, + "actionType": { + "$ref": "#/definitions/NotificationActionType" + }, + "criteria": { + "$ref": "#/definitions/Filter" + }, + "notificationTime": { + "type": "array", + "description": "List of Time Periods that notification for schedule start/end will be sent", + "items": { + "$ref": "#/definitions/NotifyTime" + } + }, + "timeRestriction": { + "description": "Time interval that notification rule will work", + "$ref": "#/definitions/TimeRestrictionInterval" + }, + "schedules": { + "type": "array", + "description": "List of schedules that notification rule will be applied when on call of that schedule starts/ends. This field is valid for Schedule Start/End rules", + "items": { + "$ref": "#/definitions/ScheduleRecipient" + } + }, + "order": { + "type": "integer", + "description": "The order of the notification rule within the notification rules with the same action type", + "format": "int32", + "minimum": 0 + }, + "steps": { + "description": "List of steps that will be added to notification rule", + "type": "array", + "items": { + "$ref": "#/definitions/CreateNotificationRuleStepPayload" + } + }, + "repeat": { + "$ref": "#/definitions/NotificationRepeat" + }, + "enabled": { + "type": "boolean", + "description": "Defines if notification rule will be enabled or not when it is created" + } + } + }, + "UpdateNotificationRulePayload": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the notification rule" + }, + "criteria": { + "$ref": "#/definitions/Filter" + }, + "notificationTime": { + "type": "array", + "description": "List of Time Periods that notification for schedule start/end will be sent", + "items": { + "$ref": "#/definitions/NotifyTime" + } + }, + "timeRestriction": { + "description": "Time interval that notification rule will work", + "$ref": "#/definitions/TimeRestrictionInterval" + }, + "schedules": { + "type": "array", + "description": "List of schedules that notification rule will be applied when on call of that schedule starts/ends. This field is valid for Schedule Start/End rules", + "items": { + "$ref": "#/definitions/ScheduleRecipient" + } + }, + "steps": { + "description": "List of steps that will be added to notification rule", + "type": "array", + "items": { + "$ref": "#/definitions/CreateNotificationRuleStepPayload" + } + }, + "repeat": { + "description": "The amount of time in minutes that notification steps will be repeatedly apply", + "$ref": "#/definitions/NotificationRepeat" + }, + "order": { + "type": "integer", + "description": "The order of the notification rule within the notification rules with the same action type", + "format": "int32", + "minimum": 0 + }, + "enabled": { + "type": "boolean", + "description": "Defines if notification rule will be enabled or not when it is created" + } + } + }, + "ChangeNotificationRuleOrderPayload": { + "type": "object", + "properties": { + "order": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "ListNotificationRulesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/NotificationRuleMeta" + } + } + } + } + ] + }, + "CreateNotificationRuleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/NotificationRuleMeta" + } + } + } + ] + }, + "GetNotificationRuleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/NotificationRule" + } + } + } + ] + }, + "UpdateNotificationRuleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/NotificationRuleMeta" + } + } + } + ] + }, + "NotificationRuleMeta": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "actionType": { + "$ref": "#/definitions/NotificationActionType" + }, + "order": { + "type": "integer", + "format": "int32" + }, + "enabled": { + "type": "boolean" + } + } + }, + "NotificationActionType": { + "type": "string", + "description": "Type of the action that notification rule will have", + "enum": [ + "create-alert", + "acknowledged-alert", + "closed-alert", + "renotified-alert", + "assigned-alert", + "add-note", + "schedule-start", + "schedule-end", + "incoming-call-routing" + ] + }, + "NotifyTime": { + "type": "string", + "enum": [ + "just-before", + "15-minutes-ago", + "1-hour-ago", + "1-day-ago" + ] + }, + "NotificationRule": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "actionType": { + "$ref": "#/definitions/NotificationActionType" + }, + "criteria": { + "$ref": "#/definitions/Filter" + }, + "notificationTime": { + "type": "array", + "items": { + "$ref": "#/definitions/NotifyTime" + } + }, + "order": { + "type": "integer", + "format": "int32" + }, + "timeRestriction": { + "$ref": "#/definitions/TimeRestrictionInterval" + }, + "steps": { + "type": "array", + "items": { + "$ref": "#/definitions/NotificationRuleStep" + } + }, + "schedules": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRecipient" + } + }, + "repeat": { + "$ref": "#/definitions/NotificationRepeat" + }, + "enabled": { + "type": "boolean" + } + } + }, + "NotificationRepeat": { + "type": "object", + "description": "The amount of time in minutes that notification steps will be repeatedly apply", + "properties": { + "loopAfter": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "enabled": { + "type": "boolean" + } + } + }, + "CreateNotificationRuleStepPayload": { + "type": "object", + "required": [ + "contact", + "enabled" + ], + "properties": { + "contact": { + "$ref": "#/definitions/ContactMeta", + "description": "The contact that notification will be sent to." + }, + "sendAfter": { + "$ref": "#/definitions/Duration", + "description": "Time period (in minute) when notification will be sent after." + }, + "enabled": { + "type": "boolean", + "description": "Specifies whether given step will be enabled or not when it is created." + } + } + }, + "UpdateNotificationRuleStepPayload": { + "type": "object", + "properties": { + "contact": { + "$ref": "#/definitions/ContactMeta", + "description": "The contact that notification will be sent to." + }, + "sendAfter": { + "$ref": "#/definitions/Duration", + "description": "Time period (in minute) when notification will be sent after." + }, + "enabled": { + "type": "boolean", + "description": "Specifies whether given step will be enabled or not when it is updated." + } + } + }, + "ListNotificationRuleStepsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/NotificationRuleStep" + } + } + } + } + ] + }, + "GetNotificationRuleStepResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/NotificationRuleStep" + } + } + } + ] + }, + "NotificationRuleStep": { + "type": "object", + "properties": { + "_parent": { + "$ref": "#/definitions/NotificationRuleStepParent" + }, + "id": { + "type": "string" + }, + "sendAfter": { + "$ref": "#/definitions/Duration" + }, + "contact": { + "$ref": "#/definitions/ContactMeta" + }, + "enabled": { + "type": "boolean" + } + } + }, + "NotificationRuleStepParent": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "string" + } + } + }, + "CreateTeamPayload": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the team" + }, + "description": { + "type": "string", + "description": "The description of team" + }, + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/TeamMember" + }, + "description": "The users which will be added to team, and optionally their roles." + } + } + }, + "UpdateTeamPayload": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the team" + }, + "description": { + "type": "string", + "description": "The description of team" + }, + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/TeamMember" + } + } + } + }, + "GetTeamResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Team" + } + } + } + ] + }, + "ListTeamsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponseWithExpandable" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/Team" + } + } + } + } + ] + }, + "ListTeamLogsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/TeamLog" + } + } + } + ] + }, + "Team": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/TeamMember" + } + } + } + }, + "TeamLog": { + "type": "object", + "properties": { + "offset": { + "type": "string" + }, + "logs": { + "type": "array", + "items": { + "$ref": "#/definitions/TeamLogDetails" + } + } + } + }, + "TeamLogDetails": { + "type": "object", + "properties": { + "owner": { + "type": "string" + }, + "createdDate": { + "type": "string", + "format": "date-time" + }, + "log": { + "type": "string" + } + } + }, + "TeamMeta": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "AddTeamMemberPayload": { + "type": "object", + "required": [ + "user" + ], + "properties": { + "user": { + "$ref": "#/definitions/UserMeta", + "description": "Member identifier of the team, consisting 'id' and/or 'username'" + }, + "role": { + "type": "string", + "description": "Member role of the user, consisting 'user', 'admin' or a custom team role. Default value is 'user'", + "default": "user" + } + } + }, + "TeamMember": { + "type": "object", + "properties": { + "user": { + "$ref": "#/definitions/UserMeta" + }, + "role": { + "type": "string", + "description": "Member role of the user, consisting 'user', 'admin' or a custom team role. Default value is 'user'", + "default": "user" + } + } + }, + "CreateTeamRolePayload": { + "type": "object", + "required": [ + "name", + "rights" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the team role" + }, + "rights": { + "type": "array", + "description": "List of team role rights.", + "items": { + "$ref": "#/definitions/TeamRight" + } + } + } + }, + "UpdateTeamRolePayload": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the team role" + }, + "rights": { + "type": "array", + "description": "List of team role rights.", + "items": { + "$ref": "#/definitions/TeamRight" + } + } + } + }, + "GetTeamRoleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/TeamRole" + } + } + } + ] + }, + "ListTeamRoleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/TeamRole" + } + } + } + } + ] + }, + "TeamRole": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rights": { + "type": "array", + "items": { + "$ref": "#/definitions/TeamRight" + } + } + } + }, + "TeamRight": { + "type": "object", + "required": [ + "right" + ], + "properties": { + "right": { + "type": "string" + }, + "granted": { + "type": "boolean" + } + } + }, + "CreateTeamRoutingRulePayload": { + "type": "object", + "required": [ + "notify" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the team routing rule" + }, + "order": { + "type": "integer", + "format": "int32", + "description": "Order of team routing rule within the rules. order value is actually the index of the team routing rule." + }, + "criteria": { + "$ref": "#/definitions/Filter" + }, + "timeRestriction": { + "$ref": "#/definitions/TimeRestrictionInterval" + }, + "notify": { + "$ref": "#/definitions/Recipient" + }, + "timezone": { + "type": "string", + "description": "Timezone of team routing rule. If timezone field is not given, account timezone is used as default." + } + } + }, + "UpdateTeamRoutingRulePayload": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the team routing rule" + }, + "criteria": { + "$ref": "#/definitions/Filter" + }, + "timeRestriction": { + "$ref": "#/definitions/TimeRestrictionInterval" + }, + "notify": { + "$ref": "#/definitions/Recipient" + }, + "timezone": { + "type": "string", + "description": "Timezone of team routing rule. If timezone field is not given, account timezone is used as default." + } + } + }, + "ChangeTeamRoutingRuleOrderPayload": { + "type": "object", + "properties": { + "order": { + "type": "integer", + "format": "int32", + "description": "Order of team routing rule within the rules. order value is actually the index of the team routing rule." + } + } + }, + "GetTeamRoutingRuleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/TeamRoutingRule" + } + } + } + ] + }, + "ListTeamRoutingRulesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/TeamRoutingRule" + } + } + } + } + ] + }, + "TeamRoutingRule": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "order": { + "type": "integer", + "format": "int32" + }, + "criteria": { + "$ref": "#/definitions/Filter" + }, + "timezone": { + "type": "string" + }, + "timeRestriction": { + "$ref": "#/definitions/TimeRestrictionInterval" + }, + "notify": { + "$ref": "#/definitions/Recipient" + } + } + }, + "CreateSchedulePayload": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the schedule" + }, + "description": { + "type": "string", + "description": "The description of schedule" + }, + "timezone": { + "type": "string", + "description": "Timezone of schedule" + }, + "enabled": { + "type": "boolean", + "nullable": true, + "description": "Enable/disable state of schedule" + }, + "ownerTeam": { + "$ref": "#/definitions/TeamMeta", + "description": "Owner team of the schedule, consisting id and/or name of the owner team" + }, + "rotations": { + "type": "array", + "items": { + "$ref": "#/definitions/CreateScheduleRotationPayload" + }, + "minItems": 1 + } + } + }, + "UpdateSchedulePayload": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the schedule" + }, + "description": { + "type": "string", + "description": "The description of schedule" + }, + "timezone": { + "type": "string", + "description": "Timezone of schedule" + }, + "enabled": { + "type": "boolean", + "nullable": true, + "description": "Enable/disable state of schedule" + }, + "ownerTeam": { + "$ref": "#/definitions/TeamMeta", + "description": "Owner team of the schedule, consisting id and/or name of the owner team" + }, + "rotations": { + "type": "array", + "items": { + "$ref": "#/definitions/CreateScheduleRotationPayload" + } + } + } + }, + "GetScheduleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Schedule" + } + } + } + ] + }, + "ListSchedulesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponseWithExpandable" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/Schedule" + } + } + } + } + ] + }, + "CreateScheduleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ScheduleMeta" + } + } + } + ] + }, + "GetScheduleTimelineResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponseWithExpandable" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ScheduleTimeline" + } + } + } + ] + }, + "UpdateScheduleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ScheduleMeta" + } + } + } + ] + }, + "Schedule": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "ownerTeam": { + "$ref": "#/definitions/TeamMeta" + }, + "rotations": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRotation" + } + } + } + }, + "ScheduleMeta": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "enabled": { + "type": "boolean" + } + } + }, + "ScheduleTimeline": { + "type": "object", + "properties": { + "_parent": { + "$ref": "#/definitions/ScheduleMeta" + }, + "startDate": { + "type": "string", + "format": "date-time" + }, + "endDate": { + "type": "string", + "format": "date-time" + }, + "finalTimeline": { + "$ref": "#/definitions/Timeline" + }, + "baseTimeline": { + "$ref": "#/definitions/Timeline" + }, + "overrideTimeline": { + "$ref": "#/definitions/Timeline" + }, + "forwardingTimeline": { + "$ref": "#/definitions/Timeline" + } + } + }, + "Timeline": { + "type": "object", + "properties": { + "rotations": { + "type": "array", + "items": { + "$ref": "#/definitions/TimelineRotation" + } + } + } + }, + "TimelineRotation": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "order": { + "type": "number", + "format": "float", + "nullable": true + }, + "periods": { + "type": "array", + "items": { + "$ref": "#/definitions/TimelinePeriod" + } + } + } + }, + "TimelinePeriod": { + "type": "object", + "properties": { + "startDate": { + "type": "string", + "format": "date-time" + }, + "endDate": { + "type": "string", + "format": "date-time" + }, + "type": { + "type": "string" + }, + "fromUser": { + "description": "Only used by 'forwarding' period types", + "type": "string" + }, + "recipient": { + "$ref": "#/definitions/TimelineRecipient" + }, + "flattenedRecipients": { + "description": "Only used by 'historical' period types", + "type": "array", + "items": { + "$ref": "#/definitions/TimelineRecipient" + } + } + } + }, + "TimelineRecipient": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "forwardedFrom": { + "description": "Only used by 'historical' period types", + "type": "string" + } + } + }, + "CreateScheduleRotationPayload": { + "type": "object", + "required": [ + "startDate", + "type", + "participants" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of rotation" + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Defines a date time as an override start. Minutes may take 0 or 30 as value. Otherwise they will be converted to nearest 0 or 30 automatically" + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "Defines a date time as an override end. Minutes may take 0 or 30 as value. Otherwise they will be converted to nearest 0 or 30 automatically" + }, + "type": { + "type": "string", + "enum": [ + "daily", + "weekly", + "hourly" + ], + "description": "Type of rotation. May be one of 'daily', 'weekly' and 'hourly'" + }, + "length": { + "type": "integer", + "format": "int32", + "description": "Length of the rotation with default value 1" + }, + "participants": { + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + }, + "description": "List of escalations, teams, users or the reserved word none which will be used in schedule. Each of them can be used multiple times and will be rotated in the order they given.", + "minItems": 1 + }, + "timeRestriction": { + "$ref": "#/definitions/TimeRestrictionInterval", + "description": "Used to limit schedule rotation to certain day and time of the week, using multiple start and end times for each day of the week." + } + } + }, + "UpdateScheduleRotationPayload": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of rotation" + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Defines a date time as an override start. Minutes may take 0 or 30 as value. Otherwise they will be converted to nearest 0 or 30 automatically" + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "Defines a date time as an override end. Minutes may take 0 or 30 as value. Otherwise they will be converted to nearest 0 or 30 automatically" + }, + "type": { + "type": "string", + "enum": [ + "daily", + "weekly", + "hourly" + ], + "description": "Type of rotation. May be one of 'daily', 'weekly' and 'hourly'" + }, + "length": { + "type": "integer", + "format": "int32", + "description": "Length of the rotation with default value 1" + }, + "participants": { + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + }, + "description": "List of escalations, teams, users or the reserved word none which will be used in schedule. Each of them can be used multiple times and will be rotated in the order they given." + }, + "timeRestriction": { + "$ref": "#/definitions/TimeRestrictionInterval", + "description": "Used to limit schedule rotation to certain day and time of the week, using multiple start and end times for each day of the week." + } + } + }, + "GetScheduleRotationResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ScheduleRotationWithParent" + } + } + } + ] + }, + "ListScheduleRotationsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRotation" + } + } + } + } + ] + }, + "ScheduleRotationWithParent": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleRotation" + }, + { + "properties": { + "_parent": { + "$ref": "#/definitions/ScheduleMeta" + } + } + } + ] + }, + "ScheduleRotation": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "startDate": { + "type": "string", + "format": "date-time" + }, + "endDate": { + "type": "string", + "format": "date-time" + }, + "type": { + "type": "string", + "enum": [ + "daily", + "weekly", + "hourly" + ] + }, + "length": { + "type": "integer", + "format": "int32" + }, + "participants": { + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + "timeRestriction": { + "$ref": "#/definitions/TimeRestrictionInterval" + } + } + }, + "CreateScheduleOverridePayload": { + "type": "object", + "required": [ + "user", + "startDate", + "endDate" + ], + "properties": { + "alias": { + "type": "string", + "description": "A user defined identifier for the override" + }, + "user": { + "$ref": "#/definitions/Recipient", + "description": "The user object who will take on call responsibility or reserved word none" + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Time for override starting" + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "Time for override ending" + }, + "rotations": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleOverrideRotation" + }, + "description": "Identifier (id or name) of rotations that override will apply. When it's set, only specified schedule rotations will be overridden" + } + } + }, + "UpdateScheduleOverridePayload": { + "type": "object", + "required": [ + "user", + "startDate", + "endDate" + ], + "properties": { + "user": { + "$ref": "#/definitions/Recipient", + "description": "The user object who will take on call responsibility or reserved word none" + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Time for override starting" + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "Time for override ending" + }, + "rotations": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleOverrideRotation" + }, + "description": "Identifier (id or name) of rotations that override will apply. When it's set, only specified schedule rotations will be overridden" + } + } + }, + "CreateScheduleOverrideResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ScheduleOverrideMeta" + } + } + } + ] + }, + "GetScheduleOverrideResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ScheduleOverride" + } + } + } + ] + }, + "UpdateScheduleOverrideResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ScheduleOverrideMeta" + } + } + } + ] + }, + "ListScheduleOverrideResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleOverride" + } + } + } + } + ] + }, + "ScheduleOverride": { + "type": "object", + "properties": { + "_parent": { + "$ref": "#/definitions/ScheduleMeta" + }, + "alias": { + "type": "string" + }, + "user": { + "$ref": "#/definitions/Recipient" + }, + "startDate": { + "type": "string", + "format": "date-time" + }, + "endDate": { + "type": "string", + "format": "date-time" + }, + "rotations": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleOverrideRotation" + } + } + } + }, + "ScheduleOverrideRotation": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "ScheduleOverrideMeta": { + "type": "object", + "properties": { + "alias": { + "type": "string" + } + } + }, + "ListOnCallsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/OnCall" + } + } + } + } + ] + }, + "GetOnCallResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/OnCall" + } + } + } + ] + }, + "GetNextOnCallResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/NextOnCall" + } + } + } + ] + }, + "OnCall": { + "type": "object", + "properties": { + "_parent": { + "$ref": "#/definitions/ScheduleMeta" + }, + "onCallParticipants": { + "type": "array", + "items": { + "$ref": "#/definitions/Participant" + } + }, + "onCallRecipients": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "NextOnCall": { + "type": "object", + "properties": { + "_parent": { + "$ref": "#/definitions/ScheduleMeta" + }, + "nextOnCallRecipients": { + "type": "array", + "items": { + "$ref": "#/definitions/Participant" + } + }, + "exactNextOnCallRecipients": { + "type": "array", + "items": { + "$ref": "#/definitions/Participant" + } + }, + "nextOnCallParticipants": { + "type": "array", + "items": { + "type": "string" + } + }, + "exactNextOnCallParticipants": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Participant": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "onCallParticipants": { + "type": "array", + "items": { + "$ref": "#/definitions/Participant" + } + }, + "forwardedFrom": { + "$ref": "#/definitions/Participant" + }, + "escalationTime": { + "description": "Only used by 'escalation' participants", + "type": "integer", + "format": "int32" + }, + "notifyType": { + "description": "Only used by 'escalation' participants", + "type": "string" + } + } + }, + "CreateEscalationPayload": { + "type": "object", + "required": [ + "name", + "rules" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the escalation" + }, + "description": { + "type": "string", + "description": "Description of the escalation" + }, + "rules": { + "type": "array", + "description": "List of escalation rules.", + "items": { + "$ref": "#/definitions/EscalationRule" + } + }, + "ownerTeam": { + "description": "Owner team of escalation.", + "$ref": "#/definitions/TeamMeta" + }, + "repeat": { + "description": "Repeat preferences of escalation", + "$ref": "#/definitions/EscalationRepeat" + } + } + }, + "UpdateEscalationPayload": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the escalation" + }, + "description": { + "type": "string", + "description": "Description of the escalation" + }, + "rules": { + "type": "array", + "description": "List of escalation rules.", + "items": { + "$ref": "#/definitions/EscalationRule" + } + }, + "ownerTeam": { + "description": "Owner team of escalation.", + "$ref": "#/definitions/TeamMeta" + }, + "repeat": { + "description": "Repeat preferences of escalation", + "$ref": "#/definitions/EscalationRepeat" + } + } + }, + "GetEscalationResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Escalation" + } + } + } + ] + }, + "ListEscalationsResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/Escalation" + } + } + } + } + ] + }, + "Escalation": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "ownerTeam": { + "$ref": "#/definitions/TeamMeta" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/EscalationRule" + } + }, + "repeat": { + "$ref": "#/definitions/EscalationRepeat" + } + } + }, + "EscalationRule": { + "type": "object", + "required": [ + "condition", + "notifyType", + "delay", + "recipient" + ], + "properties": { + "condition": { + "type": "string", + "enum": [ + "if-not-acked", + "if-not-closed" + ], + "default": "if-not-acked" + }, + "notifyType": { + "type": "string", + "enum": [ + "default", + "next", + "previous", + "users", + "admins", + "all" + ], + "default": "default" + }, + "delay": { + "$ref": "#/definitions/Duration" + }, + "recipient": { + "$ref": "#/definitions/Recipient" + } + } + }, + "EscalationRepeat": { + "type": "object", + "properties": { + "waitInterval": { + "type": "integer", + "nullable": true + }, + "count": { + "type": "integer", + "nullable": true + }, + "resetRecipientStates": { + "type": "boolean", + "nullable": true + }, + "closeAlertAfterAll": { + "type": "boolean", + "nullable": true + } + } + }, + "CreateForwardingRulePayload": { + "type": "object", + "required": [ + "fromUser", + "toUser", + "startDate", + "endDate" + ], + "properties": { + "fromUser": { + "description": "The user whose notifications will be forwarded.", + "$ref": "#/definitions/UserMeta" + }, + "toUser": { + "description": "The user who will receive the forwarded notifications.", + "$ref": "#/definitions/UserMeta" + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "The date and time for forwarding will start" + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "The date and time for forwarding will end" + }, + "alias": { + "type": "string", + "description": "A user defined identifier for the forwarding rule." + } + } + }, + "UpdateForwardingRulePayload": { + "type": "object", + "required": [ + "fromUser", + "toUser", + "startDate", + "endDate" + ], + "properties": { + "fromUser": { + "description": "The user whose notifications will be forwarded.", + "$ref": "#/definitions/UserMeta" + }, + "toUser": { + "description": "The user who will receive the forwarded notifications.", + "$ref": "#/definitions/UserMeta" + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "The date and time for forwarding will start" + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "The date and time for forwarding will end" + } + } + }, + "ListForwardingRulesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/ForwardingRule" + } + } + } + } + ] + }, + "CreateForwardingRuleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ForwardingRuleMeta" + } + } + } + ] + }, + "GetForwardingRuleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ForwardingRule" + } + } + } + ] + }, + "ForwardingRule": { + "type": "object", + "properties": { + "fromUser": { + "$ref": "#/definitions/UserMeta" + }, + "toUser": { + "$ref": "#/definitions/UserMeta" + }, + "startDate": { + "type": "string", + "format": "date-time" + }, + "endDate": { + "type": "string", + "format": "date-time" + }, + "alias": { + "type": "string" + }, + "id": { + "type": "string" + } + } + }, + "ForwardingRuleMeta": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "alias": { + "type": "string" + } + } + }, + "CreateCustomUserRolePayload": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of custom user role" + }, + "extendedRole": { + "type": "string", + "description": "Custom role. Must not be one of the defined values (i.e. \"user\", \"observer\", \"stakeholder\")" + }, + "grantedRights": { + "type": "array", + "description": "Rights granted to the custom user role.", + "items": { + "type": "string" + } + }, + "disallowedRights": { + "type": "array", + "description": "Rights disallowed for the custom user role.", + "items": { + "type": "string" + } + } + } + }, + "UpdateCustomUserRolePayload": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of custom user role" + }, + "extendedRole": { + "type": "string", + "description": "Custom role. Must not be one of the defined values (i.e. \"user\", \"observer\", \"stakeholder\")" + }, + "grantedRights": { + "type": "array", + "description": "Rights granted to the custom user role.", + "items": { + "type": "string" + } + }, + "disallowedRights": { + "type": "array", + "description": "Rights disallowed for the custom user role.", + "items": { + "type": "string" + } + } + } + }, + "ListCustomUserRolesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomUserRole" + } + } + } + } + ] + }, + "GetCustomUserRoleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/CustomUserRole" + } + } + } + ] + }, + "CustomUserRole": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extendedRole": { + "type": "string", + "description": "Custom role. Must not be one of the defined values (i.e. \"user\", \"observer\", \"stakeholder\")" + }, + "grantedRights": { + "type": "array", + "description": "Rights granted to the custom user role.", + "items": { + "type": "string" + } + }, + "disallowedRights": { + "type": "array", + "description": "Rights disallowed for the custom user role.", + "items": { + "type": "string" + } + } + } + }, + "ChangePolicyOrderPayload": { + "type": "object", + "required": [ + "targetIndex" + ], + "properties": { + "targetIndex": { + "type": "integer", + "format": "int32", + "description": "Order of the target policy will be changed to this value. Larger values than policy count will put the target policy to last place", + "minimum": 0 + } + } + }, + "CreatePolicyResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/PolicyMeta" + } + } + } + ] + }, + "ListPoliciesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyMeta" + } + } + } + } + ] + }, + "GetPolicyResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Policy" + } + } + } + ] + }, + "PolicyMeta": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "alert", + "notification" + ] + }, + "order": { + "type": "integer", + "format": "int32" + }, + "enabled": { + "type": "boolean" + } + } + }, + "Policy": { + "type": "object", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Name of the policy" + }, + "policyDescription": { + "type": "string", + "description": "Description of the policy" + }, + "teamId": { + "type": "string", + "description": "TeamId of the policy" + }, + "filter": { + "$ref": "#/definitions/Filter", + "description": "Conditions specified in this field must be met for this policy to work" + }, + "timeRestrictions": { + "$ref": "#/definitions/TimeRestrictionInterval", + "description": "Time restrictions specified in this field must be met for this policy to work" + }, + "enabled": { + "type": "boolean", + "description": "Activity status of the alert policy" + }, + "type": { + "type": "string", + "description": "Type of the policy", + "enum": [ + "alert", + "notification" + ] + } + } + }, + "AlertPolicy": { + "type": "object", + "x-discriminator-value": "alert", + "allOf": [ + { + "$ref": "#/definitions/Policy" + }, + { + "properties": { + "ignoreOriginalActions": { + "type": "boolean" + }, + "ignoreOriginalDetails": { + "description": "If set to true, policy will ignore the original details of the alert. Default value is false", + "type": "boolean" + }, + "ignoreOriginalResponders": { + "description": "If set to true, policy will ignore the original responders of the alert. Default value is false", + "type": "boolean" + }, + "ignoreOriginalTags": { + "description": "If set to true, policy will ignore the original tags of the alert. Default value is false", + "type": "boolean" + }, + "ignoreOriginalTeams": { + "description": "If set to true, policy will ignore the original teams of the alert. Default value is false", + "type": "boolean" + }, + "continue": { + "description": "Will continue with other modify policies if set to true", + "type": "boolean" + }, + "alias": { + "description": "Alias of the alert. You can use {{alias}} to refer to the original alias. Default value is {{alias}}", + "type": "string" + }, + "description": { + "description": "Description of the alert. You can use {{description}} to refer to the original alert description. Default value is {{description}}", + "type": "string" + }, + "entity": { + "description": "Entity field of the alert. You can use {{entity}} to refer to the original entity. Default value is {{entity}}", + "type": "string" + }, + "message": { + "description": "Message of the alert", + "type": "string" + }, + "source": { + "description": "Source field of the alert. You can use {{source}} to refer to the original source. Default value is {{source}}", + "type": "string" + }, + "actions": { + "description": "Alert actions as a list of strings to add to the alerts original actions value. If ignoreOriginalActions field is set to true, this will replace the original actions.", + "type": "array", + "items": { + "type": "string" + } + }, + "responders": { + "description": "Responders to add to the alerts original responders value as a list of teams or users. If ignoreOriginalResponders field is set to true, this will replace the original responders.", + "type": "array", + "items": { + "$ref": "#/definitions/Responder" + } + }, + "tags": { + "description": "Tags to add to the alerts original tags value as a list of strings. If ignoreOriginalTags field is set to true, this will replace the original tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "details": { + "description": "Custom properties to add to the alerts original details value as a list of strings. If ignoreOriginalDetails field is set to true, this will replace the original details.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "priority": { + "type": "string", + "description": "Priority level of the alert", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ] + } + } + } + ] + }, + "NotificationPolicy": { + "type": "object", + "x-discriminator-value": "notification", + "allOf": [ + { + "$ref": "#/definitions/Policy" + }, + { + "properties": { + "autoRestartAction": { + "description": "Auto-restart action defined for the policy.", + "$ref": "#/definitions/AutoRestartAction" + }, + "autoCloseAction": { + "description": "Auto-close action defined for the policy.", + "$ref": "#/definitions/AutoCloseAction" + }, + "deduplicationAction": { + "description": "Deduplication action defined for the policy.", + "$ref": "#/definitions/DeduplicationAction" + }, + "delayAction": { + "description": "Delay action defined for the policy.", + "$ref": "#/definitions/DelayAction" + }, + "suppress": { + "description": "If set to true, notifications related to the matching alert will be suppressed. Default value is false.", + "type": "boolean" + } + } + } + ] + }, + "AutoRestartAction": { + "type": "object", + "required": [ + "duration", + "maxRepeatCount" + ], + "properties": { + "duration": { + "$ref": "#/definitions/Duration" + }, + "maxRepeatCount": { + "type": "integer", + "format": "int32" + } + } + }, + "AutoCloseAction": { + "type": "object", + "required": [ + "duration" + ], + "properties": { + "duration": { + "$ref": "#/definitions/Duration" + } + } + }, + "DeduplicationAction": { + "type": "object", + "required": [ + "deduplicationActionType", + "count" + ], + "properties": { + "deduplicationActionType": { + "type": "string", + "enum": [ + "value-based", + "frequency-based" + ] + }, + "count": { + "type": "integer", + "format": "int32", + "minimum": 2, + "maximum": 100 + }, + "duration": { + "$ref": "#/definitions/Duration" + } + } + }, + "DelayAction": { + "type": "object", + "required": [ + "delayOption" + ], + "properties": { + "delayOption": { + "type": "string", + "enum": [ + "for-duration", + "next-time", + "next-weekday", + "next-monday", + "next-tuesday", + "next-wednesday", + "next-thursday", + "next-friday", + "next-saturday", + "next-sunday" + ] + }, + "untilHour": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 23 + }, + "untilMinute": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 59 + }, + "duration": { + "$ref": "#/definitions/Duration" + } + } + }, + "StatusPageEntry": { + "x-opsgenie-domain": "incident", + "type": "object", + "allOf": [ + { + "required": [ + "title" + ] + }, + { + "properties": { + "title": { + "type": "string", + "description": "The message to be added using status page into incident" + }, + "details": { + "type": "string", + "description": "Description of the message being added via stats page into incident" + } + } + } + ] + }, + "CreateIncidentPayload": { + "x-opsgenie-domain": "incident", + "type": "object", + "allOf": [ + { + "required": [ + "message", + "serviceId" + ] + }, + { + "properties": { + "message": { + "type": "string", + "description": "Message of the incident" + }, + "description": { + "type": "string", + "description": "Description field of the incident that is generally used to provide a detailed information about the incident." + }, + "responders": { + "type": "array", + "description": "Responders that the incident will be routed to send notifications", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + "tags": { + "type": "array", + "description": "Tags of the incident.", + "items": { + "type": "string" + } + }, + "details": { + "type": "object", + "description": "Map of key-value pairs to use as custom properties of the incident", + "additionalProperties": { + "type": "string" + } + }, + "priority": { + "type": "string", + "description": "Priority level of the incident", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ] + }, + "note": { + "type": "string", + "description": "Additional note that will be added while creating the incident" + }, + "serviceId": { + "type": "string", + "description": "Service on which incident will be created." + }, + "statusPageEntry": { + "type": "object", + "description": "Status page entry fields. If this field is leaved blank, message and description of incident will be used for title and detail respectively.", + "additionalProperties": { + "$ref": "#/definitions/StatusPageEntry" + } + }, + "notifyStakeholders": { + "type": "boolean", + "description": "Indicate whether stakeholders are notified or not. Default value is false." + } + } + } + ] + }, + "IncidentActionPayload": { + "x-opsgenie-domain": "incident", + "type": "object", + "properties": { + "note": { + "type": "string", + "description": "Additional note that will be included with the incident" + } + } + }, + "CloseIncidentPayload": { + "x-opsgenie-domain": "incident", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IncidentActionPayload" + } + ] + }, + "GetIncidentRequestStatusResponse": { + "x-opsgenie-domain": "incident", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/IncidentRequestStatus" + } + } + } + ] + }, + "GetIncidentResponse": { + "x-opsgenie-domain": "incident", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Incident" + } + } + } + ] + }, + "ListIncidentsResponse": { + "x-opsgenie-domain": "incident", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/BaseIncident" + } + }, + "paging": { + "$ref": "#/definitions/PageDetails" + } + } + } + ] + }, + "IncidentRequestStatus": { + "x-opsgenie-domain": "incident", + "type": "object", + "properties": { + "success": { + "type": "boolean" + }, + "action": { + "type": "string" + }, + "processedAt": { + "type": "string", + "format": "date-time" + }, + "integrationId": { + "type": "string" + }, + "isSuccess": { + "type": "boolean" + }, + "status": { + "type": "string" + }, + "incidentId": { + "type": "string" + } + } + }, + "Incident": { + "x-opsgenie-domain": "incident", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseIncident" + }, + { + "properties": { + "requestId": { + "type": "string" + } + } + } + ] + }, + "BaseIncident": { + "x-opsgenie-domain": "incident", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string" + }, + "tinyId": { + "type": "string" + }, + "message": { + "type": "string" + }, + "status": { + "type": "string" + }, + "isSeen": { + "type": "boolean" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "source": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "priority": { + "type": "string" + }, + "responders": { + "type": "array", + "items": { + "$ref": "#/definitions/Responder" + } + }, + "ownerTeam": { + "type": "string" + }, + "extraProperties": { + "type": "object", + "description": "Map of key-value pairs to use as custom properties of the incident", + "additionalProperties": { + "type": "string" + } + } + } + }, + "CreateServicePayload": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the service" + }, + "teamId": { + "type": "string", + "description": "Team id of the service." + }, + "description": { + "type": "string", + "description": "Description field of the service that is generally used to provide a detailed information about the service." + }, + "visibility": { + "type": "string", + "enum": [ + "TEAM_MEMBERS", + "OPSGENIE_USERS" + ] + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UpdateServicePayload": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the service" + }, + "description": { + "type": "string", + "description": "Description field of the service that is generally used to provide a detailed information about the service." + }, + "visibility": { + "type": "string", + "enum": [ + "TEAM_MEMBERS", + "OPSGENIE-USERS" + ] + } + } + }, + "GetServiceResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/Service" + } + } + } + ] + }, + "ListServicesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/Service" + } + }, + "paging": { + "$ref": "#/definitions/PageDetails" + } + } + } + ] + }, + "Service": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the service" + }, + "name": { + "type": "string", + "description": "Name of the service" + }, + "teamId": { + "type": "string", + "description": "Team id of the service." + }, + "description": { + "type": "string", + "description": "Description field of the service that is generally used to provide a detailed information about the service." + }, + "visibility": { + "type": "string", + "enum": [ + "TEAM_MEMBERS", + "OPSGENIE_USERS" + ] + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CreateServiceIncidentRulePayload": { + "type": "object", + "required": [ + "incidentProperties" + ], + "properties": { + "conditionMatchType": { + "type": "string", + "enum": [ + "match-all", + "match-any-condition", + "match-all-conditions" + ], + "default": "match-all" + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceIncidentCondition" + } + }, + "incidentProperties": { + "$ref": "#/definitions/ServiceIncidentProperties" + } + } + }, + "UpdateServiceIncidentRulePayload": { + "type": "object", + "properties": { + "conditionMatchType": { + "type": "string", + "enum": [ + "match-all", + "match-any-condition", + "match-all-conditions" + ], + "default": "match-all" + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceIncidentCondition" + } + }, + "incidentProperties": { + "$ref": "#/definitions/ServiceIncidentProperties" + } + } + }, + "GetServiceIncidentRuleResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ServiceIncidentRule" + } + } + } + ] + }, + "ListServiceIncidentRulesResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceIncidentRule" + } + } + } + } + ] + }, + "ServiceIncidentRule": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the incident rule." + }, + "conditionMatchType": { + "type": "string", + "enum": [ + "match-all", + "match-any-condition", + "match-all-conditions" + ], + "default": "match-all" + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceIncidentCondition" + } + }, + "incidentProperties": { + "$ref": "#/definitions/ServiceIncidentProperties" + }, + "order": { + "type": "integer", + "description": "Order for the rule." + } + } + }, + "ServiceIncidentCondition": { + "type": "object", + "required": [ + "field", + "operation" + ], + "properties": { + "field": { + "type": "string", + "description": "Specifies which alert field will be used in condition. Possible values are message, description, tags, extra-properties, recipients, teams or priority", + "enum": [ + "message", + "description", + "tags", + "extra-properties", + "recipients", + "teams", + "priority" + ] + }, + "key": { + "type": "string", + "description": "If field is set as extra-properties, key could be used for key-value pair" + }, + "not": { + "type": "boolean", + "description": "Indicates behaviour of the given operation. Default value is false" + }, + "operation": { + "type": "string", + "enum": [ + "matches", + "contains", + "starts-with", + "ends-with", + "equals", + "contains-key", + "contains-value", + "greater-than", + "less-than", + "is-empty", + "equals-ignore-whitespace" + ], + "description": "It is the operation that will be executed for the given field and key." + }, + "expectedValue": { + "type": "string", + "description": "User defined value that will be compared with alert field according to the operation. Default value is empty string" + } + } + }, + "ServiceIncidentProperties": { + "type": "object", + "required": [ + "message", + "priority", + "stakeholderProperties" + ], + "properties": { + "message": { + "type": "string", + "description": "Message of the related incident rule." + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Tags of the alert." + }, + "details": { + "type": "object", + "description": "Map of key-value pairs to use as custom properties of the alert.", + "additionalProperties": { + "type": "string" + } + }, + "description": { + "type": "string", + "description": "Description field of the incident rule." + }, + "priority": { + "type": "string", + "description": "Priority level of the alert. Possible values are P1, P2, P3, P4 and P5", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ] + }, + "stakeholderProperties": { + "$ref": "#/definitions/ServiceIncidentStakeholderProperties" + } + } + }, + "ServiceIncidentStakeholderProperties": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "enable": { + "type": "boolean", + "description": "Option to enable stakeholder notifications.Default value is true." + }, + "message": { + "type": "string", + "description": "Message that is to be passed to audience that is generally used to provide a content information about the alert." + }, + "description": { + "type": "string", + "description": "Description that is generally used to provide a detailed information about the alert." + } + } + }, + "PartialUpdateServiceAudienceTemplatePayload": { + "type": "object", + "properties": { + "responder": { + "$ref": "#/definitions/ServiceAudienceTemplateResponder" + }, + "stakeholder": { + "$ref": "#/definitions/ServiceAudienceTemplateStakeholder" + } + } + }, + "GetServiceAudienceTemplateResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/ServiceAudienceTemplate" + } + } + } + ] + }, + "PartialUpdateServiceAudienceTemplateResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResponse" + } + ] + }, + "ServiceAudienceTemplate": { + "type": "object", + "properties": { + "responder": { + "$ref": "#/definitions/ServiceAudienceTemplateResponder" + }, + "stakeholder": { + "$ref": "#/definitions/ServiceAudienceTemplateStakeholder" + } + } + }, + "ServiceAudienceTemplateResponder": { + "type": "object", + "properties": { + "teams": { + "type": "array", + "items": { + "type": "string" + } + }, + "individuals": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ServiceAudienceTemplateStakeholder": { + "type": "object", + "properties": { + "individuals": { + "type": "array", + "items": { + "type": "string" + } + }, + "conditionMatchType": { + "type": "string", + "description": "Match type for given conditions. Possible values are [match-all-conditions, match-any-condition]. Default value is [match-any-condition].", + "enum": [ + "match-all-conditions", + "match-any-condition" + ] + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceAudienceTemplateCondition" + } + } + } + }, + "ServiceAudienceTemplateCondition": { + "type": "object", + "required": [ + "matchField", + "value" + ], + "properties": { + "matchField": { + "type": "string", + "description": "Field to be matched for users. Possible values are [country, state, city, zipCode, line, tag, customProperty]. customProperty can be used while actionType is keyValue.", + "enum": [ + "country", + "state", + "city", + "zipCode", + "line", + "tag", + "customProperty" + ] + }, + "key": { + "type": "string", + "description": "If matchField is customProperty, key must be given." + }, + "value": { + "type": "string", + "description": "Value to be check for the match field." + } + } + } + } +}