openapi: 3.0.1 info: title: ilert REST Alert Actions Alerts API description: "# Introduction\nThe ilert API is a [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API and provides programmatic access to entities in ilert and lets you easily integrate ilert with 3rd party tools. If you are looking to develop an inbound integration (e.g. for a monitoring tool), please use our [Events API](#tag/events). \n\nThe API supports the JSON content type for requests and responses. The response content type is requested via the HTTP Accept header (`application/json`). All resources are accessible via https and are located at `api.ilert.com/api`. \n\n You may download ilert's latest [OpenAPI.json {...} here](https://api.ilert.com/api-docs/openapi.json).\n\n If you are looking for a classic Swagger-UI view you may also open [this link](https://api.ilert.com/api-docs/swagger-ui). \n\n ## Authentication\nThe REST API accepts bearer API tokens. Each user may create API keys using the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. `Bearer APIKEY` when sending api key requests. By default, access to all resources (using any method) requires the client to be authenticated.\n\n ## Team Context\n When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team. \n\n ## Errors\nilert uses HTTP response codes to indicate success or failure of an API request. Codes in the 2xx range indicate success, codes in the 4xx range indicate a client error (e.g. a missing required parameter) and codes in the 5xx range indicate an error with ilert's servers. In case of an error, the response body contains the following information:\n\n Attribute | Description \n ------------- | ------------- \n status | the corresponsing HTTP status code \n message | a human readable description of the error \n code | error code, used to identify error type \n\n ## API Versioning\nChanges to our API are always backwards-compatible. To get more information about our API versioning and historical changes, please take a look here." version: v2.2026.5-r.3 x-logo: url: ./ilert-logo-spaced.png backgroundColor: '#fafafa' altText: ilert documentation logo servers: - url: /api security: - apiKey: [] tags: - name: Alerts paths: /alerts: get: tags: - Alerts summary: List alerts (optionally matching certain criteria that are specified by query parameters). description: "**Sample URLs**\n* List only alerts that are either in state `PENDING` or `ACCEPTED`:
https://api.ilert.com/api/alerts?states=PENDING&states=ACCEPTED\n* List only alerts that belong to the alert source with ID `1243` or `1743` and where user `jd` is a responder:
\n https://api.ilert.com/api/alerts?sources=1243&sources=1743&responders=jd\n* Paginate first batch for a range of alerts (note: query parameters should be url encoded):
\n https://api.ilert.com/api/alerts?start-index=0&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z\n* Fetch next page, assuming equal to max-results were returned:
\n https://api.ilert.com/api/alerts?start-index=100&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z\n* Pagination should be done based on the `reportTime` field using the parameters `from` and `until` as well as `start-index`. When building a local alert state store the `id` field should be used as identifier. The `alertKey` field is not suitable for this, as it is used to group related alerts to each other." parameters: - name: start-index in: query description: an integer specifying the starting point (beginning with 0) when paging through a list of entities schema: type: integer format: int32 default: 0 - name: max-results in: query description: the maximum number of results when paging through a list of entities. schema: maximum: 100 type: integer format: int32 default: 50 - name: include in: query description: Describes optional properties that should be included in the response. You may declare multiple. (nextEscalationUser) style: form explode: true schema: type: array items: type: string enum: - nextEscalationUser - name: states in: query description: state of the alert style: form explode: true schema: type: array items: type: string enum: - PENDING - ACCEPTED - RESOLVED - name: sources in: query description: alert source IDs of the alert's alert source style: form explode: true schema: type: array items: type: integer format: int64 - name: policies in: query description: escalation policy IDs of the alert's escalation policy style: form explode: true schema: type: array items: type: integer format: int64 - name: responders in: query description: user ids of the user that is a responder of the alert style: form explode: true schema: type: array items: type: string - name: from in: query description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on reportTime schema: type: string format: date-time - name: until in: query description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on reportTime schema: type: string format: date-time responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Alert' post: tags: - Alerts summary: Create alerts with customised parameters without requiring events from monitoring tools that use our Events API. description: 'ATTENTION: do not use this endpoint to create monitoring related (or high volumes of) alerts, use ''/api/events'' instead, you have been warned! Escalation of the alert will be based on the alert source''s escalation policy or may be overridden by providing a specific escalation policy or lastly specific set of responders (users), latter will only notify the user(s) and will not escalate any further.' requestBody: description: the alert content: application/json: schema: $ref: '#/components/schemas/ManualAlert' required: true responses: '201': description: the created and freshly escalated alert content: application/json: schema: $ref: '#/components/schemas/Alert' x-codegen-request-body-name: alert /alerts/count: get: tags: - Alerts summary: Get the alert count matching the specified criteria. parameters: - name: states in: query description: state of the alert style: form explode: true schema: type: array items: type: string enum: - PENDING - ACCEPTED - RESOLVED - name: sources in: query description: alert source IDs of the alert's alert source style: form explode: true schema: type: array items: type: integer format: int64 - name: responders in: query description: user ids of the user that is a responder of the alert style: form explode: true schema: type: array items: type: string - name: from in: query description: from date schema: type: string format: date-time - name: until in: query description: until date schema: type: string format: date-time responses: '200': description: the number of alerts matching the specified criteria content: application/json: schema: $ref: '#/components/schemas/CountResponse' /alerts/{id}: get: tags: - Alerts summary: Get the alert with the specified id. parameters: - name: id in: path description: entity ID required: true schema: type: number - name: include in: query description: Describes optional properties that should be included in the response. You may declare multiple. (escalationRules, nextEscalationUser, customDetails) style: form explode: true schema: type: array items: type: string enum: - escalationRules - nextEscalationUser - customDetails responses: '200': description: alert object content: application/json: schema: $ref: '#/components/schemas/Alert' /alerts/{id}/suggested-responders: get: tags: - Alerts summary: Get available (assignable) responders for the alert with the specified id. parameters: - name: id in: path description: entity ID required: true schema: type: number - name: lang in: query description: locale for response text eg. 'en' or 'de' schema: type: string responses: '200': description: the list of alert responders content: application/json: schema: type: array items: $ref: '#/components/schemas/SuggestedResponder' /alerts/{id}/responders: post: tags: - Alerts summary: Add an additional responder to the alert. parameters: - name: id in: path description: entity ID required: true schema: type: number responses: '201': description: the created alert responder object content: application/json: schema: $ref: '#/components/schemas/AlertResponder' '404': description: Responder did not exist content: {} '405': description: Responder is already present on the alert content: {} /alerts/{id}/responders/{user-id}: delete: tags: - Alerts summary: Remove a responder from the alert. parameters: - name: id in: path description: entity ID required: true schema: type: number - name: user-id in: path description: numeric user id required: true schema: type: string responses: '204': description: Responder has been removed content: {} '404': description: Responder did not exist content: {} /alerts/{id}/assign: put: tags: - Alerts summary: Assign the alert. description: Either provide a user-id, policy-id (escalation policy) or schedule-id (on-call schedule) that the specific alert should be assigned to. parameters: - name: id in: path description: entity ID required: true schema: type: number - name: user in: query description: numeric user id schema: type: string - name: policy in: query description: numeric policy id schema: type: string - name: schedule in: query description: numeric schedule id schema: type: string responses: '200': description: the updated alert object content: application/json: schema: $ref: '#/components/schemas/Alert' /alerts/{id}/accept: put: tags: - Alerts summary: Accept the Alert. parameters: - name: id in: path description: entity ID required: true schema: type: number responses: '200': description: the updated alert object content: application/json: schema: $ref: '#/components/schemas/Alert' /alerts/{id}/resolve: put: tags: - Alerts summary: Resolve the alert. parameters: - name: id in: path description: entity ID required: true schema: type: number responses: '200': description: the updated alert object content: application/json: schema: $ref: '#/components/schemas/Alert' /alerts/{id}/notifications: get: tags: - Alerts summary: Get notifications for the specified alert. parameters: - name: id in: path description: entity ID required: true schema: type: number responses: '200': description: a list of notification objects content: application/json: schema: type: array items: $ref: '#/components/schemas/Notification' /alerts/{id}/log-entries: get: tags: - Alerts summary: Get log entries for the specified alert. parameters: - name: id in: path description: entity ID required: true schema: type: number - name: lang in: query description: log entry language schema: type: string enum: - en - de - name: start-index in: query description: an integer specifying the starting point (beginning with 0) when paging through a list of entities schema: type: integer format: int32 default: 0 - name: max-results in: query description: the maximum number of results when paging through a list of entities. schema: maximum: 100 type: integer format: int32 default: 50 - name: include in: query description: Describes optional properties that should be included in the response. You may declare multiple. (vars) style: form explode: true schema: type: array items: type: string enum: - vars - name: filter-types in: query description: filter-type (group) of the log style: form explode: true schema: type: array items: type: string enum: - NOTIFICATIONS - ALERT_SOURCE_EVENTS - CALL_ROUTING_EVENTS - ALERT_UPDATES - CONNECTOR_EVENTS - INCIDENT_COMMUNICATIONS responses: '200': description: list of log entries content: application/json: schema: type: array items: $ref: '#/components/schemas/LogEntry' components: schemas: ServiceStatus: type: string description: the service status enum: - OPERATIONAL - UNDER_MAINTENANCE - DEGRADED - PARTIAL_OUTAGE - MAJOR_OUTAGE IntegrationType: type: string enum: - NAGIOS - ICINGA - EMAIL2 - SMS - API - HEARTBEAT2 - PRTG - PINGDOM - CLOUDWATCH - AWSPHD - STACKDRIVER - INSTANA - ZABBIX - SOLARWINDS - PROMETHEUS - NEWRELIC - GRAFANA - GITHUB - DATADOG - UPTIMEROBOT - APPDYNAMICS - DYNATRACE - TOPDESK - STATUSCAKE - MONITOR - TOOL - CHECKMK - AUTOTASK - AWSBUDGET - SYSDIG - SERVERDENSITY - ZAPIER - KENTIXAM - JIRA - CONSUL - ZAMMAD - SPLUNK - SERVICENOW - SEARCHGUARD - KUBERNETES - SIGNALFX - AZUREALERTS - TERRAFORMCLOUD - SENTRY - SEMATEXT - SUMOLOGIC - RAYGUN - MXTOOLBOX - ESWATCHER - AMAZONSNS - KAPACITOR - CORTEXXSOAR - ZENDESK - AUVIK - SENSU - NCENTRAL - JUMPCLOUD - SALESFORCE - GUARDDUTY - STATUSHUB - IXON - APIFORTRESS - FRESHSERVICE - APPSIGNAL - LIGHTSTEP - IBMCLOUDFUNCTIONS - CROWDSTRIKE - HUMIO - OHDEAR - MONGODBATLAS - GITLAB - HYPERPING - PAPRISMACLOUD - SAMSARA - PANDORAFMS - MSSCOM - TWILIO - CISCOMERAKI - CHECKLY - POSTHOG - GOOGLESCC - SLACK - MSTEAMS - UPTIMEKUMA - TWILIOERRORS - PARTICLE - CLOUDFLARE - TULIP - GRAYLOG - CATCHPOINT - LOKI - CORTEX - MIMIR - HALOPSA - INFLUXDB - CALLFLOW - HALOITSM - KIBANA - VICTORIAMETRICS - HONEYCOMB - FOURME - KEEP - UBIDOTS - HETRIXTOOLS - POSTMAN - CLUSTERCONTROL - NETDATA - AWX - KAFKA - MQTT - RAPIDSPIKE - HONEYBADGER - HEALTHCHECKSIO - MEZMO - SERVERGUARD24 - CISCOTHOUSANDEYES - SITE24X7 - ITCONDUCTOR - SAPFRUN - APICA - DASH0 - ROLLBAR - GATUS - LIBRENMS - PANTHER - TEAMCITY - ALIBABACLOUD - FLEETDM - CONNECTWISEPSA - DEADMANSSNITCH - FORTISOAR - OPMANAGER - CRONITOR - DOMOTZ - LIVEWATCH - AZUREDEVOPS - LEVELIO - EKARA - SYSAID - PHAREIO - OPSGENIE - WHATAP - SIGNOZ - GOOGLECHAT - DOTCOMMONITOR - UPTIME - HELPSCOUT - SCIENCELOGIC - PULSETIC - WAZUH - SEKOIA EscalationRule: required: - escalationTimeout type: object properties: escalationTimeout: type: integer user: type: object properties: id: type: number description: 'This field (type: User) is deprecated, please use ''users'' instead' schedule: type: object properties: id: type: number description: 'This field (type: Schedule) is deprecated, please use ''schedules'' instead' team: type: object properties: id: type: number description: 'This field (type: Team) is deprecated, please use ''teams'' instead' users: type: array items: $ref: '#/components/schemas/UserRel' schedules: type: array items: $ref: '#/components/schemas/ScheduleRel' teams: type: array items: $ref: '#/components/schemas/TeamRel' SimpleIdField64: required: - id type: object properties: id: type: integer format: int64 description: For POST and PUT requests only the id field is required for sub entities, e.g. status page -> service, alert source -> support hour LogFilterType: type: string enum: - NOTIFICATIONS - ALERT_SOURCE_EVENTS - CALL_ROUTING_EVENTS - ALERT_UPDATES - CONNECTOR_EVENTS AlertSource: required: - escalationPolicy - integrationType - name type: object properties: id: type: integer format: int64 teams: type: array items: $ref: '#/components/schemas/TeamRel' name: type: string iconUrl: type: string lightIconUrl: type: string darkIconUrl: type: string escalationPolicy: $ref: '#/components/schemas/EscalationPolicy' integrationType: $ref: '#/components/schemas/IntegrationType' integrationKey: type: string integrationUrl: type: string readOnly: true autoResolutionTimeout: type: string format: ISO-8601 alertGroupingWindow: type: string format: ISO-8601 alertCreation: type: string default: ONE_ALERT_PER_EMAIL enum: - ONE_ALERT_PER_EMAIL - ONE_ALERT_PER_EMAIL_SUBJECT - ONE_PENDING_ALERT_ALLOWED - ONE_OPEN_ALERT_ALLOWED - OPEN_RESOLVE_ON_EXTRACTION - ONE_ALERT_GROUPED_PER_WINDOW - INTELLIGENT_GROUPING status: type: string readOnly: true enum: - PENDING - ALL_ACCEPTED - ALL_RESOLVED - IN_MAINTENANCE - DISABLED active: type: boolean default: true alertPriorityRule: $ref: '#/components/schemas/AlertPriorityRule' supportHours: $ref: '#/components/schemas/SupportHour' bidirectional: type: boolean readOnly: true summaryTemplate: $ref: '#/components/schemas/AlertSourceTemplate' detailsTemplate: $ref: '#/components/schemas/AlertSourceTemplate' routingTemplate: $ref: '#/components/schemas/AlertSourceTemplate' linkTemplates: type: array items: $ref: '#/components/schemas/AlertSourceLinkTemplate' priorityTemplate: $ref: '#/components/schemas/AlertSourcePriorityTemplate' severityTemplate: $ref: '#/components/schemas/AlertSourceSeverityTemplate' eventFilter: type: string description: 'Defines an optional event filter condition in ICL language. This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists.' alertKeyTemplate: $ref: '#/components/schemas/AlertSourceTemplate' servicesTemplate: type: array description: 'Optional list of templates that extract service identifiers from the inbound event payload. Each rendered value is comma-split, and each resulting token is resolved against the tenant''s services by alias or name (case-insensitive). Unmatched tokens are silently dropped. Capped at 10 templates and at the alert''s per-event services limit. Note: this field is an ?include, it will not appear in lists.' items: $ref: '#/components/schemas/AlertSourceTemplate' eventTypeFilterCreate: type: string description: 'Defines an optional create alert rule in ICL language. This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists.' eventTypeFilterAccept: type: string description: 'Defines an optional accept alert rule in ICL language This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists.' eventTypeFilterResolve: type: string description: 'Defines an optional resolve alert rule in ICL language This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists.' autoRaiseAlerts: type: boolean description: Only effective when a support hour is linked to this alert source. scoreThreshold: type: number format: double description: Only used when alertCreation is set to INTELLIGENT_GROUPING. severity: type: integer services: type: array items: $ref: '#/components/schemas/Service' setupStatus: type: string enum: - CREATED - CREATED_ADVANCED - CREATED_BIDIRECTIONAL - FINISHED autoCreateServices: type: boolean default: false createdAt: type: string readOnly: true updatedAt: type: string readOnly: true SupportHour: required: - name - supportDays - timezone type: object properties: id: type: integer format: int64 name: type: string teams: type: array items: $ref: '#/components/schemas/TeamRel' timezone: $ref: '#/components/schemas/TimeZone' supportDays: type: object properties: MONDAY: $ref: '#/components/schemas/SupportDay' TUESDAY: $ref: '#/components/schemas/SupportDay' WEDNESDAY: $ref: '#/components/schemas/SupportDay' THURSDAY: $ref: '#/components/schemas/SupportDay' FRIDAY: $ref: '#/components/schemas/SupportDay' SATURDAY: $ref: '#/components/schemas/SupportDay' SUNDAY: $ref: '#/components/schemas/SupportDay' exceptions: type: array items: $ref: '#/components/schemas/SupportHourException' Alert: type: object properties: id: type: integer format: int64 summary: type: string details: type: string reportTime: type: string format: date-time resolvedOn: type: string format: date-time status: type: string enum: - PENDING - ACCEPTED - RESOLVED alertSource: $ref: '#/components/schemas/AlertSource' escalationPolicy: $ref: '#/components/schemas/EscalationPolicy' priority: $ref: '#/components/schemas/AlertPriority' alertKey: type: string assignedTo: type: object properties: id: type: number description: 'This field (type: User) is deprecated, please use ''responders'' instead' nextEscalation: type: string format: date-time readOnly: true escalationRules: type: array readOnly: true items: $ref: '#/components/schemas/EscalationRule' nextEscalationUser: $ref: '#/components/schemas/User' nextEscalationRuleIndex: type: number readOnly: true images: type: array items: $ref: '#/components/schemas/EventImage' links: type: array items: $ref: '#/components/schemas/EventLink' responders: type: array readOnly: true items: $ref: '#/components/schemas/AlertResponder' severity: maximum: 5 minimum: 1 type: integer format: int32 description: Optional severity in range 1..5. labels: type: object additionalProperties: type: string description: Optional key/value labels that are attached to the alert. customDetails: type: object additionalProperties: true description: Free-form custom key/value details attached to the alert. This is the original event payload of the integration. Only present with ?include=customDetails on the single-alert GET (not on the list endpoint). linkedIncidentId: type: integer format: int64 readOnly: true description: Id of the incident this alert is linked to, if any. mergedIntoId: type: integer format: int64 readOnly: true description: Id of the alert this alert has been merged into, if any. mergeState: type: string readOnly: true enum: - NONE - MAIN - MERGED description: The merge state of the alert. IncidentNoIncludes: type: object properties: id: type: number summary: type: string status: $ref: '#/components/schemas/IncidentStatus' message: type: string sendNotification: type: boolean createdAt: type: string description: May be overwritten during the creation of the incident, otherwise read-only format: date-time updatedAt: type: string description: May be overwritten during the creation of the incident, otherwise read-only format: date-time affectedServices: type: array items: type: object properties: impact: $ref: '#/components/schemas/ServiceStatus' service: $ref: '#/components/schemas/ServiceNoIncludes' resolvedOn: type: string format: date-time readOnly: true AlertSourceTemplate: type: object properties: textTemplate: type: string description: "For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template.\n\n Example:
`Hi {{ users[0].name }} there!` \n\nYou can use the text template instead of elements by adding the include `textTemplate` to your request. Any version can be used for POST or PUT requests." elements: type: array items: $ref: '#/components/schemas/AlertSourceTemplateElement' AlertSourceSeverityTemplateMapping: required: - severity - value type: object properties: value: type: string severity: type: integer format: int32 Notification: type: object properties: id: type: integer format: int64 method: type: string enum: - PUSH - VOICE - SMS - EMAIL - WHATSAPP target: type: string subject: type: string alertId: type: integer format: int64 user: type: object properties: id: type: integer format: int64 firstname: type: string lastname: type: string notificationTime: type: string format: date-time status: type: string enum: - SCHEDULED - SUCCESS - ERROR errorMessage: type: string description: An error message in case the notification status is ERROR. UserRel: required: - id type: object properties: id: type: integer format: int64 firstName: type: string lastName: type: string AlertSourcePriorityTemplate: required: - mappings - valueTemplate type: object properties: valueTemplate: $ref: '#/components/schemas/AlertSourceTemplate' mappings: type: array items: $ref: '#/components/schemas/AlertSourcePriorityTemplateMapping' SupportHourException: type: object required: - name - start - end - supportStatus properties: name: type: string start: type: string format: date end: type: string format: date supportStatus: type: string enum: - DURING - OUTSIDE ServiceOutage: type: object properties: status: $ref: '#/components/schemas/ServiceStatus' from: type: string format: date-time until: type: string format: date-time ScheduleRel: type: object properties: id: type: integer format: int64 name: type: string type: type: string enum: - STATIC - RECURRING AlertPriorityRule: type: string enum: - HIGH - LOW - HIGH_DURING_SUPPORT_HOURS - LOW_DURING_SUPPORT_HOURS AlertPriority: type: string enum: - HIGH - LOW ServiceNoIncludes: type: object properties: id: type: number name: type: string alias: type: string status: $ref: '#/components/schemas/ServiceStatus' description: type: string oneOpenIncidentOnly: type: boolean showUptimeHistory: type: boolean teams: type: array items: $ref: '#/components/schemas/TeamRel' AlertSourceTemplateElement: type: object properties: type: type: string enum: - TEXT - VAR - RAW val: type: string func: type: string args: type: array items: $ref: '#/components/schemas/AlertSourceTemplateElementArg' IncidentStatus: type: string description: the incident status enum: - INVESTIGATING - IDENTIFIED - MONITORING - RESOLVED Service: type: object properties: id: type: number name: type: string alias: type: string status: $ref: '#/components/schemas/ServiceStatus' description: type: string oneOpenIncidentOnly: type: boolean showUptimeHistory: type: boolean teams: type: array items: $ref: '#/components/schemas/TeamRel' subscribed: type: boolean readOnly: true uptime: $ref: '#/components/schemas/ServiceUptime' incidents: type: array description: Note that this only contains the latest 10 unresolved incidents, use /api/incidents?service=x if more or specific results are needed readOnly: true items: $ref: '#/components/schemas/IncidentNoIncludes' AlertSourcePriorityTemplateMapping: required: - priority - value type: object properties: value: type: string priority: type: string enum: - LOW - HIGH Role: type: string enum: - STAKEHOLDER - GUEST - RESPONDER - USER - ADMIN AlertResponder: type: object properties: user: $ref: '#/components/schemas/UserRel' status: type: string enum: - PENDING - ACCEPTED acceptedAt: type: string format: date-time User: required: - email - firstName - lastName type: object properties: id: type: integer format: int64 firstName: type: string lastName: type: string email: type: string timezone: $ref: '#/components/schemas/TimeZone' position: type: string department: type: string avatarUrl: type: string readOnly: true language: type: string enum: - de - en region: type: string enum: - DE - GB - CH - CN - IN - US - FR - ES - CA - IE role: $ref: '#/components/schemas/Role' shiftColor: type: string description: Optional hex-color code for the user's shifts in schedules calendars mutedUntil: type: string description: Date in ISO-8601 format: date-time createdAt: type: string description: Date in ISO-8601 format: date-time updatedAt: type: string description: Date in ISO-8601 format: date-time SupportDay: required: - end - start type: object properties: start: type: string format: time end: type: string format: time ServiceUptime: type: object properties: rangeStart: type: string format: date-time rangeEnd: type: string format: date-time outages: type: array items: $ref: '#/components/schemas/ServiceOutage' uptimePercentage: $ref: '#/components/schemas/ServiceUptimePercentage' EventImage: type: object properties: src: type: string href: type: string alt: type: string EscalationPolicy: required: - escalationRules - name type: object properties: id: type: integer format: int64 name: type: string escalationRules: type: array items: $ref: '#/components/schemas/EscalationRule' teams: type: array items: $ref: '#/components/schemas/TeamRel' repeating: type: boolean default: false frequency: maximum: 9 minimum: 1 type: integer format: int32 default: 1 delayMin: maximum: 15 minimum: 0 type: integer format: int32 default: 0 routingKey: type: string description: optional LogEntry: type: object properties: id: type: integer format: int64 timestamp: type: string format: date-time logEntryType: type: string enum: - ConnectorAutomaticResultErrorLogEntry - ConnectorAutomaticResultLogEntry - AlertActionErrorLogEntry - AlertActionFailLogEntry - AlertActionSuccessLogEntry - AlertNotRoutedLogEntry - AlertReceivedLogEntry - AlertRoutedSuccessfulLogEntry - AlertSourceResponseLogEntry - CallLogEntry - EmailReceivedLogEntry - EmailResolvedLogEntry - FilterableLogEntryType - HeartbeatOverdueLogEntry - HeartbeatResolvedLogEntry - AlertAssignedBySystemLogEntry - AlertAssignedByUserLogEntry - AlertAssignedToPolicyLogEntry - AlertAssignedToScheduleLogEntry - AlertAutoResolvedLogEntry - AlertCommentAddedBySystemLogEntry - AlertCommentAddedLogEntry - AlertCommentPublishedLogEntry - AlertCreatedByUserLogEntry - AlertRaisedBySystemLogEntry - AlertRaisedByUserLogEntry - AlertSummaryChangedLogEntry - IncomingCallLogEntry - LowPriorityCallLog - MailboxCallLogEntry - MailboxRecordReceivedLog - MailboxTranscribedReceivedLog - NobodyOnCallLogEntry - NotificationLogEntry - ParallelCallLogEntry - PhoneNumberNotSetLogEntry - PhoneNumberBlockedLogEntry - QueueResultLogEntry - StakeholderAddedBySystemLogEntry - StakeholderAddedLogEntry - StakeholderRemovedLogEntry - StakeholderResubscribedLogEntry - StakeholderUnsubscribedLogEntry - UserResponseLogEntry - InComIncidentCreatedLogEntry - InComIncidentResolvedLogEntry - InComServiceTransitionLogEntry - InComLinkedLogEntry - InComUnlinkedLogEntry - AlertChannelAttachedByUserLogEntry - AlertChannelDetachedByUserLogEntry - AlertEscalatedToLevelLogEntry text: type: string alertId: type: integer format: int64 filterTypes: type: array items: $ref: '#/components/schemas/LogFilterType' vars: type: object additionalProperties: type: string SuggestedResponder: type: object properties: group: type: string enum: - SUGGESTED - USER - ESCALATION_POLICY - ON_CALL_SCHEDULE id: type: number name: type: string disabled: type: boolean TeamRel: type: object properties: id: type: integer format: int64 name: type: string AlertSourceSeverityTemplate: required: - mappings - valueTemplate type: object properties: valueTemplate: $ref: '#/components/schemas/AlertSourceTemplate' mappings: type: array items: $ref: '#/components/schemas/AlertSourceSeverityTemplateMapping' ServiceUptimePercentage: type: object properties: uptimePercentage: type: object properties: p90: maximum: 100 minimum: 0 type: number format: float readOnly: true p60: maximum: 100 minimum: 0 type: number format: float readOnly: true p30: maximum: 100 minimum: 0 type: number format: float readOnly: true ManualAlert: required: - alertSource - summary type: object properties: summary: type: string details: type: string alertSource: $ref: '#/components/schemas/SimpleIdField64' escalationPolicy: $ref: '#/components/schemas/SimpleIdField64' priority: $ref: '#/components/schemas/AlertPriority' assignedTo: type: object properties: id: type: number description: 'This field (type: User) is deprecated, please use ''responders'' instead' images: type: array items: $ref: '#/components/schemas/EventImage' links: type: array items: $ref: '#/components/schemas/EventLink' responders: type: array description: List of responders (users), only user.id is required. items: type: object properties: user: $ref: '#/components/schemas/UserRel' AlertSourceTemplateElementArg: type: object properties: S: type: string N: type: integer CountResponse: type: object properties: count: type: integer format: int64 AlertSourceLinkTemplate: required: - hrefTemplate - text type: object properties: text: type: string hrefTemplate: $ref: '#/components/schemas/AlertSourceTemplate' EventLink: type: object properties: href: type: string text: type: string TimeZone: type: string enum: - Europe/Berlin - America/New_York - America/Los_Angeles - Asia/Istanbul securitySchemes: apiKey: type: apiKey description: The Bearer API key of your user more info. name: Authorization in: header x-original-swagger-version: '2.0'