openapi: 3.0.1
info:
title: ilert REST 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: Numbers
- name: Integrations
- name: Events
- name: Series
- name: Deployment Events
- name: Users
- name: Contacts
- name: Notification Preferences
- name: Escalation Policies
- name: Schedules
- name: Alert Sources
- name: Heartbeat Monitors
- name: Alerts
- name: Alert Actions
- name: Support Hours
- name: Log-Entries
- name: Notifications
- name: Connectors
- name: Teams
- name: On-Calls
- name: Maintenance Windows
- name: Incident Templates
- name: Services
- name: Service Outages
- name: Incidents
- name: Metrics
- name: Metric Data Sources
- name: Status Pages
- name: Deployment Pipelines
- name: Event Flows
- name: Call Flows
- name: Call Flow Numbers
- name: Reports
paths:
/users/{user-id}:
get:
tags:
- Users
summary: Get the specified user.
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
responses:
'200':
description: the user object
content:
application/json:
schema:
$ref: '#/components/schemas/User'
put:
tags:
- Users
summary: Update an existing user.
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
requestBody:
description: the user object
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: false
responses:
'200':
description: the updated user
content:
application/json:
schema:
$ref: '#/components/schemas/User'
x-codegen-request-body-name: user
delete:
tags:
- Users
summary: Delete the specified user.
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
responses:
'204':
description: if deletion was successful
content: {}
/users/{user-id}/contacts/emails:
get:
tags:
- Contacts
summary: Get a user's emails
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
responses:
'200':
description: the response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ContactEmail'
post:
tags:
- Contacts
summary: Create a new email
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactEmailPost'
required: true
responses:
'201':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/ContactEmail'
x-codegen-request-body-name: user email contact
/users/{user-id}/contacts/emails/{id}:
get:
tags:
- Contacts
summary: Get a specific email
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/ContactEmail'
put:
tags:
- Contacts
summary: Update a user's email
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactEmailPost'
required: false
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/ContactEmail'
x-codegen-request-body-name: user email contact
delete:
tags:
- Contacts
summary: Delete the user's specified email
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/users/{user-id}/contacts/phone-numbers:
get:
tags:
- Contacts
summary: Get a user's phone numbers
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
responses:
'200':
description: the response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ContactPhoneNumber'
post:
tags:
- Contacts
summary: Create a phone number
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactPhoneNumberPost'
required: true
responses:
'201':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/ContactPhoneNumber'
x-codegen-request-body-name: user phone number contact
/users/{user-id}/contacts/phone-numbers/{id}:
get:
tags:
- Contacts
summary: Get specific phone number
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/ContactPhoneNumber'
put:
tags:
- Contacts
summary: Update a user's phone number
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactPhoneNumberPost'
required: false
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/ContactPhoneNumber'
x-codegen-request-body-name: user phone number contact
delete:
tags:
- Contacts
summary: Delete the user's specified phone number
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/users/{user-id}/notification-preferences/alerts:
get:
tags:
- Notification Preferences
summary: Get alert notification preferences of a user
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
responses:
'200':
description: the response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationPreferencesAlert'
post:
tags:
- Notification Preferences
summary: Create an alert notification preference
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesAlertPost'
required: true
responses:
'201':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesAlert'
x-codegen-request-body-name: alert notification preference
/users/{user-id}/notification-preferences/alerts/{id}:
get:
tags:
- Notification Preferences
summary: Get specific notification preferences alert
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesAlert'
put:
tags:
- Notification Preferences
summary: Update a user's alert notification preference
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesAlertPost'
required: false
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesAlert'
x-codegen-request-body-name: alert notification preference
delete:
tags:
- Notification Preferences
summary: Delete the user's specified notification preferences alert
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/users/{user-id}/notification-preferences/duties:
get:
tags:
- Notification Preferences
summary: Get duty notification preferences of a user
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
responses:
'200':
description: the response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationPreferencesDuty'
post:
tags:
- Notification Preferences
summary: Create a duty notification preference
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesDutyPost'
required: true
responses:
'201':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesDuty'
x-codegen-request-body-name: duty notification preference
/users/{user-id}/notification-preferences/duties/{id}:
get:
tags:
- Notification Preferences
summary: Get specific notification preferences duty
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesDuty'
put:
tags:
- Notification Preferences
summary: Update a user's duty notification preference
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesDutyPost'
required: false
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesDuty'
x-codegen-request-body-name: duty notification preference
delete:
tags:
- Notification Preferences
summary: Delete the user's specified notification preferences duty
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/users/{user-id}/notification-preferences/updates:
get:
tags:
- Notification Preferences
summary: Get update notification preferences of a user
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
responses:
'200':
description: the response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationPreferencesUpdate'
post:
tags:
- Notification Preferences
summary: Create an update notification preference
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesUpdatePost'
required: true
responses:
'201':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesUpdate'
x-codegen-request-body-name: update notification preference
/users/{user-id}/notification-preferences/updates/{id}:
get:
tags:
- Notification Preferences
summary: Get specific notification preferences update
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesUpdate'
put:
tags:
- Notification Preferences
summary: Update a user's update notification preference
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesUpdatePost'
required: false
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesUpdate'
x-codegen-request-body-name: update notification preference
delete:
tags:
- Notification Preferences
summary: Delete the user's specified notification preferences update
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/users/{user-id}/notification-preferences/subscriptions:
get:
tags:
- Notification Preferences
summary: Get subscription notification preferences of a user
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
responses:
'200':
description: the response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationPreferencesSubscription'
post:
tags:
- Notification Preferences
summary: Create a subscription notification preference
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesSubscriptionPost'
required: true
responses:
'201':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesSubscription'
x-codegen-request-body-name: subscription notification preference
/users/{user-id}/notification-preferences/subscriptions/{id}:
get:
tags:
- Notification Preferences
summary: Get specific notification preferences subscription
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesSubscription'
put:
tags:
- Notification Preferences
summary: Update a user's subscription notification preference
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesSubscriptionPost'
required: false
responses:
'200':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferencesSubscription'
x-codegen-request-body-name: subscription notification preference
delete:
tags:
- Notification Preferences
summary: Delete the user's specified notification preferences subscription
parameters:
- name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/numbers:
get:
tags:
- Numbers
summary: List available phone numbers that ilert uses to send voice and SMS
notifications
responses:
'200':
description: List of phone numbers
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OutboundNumber'
security: []
/integrations:
get:
tags:
- Integrations
summary: 'List available inbound and outbound integrations. Note: this resource
is paginated.'
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
responses:
'200':
description: list of integrations
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Integration'
security: []
/users:
get:
tags:
- Users
summary: List existing users.
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
responses:
'200':
description: list of users
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
post:
tags:
- Users
summary: Create a new user. Requires ADMIN privileges.
parameters:
- name: send-no-invitation
in: query
description: Provide ?send-no-invitation=true if you do not wish to send an
invitation email.
schema:
type: boolean
default: false
description: "**Sample request**\n\n```json\nRequest URL: https://api.ilert.com/api/users\n\
\n{\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"email\": \"\
john@acme.com\",\n \"position\": \"Software Engineer\",\n}\n```\n\n**Response**\n\
\n````json\n{\n \"id\": 2188373,\n \"firstName\": \"John\",\n \"lastName\"\
: \"Doe\",\n \"email\": \"john@acme.com\",\n \"position\": \"Software Engineer\"\
,\n \"timezone\": \"Europe/Berlin\",\n \"language\": \"de\",\n \"role\"\
: \"RESPONDER\",\n }\n````\n"
requestBody:
description: the user object
content:
application/json:
schema:
$ref: '#/components/schemas/UserPost'
required: false
responses:
'201':
description: Created. The URI of the created user entity is included in
the Location header and the user object is included in the body.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
x-codegen-request-body-name: user
/users/search-email:
post:
tags:
- Users
summary: Find a user by email address.
description: Search for a user by their email address within the scope of the
current account. This endpoint uses POST instead of GET to prevent email addresses
from being exposed in URLs, server access logs, and browser history.
requestBody:
description: the email to search for
content:
application/json:
schema:
type: object
required:
- email
properties:
email:
type: string
description: the email address of the user to find
required: true
responses:
'200':
description: the matching user object
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'404':
description: no user found with the given email address
/users/current:
get:
tags:
- Users
summary: Get the currently authenticated user.
responses:
'200':
description: user object
content:
application/json:
schema:
$ref: '#/components/schemas/User'
put:
tags:
- Users
summary: Update the current user.
requestBody:
description: user object
content:
application/json:
schema:
$ref: '#/components/schemas/UserPost'
required: false
responses:
'200':
description: the updated user
content:
application/json:
schema:
$ref: '#/components/schemas/User'
x-codegen-request-body-name: user
/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
- Notifications
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
- Log-Entries
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'
/alerts/{id}/actions:
get:
tags:
- Alert Actions
summary: Get available actions for specified alert.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: list of alert actions
content:
application/json:
schema:
$ref: '#/components/schemas/AlertActionTrigger'
post:
tags:
- Alert Actions
summary: Invoke a specific alert action.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the alert action, you might skip the 'history' field
content:
application/json:
schema:
$ref: '#/components/schemas/AlertActionTrigger'
required: true
responses:
'201':
description: the alert action result, validate the 'success' field
content:
application/json:
schema:
$ref: '#/components/schemas/AlertActionResult'
x-codegen-request-body-name: alert-action
/schedules:
get:
tags:
- Schedules
summary: List on-call schedules.
parameters:
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (currentShift, nextShift, scheduleLayers
[only available for RECURRING schedules], shifts [only available for STATIC
schedules], past [show shifts in the past, only for STATIC])
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- scheduleLayers
- shifts
- currentShift
- nextShift
- past
- 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 schedules.
schema:
maximum: 20
type: integer
format: int32
default: 20
responses:
'200':
description: a list of on-call schedules
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Schedule'
post:
tags:
- Schedules
summary: Create a new on-call schedule.
parameters:
- name: abort-on-gaps
in: query
description: Used for static schedules to prevent creating schedules with
gaps
schema:
type: boolean
requestBody:
description: The on-call schedule. (scheduleLayers [only available for RECURRING
schedules], shifts [only available for STATIC schedules])
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule'
required: true
responses:
'201':
description: The created on-call schedule
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule'
x-codegen-request-body-name: schedule
/schedules/{id}:
get:
tags:
- Schedules
summary: Get the on-call schedule 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. (currentShift, nextShift, scheduleLayers
[only available for RECURRING schedules], shifts [only available for STATIC
schedules], past [show shifts in the past, only for STATIC])
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- scheduleLayers
- shifts
- currentShift
- nextShift
- past
responses:
'200':
description: The schedule object. (scheduleLayers [only available for RECURRING
schedules], shifts [only available for STATIC schedules])
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule'
put:
tags:
- Schedules
summary: Update an on-call schedule.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
- name: abort-on-gaps
in: query
description: Used for static schedules to prevent updating schedules with
gaps
schema:
type: boolean
requestBody:
description: The on-call schedule. (scheduleLayers [only available for RECURRING
schedules], shifts [only available for STATIC schedules])
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule'
required: true
responses:
'200':
description: The updated on-call schedule
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule'
x-codegen-request-body-name: schedule
delete:
tags:
- Schedules
summary: Delete the on-call schedule with the specified id.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: empty response
content: {}
/schedules/{id}/shifts:
get:
tags:
- Schedules
summary: Get shifts for the specified schedule and date range.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
- name: from
in: query
description: from date, default is start of last month
schema:
type: string
format: date-time
- name: until
in: query
description: until date, default is from date plus 3 months
schema:
type: string
- name: exclude-overrides
in: query
description: if true, shifts won't include overrides
schema:
type: boolean
default: false
responses:
'200':
description: the shift objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Shift'
/schedules/{id}/overrides:
get:
tags:
- Schedules
summary: Get overrides for the specified schedule.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the shift objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Shift'
put:
tags:
- Schedules
summary: Add an override shift to a schedule.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the shift which should overwrite the schedule (must not be in
the past)
content:
application/json:
schema:
$ref: '#/components/schemas/Shift'
required: true
responses:
'200':
description: the overwritten schedule object
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleRel'
x-codegen-request-body-name: shift
/schedules/{id}/user-on-call:
get:
tags:
- Schedules
summary: Get the user (wrapped in a shift object) on-call for the specified
schedule.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the current shift
content:
application/json:
schema:
$ref: '#/components/schemas/Shift'
'204':
description: if no user is on-call
content: {}
/on-calls:
get:
tags:
- On-Calls
summary: List on-calls with flexible filters
parameters:
- name: policies
in: query
description: escalation policy ids to filter on call duties for
schema:
type: number
- name: policy-levels
in: query
description: 'can be provided instead of ''policies'', must be a serialised
and urlencoded JSON object e.g. ?policy-levels="{ "id": 12, "level": 1 }"
where id is the policy id and level is the escalation level that should
be included'
schema:
type: string
- name: schedules
in: query
description: on call schedule ids to filter on call duties for
schema:
type: number
- name: users
in: query
description: user ids to filter on call duties for
schema:
type: number
- name: expand
in: query
description: 'include full entities for: policy, escalationPolicy or user'
schema:
type: string
- name: from
in: query
description: date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the
time range, may not exceed 3 months in total span, defaults to current time
schema:
type: string
- name: until
in: query
description: date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time
range, must be after 'from', defaults to current time
schema:
type: string
- name: timezone
in: query
description: Time zone in which the results will be rendered, defaults to
UTC
schema:
type: string
- name: start-index
in: query
description: offset for the search results, defaults to 0
schema:
type: number
- name: max-results
in: query
description: limit for the search results, defaults to 50, may not exceed
250
schema:
type: number
responses:
'200':
description: returns a list of on-call objects for the searched window
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OnCall'
/alert-sources:
get:
tags:
- Alert Sources
summary: List alert sources.
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 alert
sources.
schema:
maximum: 50
type: integer
format: int32
default: 50
responses:
'200':
description: the alert source object
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AlertSourceNoIncludes'
post:
tags:
- Alert Sources
summary: Create a new alert source.
requestBody:
description: the alert source
content:
application/json:
schema:
$ref: '#/components/schemas/AlertSourceRel'
required: true
responses:
'201':
description: The URI of the alert source will be included in the location
header and the alert source will be included in the body.
content:
application/json:
schema:
$ref: '#/components/schemas/AlertSource'
x-codegen-request-body-name: alert-source
/alert-sources/{id}:
get:
tags:
- Alert Sources
summary: Get the alert source with specified id or alternatively integration
key.
parameters:
- name: id
in: path
description: numeric source id or integration key
required: true
schema:
type: string
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (detailsTemplate, summaryTemplate, routingTemplate,
linkTemplates, priorityTemplate, severityTemplate, textTemplate, eventFilter,
alertKeyTemplate, servicesTemplate, eventTypeFilterCreate, eventTypeFilterAccept,
eventTypeFilterResolve); some may not work in lists; may be used for POST
and PUT as well.
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- detailsTemplate
- summaryTemplate
- routingTemplate
- alertKeyTemplate
- servicesTemplate
- linkTemplates
- priorityTemplate
- severityTemplate
- textTemplate
- eventFilter
- eventTypeFilterCreate
- eventTypeFilterAccept
- eventTypeFilterResolve
responses:
'200':
description: the alert source object
content:
application/json:
schema:
$ref: '#/components/schemas/AlertSource'
put:
tags:
- Alert Sources
summary: Update an existing alert source.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the alert source
content:
application/json:
schema:
$ref: '#/components/schemas/AlertSourceRel'
required: true
responses:
'200':
description: the updated alert source object
content:
application/json:
schema:
$ref: '#/components/schemas/AlertSource'
x-codegen-request-body-name: alert-source
delete:
tags:
- Alert Sources
summary: Delete the specified alert source.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/heartbeat-monitors:
get:
tags:
- Heartbeat Monitors
summary: List heartbeat monitors.
description: This resource uses a 'cursor' to paginate. 'start-index' has no
effect here.
parameters:
- name: cursor
in: query
description: A cursor identifying the current position in the pagination,
leave empty to start at the first item, each call returns a 'next-cursor'
header for the next page, do not alter the cursor yourself.
schema:
type: string
default: null
- name: max-results
in: query
description: The maximum number of results when paging through a list of heartbeat
monitors.
schema:
maximum: 200
type: integer
format: int32
default: 100
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (integrationKey, integrationUrl)
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- integrationKey
- integrationUrl
responses:
'200':
description: The heartbeat monitor objects
headers:
next-cursor:
schema:
description: The cursor value for the next page, do not alter this
yourself. Provide it as is to the ?cursor=${cursor} query param.
type: string
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HeartbeatMonitorNoIncludes'
post:
tags:
- Heartbeat Monitors
summary: Create a new heartbeat monitor.
description: 'The ''integrationKey'' field cannot be set as it is generated
automatically. Note: if you are building installation scripts for your hosts,
you may send deterministic names and ?include=integrationUrl to still return
the ''response.body.integrationUrl'' field on 409 (already existing resource)
conflict responses. This allows you to run installations with a simple single
POST request.'
parameters:
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (alertSource (default), integrationKey
(default), integrationUrl)
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- integrationKey
- integrationUrl
- alertSource
requestBody:
description: the heartbeat monitor
content:
application/json:
schema:
$ref: '#/components/schemas/HeartbeatMonitorRel'
required: true
responses:
'201':
description: Your newly created heartbeat monitor
content:
application/json:
schema:
$ref: '#/components/schemas/HeartbeatMonitor'
'409':
description: A heartbeat monitor with this name already exists, this resource
will return the details of the already existing heartbeat monitor.
content:
application/json:
schema:
$ref: '#/components/schemas/HeartbeatMonitor'
/heartbeat-monitors/{id}:
get:
tags:
- Heartbeat Monitors
summary: Get the heartbeat monitor with specified id.
parameters:
- name: id
in: path
description: numeric entity id
required: true
schema:
type: string
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (integrationKey (default), integrationUrl,
alertSource (default)); alertSource does not work in lists; may be used
for POST and PUT as well.
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- integrationKey
- integrationUrl
- alertSource
responses:
'200':
description: the heartbeat monitor object
content:
application/json:
schema:
$ref: '#/components/schemas/HeartbeatMonitor'
put:
tags:
- Heartbeat Monitors
summary: Update an existing heartbeat monitor.
description: 'ATTENTION: changing ''intervalSec'' will regenerate the ''integrationKey'',
you will have to update your monitoring integrations.'
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the heartbeat monitor
content:
application/json:
schema:
$ref: '#/components/schemas/HeartbeatMonitorRel'
required: true
responses:
'200':
description: the updated heartbeat monitor object
content:
application/json:
schema:
$ref: '#/components/schemas/HeartbeatMonitor'
delete:
tags:
- Heartbeat Monitors
summary: Delete the specified heartbeat monitor.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/support-hours:
get:
tags:
- Support Hours
summary: List support hours.
description: Returns a shallow list of support hours without exception details.
Use the single resource endpoint to retrieve the complete support hour including
all exceptions.
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 support
hours.
schema:
maximum: 50
type: integer
format: int32
default: 50
responses:
'200':
description: list of support hours
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SupportHourListItem'
post:
tags:
- Support Hours
summary: Create a new support hour.
requestBody:
description: the support hour
content:
application/json:
schema:
$ref: '#/components/schemas/SupportHour'
required: true
responses:
'201':
description: the response
content:
application/json:
schema:
$ref: '#/components/schemas/SupportHour'
x-codegen-request-body-name: support-hour
/support-hours/{id}:
get:
tags:
- Support Hours
summary: Get the support hour with specified id.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the support hour object
content:
application/json:
schema:
$ref: '#/components/schemas/SupportHour'
put:
tags:
- Support Hours
summary: Update an existing support hour.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the support hour
content:
application/json:
schema:
$ref: '#/components/schemas/SupportHour'
required: true
responses:
'200':
description: the updated support hour object
content:
application/json:
schema:
$ref: '#/components/schemas/SupportHour'
x-codegen-request-body-name: support-hour
delete:
tags:
- Support Hours
summary: Delete the specified support hour.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/maintenance-windows:
get:
tags:
- Maintenance Windows
summary: List maintenance windows.
parameters:
- name: state
in: query
description: Filter maintenance windows by state. `OPEN` includes upcoming
and ongoing windows, `CLOSED` includes past windows.
schema:
type: string
enum:
- OPEN
- CLOSED
- name: services
in: query
description: filter by service IDs
schema:
type: array
items:
type: integer
format: int64
- name: sources
in: query
description: filter by alert source IDs
schema:
type: array
items:
type: integer
format: int64
- name: from
in: query
description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z
schema:
type: string
format: date-time
- name: until
in: query
description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z
schema:
type: string
format: date-time
- 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
responses:
'200':
description: the maintenance window object
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MaintenanceWindow'
post:
tags:
- Maintenance Windows
summary: Create a new maintenance window.
requestBody:
description: the maintenance window
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceWindow'
required: true
responses:
'200':
description: The URI of the maintenance window will be included in the location
header and the maintenance window will be included in the body.
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceWindow'
x-codegen-request-body-name: maintenance-window
/maintenance-windows/{id}:
get:
tags:
- Maintenance Windows
summary: Get the maintenance window with specified id.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: the maintenance window object
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceWindow'
put:
tags:
- Maintenance Windows
summary: Update an existing maintenance window.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the maintenance window
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceWindow'
required: true
responses:
'200':
description: the updated maintenance window object
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceWindow'
x-codegen-request-body-name: maintenance-window
delete:
tags:
- Maintenance Windows
summary: Delete the specified maintenance window.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/escalation-policies:
get:
tags:
- Escalation Policies
summary: List escalation policies.
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 escalation
policies.
schema:
maximum: 50
type: integer
format: int32
default: 50
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EscalationPolicy'
post:
tags:
- Escalation Policies
summary: Create a new escalation policy.
requestBody:
description: the escalation polocy
content:
application/json:
schema:
$ref: '#/components/schemas/EscalationPolicy'
required: true
responses:
'201':
description: Created. The URI of the escalation policy is included in the
Location header and the entity in the body
content:
application/json:
schema:
$ref: '#/components/schemas/EscalationPolicy'
x-codegen-request-body-name: escalation-policy
/escalation-policies/resolve:
get:
tags:
- Escalation Policies
summary: Resolve an escalation policy by routing key.
parameters:
- name: routing-key
in: query
description: routing key expression used to resolve the escalation policy,
including ordered comma-separated keys or the special il:{...} policy reference
format.
required: true
schema:
type: string
responses:
'200':
description: The resolved escalation policy
content:
application/json:
schema:
$ref: '#/components/schemas/EscalationPolicy'
'403':
description: The current user has no permission to access the resolved escalation
policy
content: {}
'404':
description: No escalation policy matched the provided routing key
content: {}
/escalation-policies/{id}:
get:
tags:
- Escalation Policies
summary: Get escalation policy with the specified id.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/EscalationPolicy'
put:
tags:
- Escalation Policies
summary: Update an existing escalation policy.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the escalation policy
content:
application/json:
schema:
$ref: '#/components/schemas/EscalationPolicy'
required: true
responses:
'200':
description: The updated escalation policy
content:
application/json:
schema:
$ref: '#/components/schemas/EscalationPolicy'
x-codegen-request-body-name: escalation-policy
delete:
tags:
- Escalation Policies
summary: Delete the specified escalation policy.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: if deletion was successful
content: {}
/escalation-policies/{id}/levels/{level}:
put:
tags:
- Escalation Policies
summary: Replace an escalation rule at the specified level.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
- name: level
in: path
description: zero-based escalation level
required: true
schema:
type: integer
format: int32
requestBody:
description: the escalation rule
content:
application/json:
schema:
$ref: '#/components/schemas/EscalationRule'
required: true
responses:
'200':
description: The updated escalation rule
content:
application/json:
schema:
$ref: '#/components/schemas/EscalationRule'
x-codegen-request-body-name: escalation-rule
/series/{key}:
post:
tags:
- Series
summary: Ingest a series for a metric
description: Post a time point or multiple time points (series) to a metric.
User authorization is not required instead provide the integration key of
your metric.
parameters:
- name: key
in: path
description: integration key of resource
required: true
schema:
type: string
requestBody:
description: the time point or series of time points
content:
application/json:
schema:
$ref: '#/components/schemas/SeriesOption'
required: true
responses:
'202':
description: The time points have been accepted
content: {}
security: []
x-codegen-request-body-name: series
/events:
post:
tags:
- Events
summary: Post an event to ilert.
description: "Use the Event API to integrate your monitoring or ticketing tools\
\ with ilert. It provides a single API endpoint that allows you to create,\
\ accept and resolve alerts in ilert. It is designed around the notion that\
\ monitoring tools send events when \n* a problem occurs (an `ALERT` event\
\ in ilert terminology)\n* a problem is acknowledged, indicating that someone\
\ is working on the resolution of the problem (an `ACCEPT`event)\n* a problem\
\ is resolved (a `RESOLVED`event)\n\nThe API accepts these events, routes\
\ them to the alert source to which the integration key belongs, and takes\
\ appropriate action.\n\nAn event object contains the following attributes:\n\
\nAttribute | Description \n------------- | ------------- \nintegrationKey\
\ | **Required**. The integration key of the alert source. \neventType |\
\ **Required**. Must be either `ALERT`, `ACCEPT`, or `RESOLVE`\nsummary |\
\ **Required**. The event summary. Will be used as the alert summary if a\
\ new alert is created.\ndetails | Optional. The event details. Will be used\
\ as the alert details if a new alert is created.\nalertKey | Optional. For\
\ `ALERT` events, the alertKey can be used to deduplicate or group events.\
\ If an open alert with the key already exists, the event will be appended\
\ to the alert's event log. Otherwise a new alert will be created. For `ACCEPT`\
\ and `RESOLVE` events, the alertKey is used to reference the open alert which\
\ is to be accepted or resolved by this event.\npriority | Optional. Must\
\ be either HIGH or LOW. Will overwrite the evaluated priority of the alert\
\ source.\nseverity | Optional. Must be an integer in range 1..5. Will overwrite\
\ the evaluated severity of the alert source.\nservices | Optional. A list\
\ of service objects, each containing an `alias`.\nlabels | Optional. A map\
\ of key/value labels attached to the alert.\nimages | Optional. A list of\
\ images containing src, href and alt.\nlinks | Optional. A list of links,\
\ containing href and text.\ncustomDetails | Optional. Additional custom details\
\ for the event.\nroutingKey | Optional. Overwrite escalation policy for ALERT\
\ events.\n\n\n### Getting started\nBefore you can start making API requests,\
\ you need to create an API alert source in the ilert web interface:\n1. Go\
\ to \"Alert sources\"\n2. Click on \"Add a new alert source\"\n3. Fill out\
\ the form chosing \"API\" as the integration type and save.\n\nAn integration\
\ key will be generated for the alert source after creation. You can obtain\
\ the key on the alert sources' details page. You can only use the key to\
\ post events to this alert source and you don't need to provide any other\
\ credentials when using the Event API.\n\n### Example: create, accept and\
\ resolve an alert\nThe following example will guide you through a basic\
\ workflow where an alert is created, accepted, and resolved.\n\n#### Create\
\ alert\nAn alert can be created by posting an `ALERT` event:\n\n**Request**\n\
```json\nhttps://api.ilert.com/api/events\n\n{\n \"integrationKey\": \"edf0235f-a720-458e-a7fd-6b001042a4f4\"\
,\n \"eventType\": \"ALERT\",\n \"alertKey\": \"srv/mail01\",\n \"summary\"\
: \"Host srv/mail01 is CRITICAL\"\n}\n```\n\nLet's say we want to post an\
\ update saying that the host is down. To do that, we will post another `ALERT`\
\ event using the same alertKey:\n\n**Request**\n```json\nhttps://api.ilert.com/api/events\n\
\n{\n \"integrationKey\": \"edf0235f-a720-458e-a7fd-6b001042a4f4\",\n \"\
eventType\": \"ALERT\",\n \"alertKey\": \"srv/mail01\",\n \"summary\": \"\
Host srv/mail01 is DOWN\"\n}\n```\n\n#### Accept an alert\nContinuing our\
\ example from above, we want to accept the alert that we created. In order\
\ to that, we post an `ACCEPT`event using the same alertKey that we used when\
\ we posted the `ALERT` event.\n\n**Request**\n```json\nhttps://api.ilert.com/api/events\n\
\n{\n \"integrationKey\": \"edf0235f-a720-458e-a7fd-6b001042a4f4\",\n \"\
eventType\": \"ACCEPT\",\n \"alertKey\": \"srv/mail01\"\n}\n```\n\nThe alert\
\ is now in ACCEPTED state stopping any further notifications.\n\n#### Resolve\
\ an alert\nTo resolve the alert, we simply post a `RESOLVE` event using the\
\ alert key from above.\n\n**Request**\n```json\nhttps://api.ilert.com/api/events\n\
\n{\n \"integrationKey\": \"edf0235f-a720-458e-a7fd-6b001042a4f4\",\n \"\
eventType\": \"RESOLVE\",\n \"alertKey\": \"srv/mail01\"\n}\n```\n\nThe alert\
\ is now resolved.\n\n\n\n### Dealing with errors and retries\nWe strongly\
\ recommend to implement a retry logic on the client side if an error occurs\
\ (ideally using an [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff)).\
\ \n\nRetry a failed request for the following errors:\n* any network errors\n\
* 5xx errors: this indicates an error in ilert\n* 429 Too Many Requests: you\
\ have reached your rate limit\n\n\nDo NOT retry a request for the following\
\ HTTP response codes:\n* 202 Accepted: the request was successful\n* 400\
\ Bad Request: (check the error message for details)\n"
requestBody:
description: The event
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
required: true
responses:
'202':
description: The event has been accepted
content: {}
security: []
x-codegen-request-body-name: event
/deployment-events:
post:
tags:
- Deployment Events
summary: Post a deployment event to ilert.
description: Use the Deployment events API to integrate your CI & CD tools or
custom deployment workflows with ilert. Create a new deployment pipeline to
generate an integration key for this endpoint.
requestBody:
description: The event
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentEvent'
required: true
responses:
'202':
description: The event has been accepted
content: {}
security: []
x-codegen-request-body-name: event
/alert-actions:
get:
tags:
- Alert Actions
summary: Get alert actions.
parameters:
- name: source
in: query
description: alert source id
schema:
type: number
- name: connector
in: query
description: connector id
schema:
type: string
- 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 alert
actions.
schema:
maximum: 100
type: integer
format: int32
default: 100
responses:
'200':
description: The filtered alert actions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AlertAction'
post:
tags:
- Alert Actions
summary: Create a new alert action.
requestBody:
description: the alert action
content:
application/json:
schema:
$ref: '#/components/schemas/AlertAction'
required: true
responses:
'200':
description: The newly created alert action
content:
application/json:
schema:
$ref: '#/components/schemas/AlertAction'
x-codegen-request-body-name: alert action
/alert-actions/{id}:
get:
tags:
- Alert Actions
summary: Get a specific alert action.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: string
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (conditions); some may not work in lists;
may be used for POST and PUT as well.
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- conditions
responses:
'200':
description: The requested alert action
content:
application/json:
schema:
$ref: '#/components/schemas/AlertAction'
put:
tags:
- Alert Actions
summary: 'Update the specific alert action. (note: type cannot be changed)'
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: string
requestBody:
description: the alert action
content:
application/json:
schema:
$ref: '#/components/schemas/AlertAction'
required: true
responses:
'200':
description: The updated alert action
content:
application/json:
schema:
$ref: '#/components/schemas/AlertAction'
x-codegen-request-body-name: alert action
delete:
tags:
- Alert Actions
summary: Remove a specific alert action.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: string
responses:
'204':
description: Empty body delete response
content: {}
/connectors:
get:
tags:
- Connectors
summary: Get connectors.
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
responses:
'200':
description: The connectors
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Connector'
post:
tags:
- Connectors
summary: Create a new connector.
requestBody:
description: the connector
content:
application/json:
schema:
$ref: '#/components/schemas/Connector'
required: true
responses:
'200':
description: The newly created connector
content:
application/json:
schema:
$ref: '#/components/schemas/Connector'
x-codegen-request-body-name: connector
/connectors/{id}:
get:
tags:
- Connectors
summary: Get a specific connector.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: string
responses:
'200':
description: The requested connector
content:
application/json:
schema:
$ref: '#/components/schemas/Connector'
put:
tags:
- Connectors
summary: 'Update the specific connector. (note: type cannot be changed)'
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: string
requestBody:
description: the connector
content:
application/json:
schema:
$ref: '#/components/schemas/Connector'
required: true
responses:
'200':
description: The updated connector
content:
application/json:
schema:
$ref: '#/components/schemas/Connector'
x-codegen-request-body-name: connector
delete:
tags:
- Connectors
summary: Remove a specific connector.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: string
responses:
'204':
description: Empty body delete response
content: {}
/teams:
get:
tags:
- Teams
summary: Get teams.
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: members
in: query
description: optional, filter teams for specific members (currently only a
single occurrence of this param is allowed)
schema:
type: number
responses:
'200':
description: The teams
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Team'
post:
tags:
- Teams
summary: Create a new team.
requestBody:
description: the team
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
required: true
responses:
'200':
description: The newly created team
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
x-codegen-request-body-name: team
/teams/{id}:
get:
tags:
- Teams
summary: Get a specific team.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The requested team
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
put:
tags:
- Teams
summary: Update the specific team
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the team
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
required: true
responses:
'200':
description: The updated team
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
x-codegen-request-body-name: team
delete:
tags:
- Teams
summary: Remove a specific team.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/teams/{id}/members:
post:
tags:
- Teams
summary: Add a new team member to specific team
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the team member
content:
application/json:
schema:
$ref: '#/components/schemas/TeamMember'
required: true
responses:
'200':
description: The added team member
content:
application/json:
schema:
$ref: '#/components/schemas/TeamMember'
x-codegen-request-body-name: team member
/teams/{id}/members/{id}:
delete:
tags:
- Teams
summary: Remove a specific member of a specific team.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/reports/alerts:
get:
tags:
- Reports
summary: List alert metrics for the requested resources
parameters:
- name: sources
in: query
description: alert source ids to filter metrics for
schema:
type: number
- name: policies
in: query
description: escalation policy ids to filter metrics for
schema:
type: number
- name: numbers
in: query
description: phone numbers of call routing numbers to filter metrics for
schema:
type: string
- name: from
in: query
description: date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the
time range, may not exceed 1 year in total span
required: true
schema:
type: string
- name: until
in: query
description: date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time
range, must be after 'from', must not be in the future
required: true
schema:
type: string
- name: timezone
in: query
description: Time zone in which the results will be rendered, defaults to
tenant's configured default timezone
schema:
type: string
- name: metric
in: query
description: 'Describes the metric that should be fetched choose one of: COUNT,
MTTA or MTTR - defaults to COUNT'
schema:
type: string
- name: group-by
in: query
description: 'Defines the grouping of metrics, choose one of: DAY, WEEK or
MONTH - defaults to WEEK'
schema:
type: string
- name: priority
in: query
description: 'Sets the priority filter that should be applied, choose one
of: LOW, HIGH or ALL - defaults to ALL'
schema:
type: string
responses:
'200':
description: "an array of alert report metrics, each metric is another array\
\ containing data in the following order: \n\n[long:alertSourceId, long:escalationPolicyId,\
\ string:callRoutingNumberPhoneNumber, string:ISO-8601, long:value]\n\n\
e.g. [ [202541, 13541, \"\", \"2021-08\", 15] ]\n\nPlease note: the ISO-8601\
\ (4th column) in this case depends on the chosen 'group-by' parameter.\
\ DAY=2021-08-01, WEEK=2021-W12, MONTH=2021-08"
content:
application/json:
schema:
type: array
items:
type: array
items:
oneOf:
- type: number
- type: string
metric sample:
example:
summary: metric sample
value:
- - 202541
- 13541
- ''
- 2021-08
- 15
/reports/alerts/summary:
get:
tags:
- Reports
summary: Summarize a list of alert metrics
parameters:
- name: sources
in: query
description: alert source ids to filter metrics for
schema:
type: number
- name: policies
in: query
description: escalation policy ids to filter metrics for
schema:
type: number
- name: numbers
in: query
description: phone numbers of call routing numbers to filter metrics for
schema:
type: string
- name: from
in: query
description: date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the
time range, may not exceed 1 year in total span
required: true
schema:
type: string
- name: until
in: query
description: date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time
range, must be after 'from', must not be in the future
required: true
schema:
type: string
- name: timezone
in: query
description: Time zone in which the results will be rendered, defaults to
tenant's configured default timezone
schema:
type: string
- name: metric
in: query
description: 'Describes the metric that should be fetched choose one of: COUNT,
MTTA or MTTR - defaults to COUNT'
schema:
type: string
- name: group-by
in: query
description: 'Defines the grouping of metrics, choose one of: DAY, WEEK or
MONTH - defaults to WEEK'
schema:
type: string
- name: priority
in: query
description: 'Sets the priority filter that should be applied, choose one
of: LOW, HIGH or ALL - defaults to ALL'
schema:
type: string
responses:
'200':
description: an array containing summarized alert report metrics for the
requested resource
content:
application/json:
schema:
type: array
items:
type: object
properties:
alertSourceId:
type: number
escalationPolicyId:
type: number
callRoutingNumberPhoneNumber:
type: string
count:
type: number
mtta:
type: number
mttr:
type: number
/reports/api-keys/usage:
get:
tags:
- Reports
summary: List API key usage metrics for the requested resources
description: This endpoint requires 'ADMIN' permissions
parameters:
- name: scopes
in: query
description: scopes of our API resources e.g. alert see https://docs.ilert.com/rest-api/developing-ilert-apps/token-lifetimes-error-codes-app-verification-etc.#ilert-oauth2-scopes
schema:
type: string
- name: from
in: query
description: date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the
time range, may not exceed 1 month (31 days) in total span (use this to
paginate)
required: true
schema:
type: string
- name: until
in: query
description: date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time
range, must be after 'from', must not be in the future (use this to paginate)
required: true
schema:
type: string
- name: timezone
in: query
description: Time zone in which the results will be rendered, defaults to
tenant's configured default timezone
schema:
type: string
responses:
'200':
description: "an array of usage metrics, each metric is another array containing\
\ data in the following order: \n\n[long:userId, string:scope, string:ISO-8601,\
\ long:value]\n\ne.g. [ [202541, \"source\", \"2023-04-21\", 15] ]\n\n\
Please note: the ISO-8601 (3th column) in this case is always DAY (2021-08-01)\
\ usually 24 hours apart, but there is a slight chance that the same userId\
\ and scope have multiple entries for the same DAY"
content:
application/json:
schema:
type: array
items:
type: array
items:
oneOf:
- type: number
- type: string
metric sample:
example:
summary: metric sample
value:
- - 202541
- alert
- 2023-04
- 15
/incident-templates:
get:
tags:
- Incident Templates
summary: Get incident templates.
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
responses:
'200':
description: The incident templates
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IncidentTemplate'
post:
tags:
- Incident Templates
summary: Create a new incident template.
requestBody:
description: the incident template
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTemplate'
required: true
responses:
'200':
description: The newly created incident template
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTemplate'
x-codegen-request-body-name: incident-template
/incident-templates/{id}:
get:
tags:
- Incident Templates
summary: Get a specific incident template.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The requested incident template
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTemplate'
put:
tags:
- Incident Templates
summary: Update the specific incident template
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the incident template
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTemplate'
required: true
responses:
'200':
description: The updated incident template
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTemplate'
x-codegen-request-body-name: incident-template
delete:
tags:
- Incident Templates
summary: Remove a specific incident template.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/services:
get:
tags:
- Services
summary: Get services.
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
services. (Note: when using ?include maximum is reduced to 25)'
schema:
maximum: 100
type: integer
format: int32
default: 10
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (subscribed, uptime, incidents)
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- subscribed
- uptime
- incidents
responses:
'200':
description: The services
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Service'
post:
tags:
- Services
summary: Create a new service.
requestBody:
description: the service
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceNoIncludes'
required: true
responses:
'200':
description: The newly created service
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceNoIncludes'
x-codegen-request-body-name: service
/services/{id}:
get:
tags:
- Services
summary: Get a specific service.
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. (subscribed, uptime, incidents)
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- subscribed
- uptime
- incidents
responses:
'200':
description: The requested service
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
put:
tags:
- Services
summary: Update the specific service
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the service
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceNoIncludes'
required: true
responses:
'200':
description: The updated service
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceNoIncludes'
x-codegen-request-body-name: service
delete:
tags:
- Services
summary: Remove a specific service.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/incidents:
get:
tags:
- Incidents
summary: Get incidents.
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
incidents. (Note: when using ?include maximum is reduced to 25)'
schema:
maximum: 100
type: integer
format: int32
default: 10
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (subscribed)
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- subscribed
- name: states
in: query
description: state of the alert
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- INVESTIGATING
- IDENTIFIED
- MONITORING
- RESOLVED
- name: services
in: query
description: service IDs of the incident's affected services
style: form
explode: true
schema:
type: array
items:
type: integer
format: int64
- 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: The incidents
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Incident'
post:
tags:
- Incidents
summary: Create a new incident.
description: 'Note: depending on affected services this will publish notifications
to subscribers. Use /publish-info to forecast notifications.'
requestBody:
description: the incident
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentNoIncludes'
required: true
responses:
'200':
description: The newly created incident
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentNoIncludes'
x-codegen-request-body-name: incident
/incidents/publish-info:
post:
tags:
- Incidents
summary: Forecast the affected subscribers and status pages
description: Forecast the affected subscribers and status pages as well as notifications
that would be send out due to created or update incident.
requestBody:
description: the incident
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentNoIncludes'
required: true
responses:
'200':
description: The forecast for the provided incident
content:
application/json:
schema:
type: object
properties:
statusPagesInfo:
$ref: '#/components/schemas/UIMenuItem'
privateStatusPages:
type: number
readOnly: true
publicStatusPages:
type: number
readOnly: true
privateSubscribers:
type: number
readOnly: true
publicSubscribers:
type: number
readOnly: true
x-codegen-request-body-name: incident
/incidents/{id}:
get:
tags:
- Incidents
summary: Get a specific incident.
description: 'Note: returns an ETag header that can be send to the PUT /incidents/{id}
resource as If-Match header to return a 412 Error in case any related resources
e.g. Services or Incident have been updated in the mean time.'
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. (subscribed, affectedTeams, history)
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- subscribed
- affectedTeams
- history
responses:
'200':
description: The requested incident
headers:
ETag:
description: Send to the PUT /incidents/{id} resource as If-Match header
to return a 412 Error in case any related resources e.g. Services
or Incident have been updated in the mean time.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentWithHistory'
put:
tags:
- Incidents
summary: Update the specific incident.
description: 'Note: the update will be automatically appended to the incident''s
update history and publish notifications to subscribers.'
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
- name: If-Match
in: header
description: Should be the ETag response header retrieved from GET /incidents/{id}
to prevent updating the incident based on outdated information. Will return
412 status code in case of conflict.
schema:
type: string
requestBody:
description: the incident
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentNoIncludes'
required: true
responses:
'200':
description: The updated incident
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentNoIncludes'
x-codegen-request-body-name: incident
/incidents/{id}/private-subscribers:
get:
tags:
- Incidents
summary: Get the subscribers (users and teams) of an incident
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The subscribers of the incident
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TeamUserOption'
post:
tags:
- Incidents
summary: Add subscribers (users and teams) to an incident
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: subscribers that should be added
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TeamUserOption'
required: true
responses:
'204':
description: the response
content: {}
x-codegen-request-body-name: subscribers
/services/{id}/private-subscribers:
get:
tags:
- Services
summary: Get the subscribers (users and teams) of a service
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The subscribers of the service
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TeamUserOption'
put:
tags:
- Services
summary: Set subscribers (users and teams) of a service
description: 'Note: this is an in place update'
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: subscribers that should be adjusted
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TeamUserOption'
required: true
responses:
'204':
description: the response
content: {}
x-codegen-request-body-name: subscribers
/status-pages:
get:
tags:
- Status Pages
summary: Get status pages.
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 status
pages.
schema:
maximum: 50
type: integer
format: int32
default: 25
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (subscribed)
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- subscribed
responses:
'200':
description: The status pages
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StatusPageList'
post:
tags:
- Status Pages
summary: Create a new status page.
requestBody:
description: the status page
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageNoIncludes'
required: true
responses:
'200':
description: The newly created status page
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageNoIncludes'
x-codegen-request-body-name: service
/status-pages/{id}:
get:
tags:
- Status Pages
summary: Get a specific status page.
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. (subscribed, uptime, groups, structure).
Note: structure is always included by default.'
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- subscribed
- uptime
- groups
- structure
responses:
'200':
description: The requested status page
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPage'
put:
tags:
- Status Pages
summary: Update the specific status page
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the status page
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageNoIncludes'
required: true
responses:
'200':
description: The updated status page
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageNoIncludes'
x-codegen-request-body-name: service
delete:
tags:
- Status Pages
summary: Remove a specific status page.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/status-pages/{id}/groups:
get:
tags:
- Status Pages
summary: Get the groups of a status page
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
- 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
responses:
'200':
description: The groups of the status page
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StatusPageGroup'
post:
tags:
- Status Pages
summary: Add a group to a status page
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: Group that should be added
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageGroup'
required: true
responses:
'201':
description: The created group
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageGroup'
x-codegen-request-body-name: Group
/status-pages/{id}/groups/{group-id}:
get:
tags:
- Status Pages
summary: Get a specific group of a status page
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
- name: group-id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The group of the status page
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageGroup'
'404':
description: The group does not exist
content: {}
put:
tags:
- Status Pages
summary: Update a group of a status page
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
- name: group-id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: Group that should be updated
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageGroup'
required: true
responses:
'200':
description: The updated group of the status page
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageGroup'
x-codegen-request-body-name: Group
delete:
tags:
- Status Pages
summary: Remove group from a status page
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
- name: group-id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: the response
content: {}
/status-pages/{id}/private-subscribers:
get:
tags:
- Status Pages
summary: Get the subscribers (users and teams) of a status page
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The subscribers of the status page
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TeamUserOption'
put:
tags:
- Status Pages
summary: Set subscribers (users and teams) of a status page
description: 'Note: this is an in place update'
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: subscribers that should be adjusted
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TeamUserOption'
required: true
responses:
'204':
description: the response
content: {}
x-codegen-request-body-name: subscribers
post:
tags:
- Status Pages
summary: Add subscriber (user and team) to a status page
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: subscriber that should be added
content:
application/json:
schema:
$ref: '#/components/schemas/TeamUserOption'
required: true
responses:
'204':
description: the response
content: {}
x-codegen-request-body-name: subscriber
/status-pages/{id}/private-subscribers/{subscriber-id}:
delete:
tags:
- Status Pages
summary: Remove subscriber (user and team) from a status page
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
- name: subscriber-id
in: path
description: entity ID
required: true
schema:
type: number
- name: subscriber-type
in: query
description: the type of subscriber USER or TEAM
required: true
schema:
type: string
enum:
- USER
- TEAM
responses:
'204':
description: the response
content: {}
x-codegen-request-body-name: subscriber
/service-outages:
get:
tags:
- Service Outages
summary: Get the outages (including applied overrides) of a specific service
parameters:
- name: service
in: query
description: the id of the service for which the outages should be fetched
schema:
type: number
- name: from
in: query
description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z
schema:
type: string
format: date-time
- name: until
in: query
description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z
schema:
type: string
format: date-time
- name: ignore-overrides
in: query
description: if the outages should not take overrides into account, default
is false
schema:
type: boolean
responses:
'200':
description: The outages of the service
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceOutage'
/service-outages/overrides:
get:
tags:
- Service Outages
summary: Get the overrides of a specific service
parameters:
- name: service
in: query
description: the id of the service for which the overrides should be fetched
schema:
type: number
- name: from
in: query
description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z
schema:
type: string
format: date-time
- name: until
in: query
description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z
schema:
type: string
format: date-time
responses:
'200':
description: The overrides of the service
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceOutageOverride'
post:
tags:
- Service Outages
summary: Override a part of a service's outage history
requestBody:
description: override that should be made
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceOutageOverride'
required: true
responses:
'201':
description: The added override
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceOutageOverride'
x-codegen-request-body-name: override
/service-outages/overrides/{id}:
get:
tags:
- Service Outages
summary: Get the specific service outage override
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The override
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceOutageOverride'
put:
tags:
- Service Outages
summary: Update an existing service outage override
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: override that should be made
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceOutageOverride'
required: true
responses:
'200':
description: The updated override
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceOutageOverride'
x-codegen-request-body-name: override
delete:
tags:
- Service Outages
summary: Remove a service outage override
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: the response
content: {}
/metric-data-sources:
get:
tags:
- Metric Data Sources
summary: Get Metric Data Sources
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 metric
data sources
schema:
maximum: 100
type: integer
format: int32
default: 10
responses:
'200':
description: The Metric Data Sources
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MetricDataSource'
post:
tags:
- Metric Data Sources
summary: Create a new Metric Data Source.
requestBody:
description: The metric data source
content:
application/json:
schema:
$ref: '#/components/schemas/MetricDataSourcePost'
required: true
responses:
'200':
description: The newly created Metric Data Source
content:
application/json:
schema:
$ref: '#/components/schemas/MetricDataSource'
x-codegen-request-body-name: metric data source
/metric-data-sources/{id}:
get:
tags:
- Metric Data Sources
summary: Get a specific Metric Data Source
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The requested Metric Data Source
content:
application/json:
schema:
$ref: '#/components/schemas/MetricDataSource'
put:
tags:
- Metric Data Sources
summary: Update the specific Metric Data Source
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: The metric data source
content:
application/json:
schema:
$ref: '#/components/schemas/MetricDataSourcePost'
required: true
responses:
'200':
description: The updated Metric Data Source
content:
application/json:
schema:
$ref: '#/components/schemas/MetricDataSource'
x-codegen-request-body-name: metric data source
delete:
tags:
- Metric Data Sources
summary: Delete a specific Metric Data Source
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/metrics:
get:
tags:
- Metrics
summary: Get metrics.
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
metrics. (Note: when using ?include maximum is reduced to 25)'
schema:
maximum: 100
type: integer
format: int32
default: 10
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (dataSource, integrationKey)
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- dataSource
- integrationKey
responses:
'200':
description: The metrics
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MetricList'
post:
tags:
- Metrics
summary: Create a new metric.
requestBody:
description: The metric
content:
application/json:
schema:
$ref: '#/components/schemas/MetricPost'
required: true
responses:
'200':
description: The newly created metric
content:
application/json:
schema:
$ref: '#/components/schemas/Metric'
x-codegen-request-body-name: metric
/metrics/{id}:
get:
tags:
- Metrics
summary: Get a specific Metric
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The requested metric
content:
application/json:
schema:
$ref: '#/components/schemas/Metric'
put:
tags:
- Metrics
summary: Update the specific Metric
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: The metric
content:
application/json:
schema:
$ref: '#/components/schemas/MetricPost'
required: true
responses:
'200':
description: The updated metric
content:
application/json:
schema:
$ref: '#/components/schemas/Metric'
x-codegen-request-body-name: metric
delete:
tags:
- Metrics
summary: Delete the specific Metric
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/deployment-pipelines:
get:
tags:
- Deployment Pipelines
summary: Get deployment pipelines
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 deployment
pipelines
schema:
maximum: 100
type: integer
format: int32
default: 50
responses:
'200':
description: The deployment pipelines
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DeploymentPipeline'
post:
tags:
- Deployment Pipelines
summary: Create a new deployment pipeline.
requestBody:
description: The deployment pipeline
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentPipeline'
required: true
responses:
'200':
description: The newly created depoyment pipeline
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentPipeline'
/deployment-pipelines/{id}:
get:
tags:
- Deployment Pipelines
summary: Get a specific deployment pipeline
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The requested deployment pipeline
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentPipeline'
put:
tags:
- Deployment Pipelines
summary: Update the specific deployment pipeline
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: The deployment pipeline
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentPipeline'
required: true
responses:
'200':
description: The updated deployment pipeline
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentPipeline'
delete:
tags:
- Deployment Pipelines
summary: Delete a specific deployment pipeline
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/event-flows:
get:
tags:
- Event Flows
summary: List existing event flows.
description: Returns a shallow list of event flows without the full node tree.
Use the single resource endpoint to retrieve the complete event flow including
all nodes and branches.
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
responses:
'200':
description: The event flows
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EventFlowListItem'
post:
tags:
- Event Flows
summary: Create a new event flow.
requestBody:
description: the event flow
content:
application/json:
schema:
$ref: '#/components/schemas/EventFlow'
required: true
responses:
'201':
description: The newly created event flow
content:
application/json:
schema:
$ref: '#/components/schemas/EventFlow'
x-codegen-request-body-name: eventFlow
/event-flows/{id}:
get:
tags:
- Event Flows
summary: Get a specific event flow.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The requested event flow
content:
application/json:
schema:
$ref: '#/components/schemas/EventFlow'
put:
tags:
- Event Flows
summary: Update a specific event flow.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the event flow
content:
application/json:
schema:
$ref: '#/components/schemas/EventFlow'
required: true
responses:
'200':
description: The updated event flow
content:
application/json:
schema:
$ref: '#/components/schemas/EventFlow'
x-codegen-request-body-name: eventFlow
delete:
tags:
- Event Flows
summary: Delete a specific event flow.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/call-flows:
get:
tags:
- Call Flows
summary: List existing call flows.
description: Returns a shallow list of call flows without the full node tree.
Use the single resource endpoint to retrieve the complete call flow including
all nodes and branches.
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
responses:
'200':
description: The call flows
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CallFlowListItem'
post:
tags:
- Call Flows
summary: Create a new call flow.
requestBody:
description: the call flow
content:
application/json:
schema:
$ref: '#/components/schemas/CallFlow'
required: true
responses:
'201':
description: The newly created call flow
content:
application/json:
schema:
$ref: '#/components/schemas/CallFlow'
x-codegen-request-body-name: callFlow
/call-flows/{id}:
get:
tags:
- Call Flows
summary: Get a specific call flow.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The requested call flow
content:
application/json:
schema:
$ref: '#/components/schemas/CallFlow'
put:
tags:
- Call Flows
summary: Update a specific call flow.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
requestBody:
description: the call flow
content:
application/json:
schema:
$ref: '#/components/schemas/CallFlow'
required: true
responses:
'200':
description: The updated call flow
content:
application/json:
schema:
$ref: '#/components/schemas/CallFlow'
x-codegen-request-body-name: callFlow
delete:
tags:
- Call Flows
summary: Delete a specific call flow.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'204':
description: Empty body delete response
content: {}
/call-flow-numbers:
get:
tags:
- Call Flow Numbers
summary: List call flow numbers.
parameters:
- name: state
in: query
description: Filter call flow numbers by availability state.
schema:
type: string
default: ANY
enum:
- ANY
- AVAILABLE
- USED
- name: include
in: query
description: Describes optional properties that should be included in the
response. You may declare multiple. (assignedTo)
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- assignedTo
- 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: query
in: query
description: Filter call flow numbers by name.
schema:
type: string
responses:
'200':
description: The call flow numbers
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CallFlowNumberDetails'
/call-flow-numbers/{id}:
get:
tags:
- Call Flow Numbers
summary: Get a specific call flow number.
parameters:
- name: id
in: path
description: entity ID
required: true
schema:
type: number
responses:
'200':
description: The requested call flow number
content:
application/json:
schema:
$ref: '#/components/schemas/CallFlowNumberDetails'
components:
schemas:
ContactStatus:
type: string
enum:
- OK
- LOCKED
- BLACKLISTED
ContactPhoneNumber:
type: object
properties:
id:
type: integer
format: int64
regionCode:
type: string
target:
type: string
primary:
type: boolean
description: May only be enabled for a single phone number contact at a
time
status:
$ref: '#/components/schemas/ContactStatus'
ContactPhoneNumberPost:
type: object
properties:
regionCode:
type: string
target:
type: string
primary:
type: boolean
description: May only be enabled for a single phone number contact at a
time
TimeZone:
type: string
enum:
- Europe/Berlin
- America/New_York
- America/Los_Angeles
- Asia/Istanbul
OutboundNumber:
type: object
properties:
countryCode:
type: string
phoneNumber:
type: string
supportsInboundSms:
type: boolean
types:
type: array
items:
type: string
enum:
- SMS
- VOICE
Integration:
type: object
properties:
id:
type: string
name:
type: string
type:
type: string
enum:
- INBOUND
- NATIVE
- OUTBOUND
iconUrl:
type: string
documentationUrl:
type: string
integrationPath:
type: string
Role:
type: string
enum:
- STAKEHOLDER
- GUEST
- RESPONDER
- USER
- ADMIN
TeamRole:
type: string
enum:
- STAKEHOLDER
- RESPONDER
- USER
- ADMIN
UserRel:
required:
- id
type: object
properties:
id:
type: integer
format: int64
firstName:
type: string
lastName:
type: string
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
UserPost:
required:
- email
- firstName
- lastName
type: object
properties:
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
ContactEmail:
type: object
properties:
id:
type: integer
format: int64
target:
type: string
status:
$ref: '#/components/schemas/ContactStatus'
ContactEmailPost:
type: object
properties:
target:
type: string
NotificationPreferenceAlertMethod:
type: string
enum:
- EMAIL
- SMS
- PUSH
- VOICE
- WHATSAPP
- TELEGRAM
NotificationPreferenceAlertType:
type: string
enum:
- LOW_PRIORITY
- HIGH_PRIORITY
NotificationPreferencesAlertDelayMin:
type: integer
NotificationPreferencesAlert:
type: object
properties:
id:
type: integer
format: int64
method:
$ref: '#/components/schemas/NotificationPreferenceAlertMethod'
contact:
type: object
oneOf:
- $ref: '#/components/schemas/ContactPhoneNumber'
- $ref: '#/components/schemas/ContactEmail'
delayMin:
$ref: '#/components/schemas/NotificationPreferencesAlertDelayMin'
type:
$ref: '#/components/schemas/NotificationPreferenceAlertType'
NotificationPreferencesAlertPost:
type: object
properties:
method:
$ref: '#/components/schemas/NotificationPreferenceAlertMethod'
contact:
type: object
oneOf:
- $ref: '#/components/schemas/ContactPhoneNumber'
- $ref: '#/components/schemas/ContactEmail'
delayMin:
$ref: '#/components/schemas/NotificationPreferencesAlertDelayMin'
type:
$ref: '#/components/schemas/NotificationPreferenceAlertType'
NotificationPreferencesDutyTypes:
type: string
enum:
- ON_CALL
NotificationPreferencesDutyBeforeMin:
type: integer
enum:
- 0
- 15
- 30
- 60
- 180
- 360
- 720
- 1440
NotificationPreferenceDutyMethod:
type: string
enum:
- EMAIL
- SMS
- PUSH
- WHATSAPP
- TELEGRAM
NotificationPreferencesDuty:
type: object
properties:
id:
type: integer
format: int64
beforeMin:
$ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin'
contact:
type: object
oneOf:
- $ref: '#/components/schemas/ContactPhoneNumber'
- $ref: '#/components/schemas/ContactEmail'
method:
$ref: '#/components/schemas/NotificationPreferenceDutyMethod'
type:
$ref: '#/components/schemas/NotificationPreferencesDutyTypes'
NotificationPreferencesDutyPost:
type: object
properties:
beforeMin:
$ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin'
contact:
type: object
oneOf:
- $ref: '#/components/schemas/ContactPhoneNumber'
- $ref: '#/components/schemas/ContactEmail'
method:
$ref: '#/components/schemas/NotificationPreferenceDutyMethod'
type:
$ref: '#/components/schemas/NotificationPreferencesDutyTypes'
NotificationPreferenceUpdateMethod:
type: string
enum:
- EMAIL
- SMS
- PUSH
- WHATSAPP
- TELEGRAM
NotificationPreferencesUpdateType:
type: string
enum:
- ALERT_ACCEPTED
- ALERT_RESOLVED
- ALERT_ESCALATED
NotificationPreferencesUpdate:
type: object
properties:
id:
type: integer
format: int64
contact:
type: object
oneOf:
- $ref: '#/components/schemas/ContactPhoneNumber'
- $ref: '#/components/schemas/ContactEmail'
method:
$ref: '#/components/schemas/NotificationPreferenceUpdateMethod'
type:
$ref: '#/components/schemas/NotificationPreferencesUpdateType'
NotificationPreferencesUpdatePost:
type: object
properties:
contact:
type: object
oneOf:
- $ref: '#/components/schemas/ContactPhoneNumber'
- $ref: '#/components/schemas/ContactEmail'
method:
$ref: '#/components/schemas/NotificationPreferenceUpdateMethod'
type:
$ref: '#/components/schemas/NotificationPreferencesUpdateType'
NotificationPreferenceSubscriptionMethod:
type: string
enum:
- EMAIL
- SMS
- PUSH
NotificationPreferencesSubscription:
type: object
properties:
id:
type: integer
format: int64
contact:
type: object
oneOf:
- $ref: '#/components/schemas/ContactPhoneNumber'
- $ref: '#/components/schemas/ContactEmail'
method:
$ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod'
NotificationPreferencesSubscriptionPost:
type: object
properties:
contact:
type: object
oneOf:
- $ref: '#/components/schemas/ContactPhoneNumber'
- $ref: '#/components/schemas/ContactEmail'
method:
$ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod'
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'
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
AlertPriority:
type: string
enum:
- HIGH
- LOW
AlertPriorityRule:
type: string
enum:
- HIGH
- LOW
- HIGH_DURING_SUPPORT_HOURS
- LOW_DURING_SUPPORT_HOURS
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'
SupportHourListItem:
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'
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
SupportDay:
required:
- end
- start
type: object
properties:
start:
type: string
format: time
end:
type: string
format: time
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
AlertActionType:
type: string
enum:
- autotask
- jira
- microsoft_teams_bot
- microsoft_teams_webhook
- servicenow
- slack
- slack_webhook
- webhook
- zendesk
- discord
- github
- topdesk
- email
- zapier
- zammad
- mattermost
- zoom_chat
- dingtalk
- aws_event_bridge
- dynamic
- zabbix
- automation_rule
- telegram
- google_chat_bot
- google_chat_webhook
ConnectorType:
type: string
enum:
- jira
- microsoft_teams_bot
- servicenow
- slack
- zendesk
- discord
- github
- topdesk
- zammad
- mattermost
- zoom_chat
- dingtalk
- dynamic
- zabbix
- autotask
- google_chat_bot
ScheduleRel:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
type:
type: string
enum:
- STATIC
- RECURRING
Schedule:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
timezone:
$ref: '#/components/schemas/TimeZone'
type:
type: string
enum:
- STATIC
- RECURRING
scheduleLayers:
type: array
items:
$ref: '#/components/schemas/ScheduleLayerConfig'
shifts:
type: array
items:
$ref: '#/components/schemas/ShiftRel'
showGaps:
type: boolean
defaultShiftDuration:
type: string
format: P7D
currentShift:
$ref: '#/components/schemas/ShiftRel'
nextShift:
$ref: '#/components/schemas/ShiftRel'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
ShiftRel:
type: object
properties:
user:
$ref: '#/components/schemas/UserRel'
end:
type: string
format: date-time
start:
type: string
format: date-time
Shift:
type: object
properties:
user:
$ref: '#/components/schemas/User'
end:
type: string
format: date-time
start:
type: string
format: date-time
ScheduleLayerConfig:
required:
- rotation
- startsOn
- users
type: object
properties:
name:
type: string
startsOn:
type: string
format: date-time
endsOn:
type: string
format: date-time
users:
type: array
items:
$ref: '#/components/schemas/UserRel'
rotation:
type: string
format: P7D
restrictionType:
type: string
description: 'Note: ''TIMES_OF_DAY'' is just a UI state representation,
the API always uses ''TIMES_OF_WEEK'''
enum:
- TIMES_OF_WEEK
restrictions:
type: array
items:
$ref: '#/components/schemas/ScheduleLayerRestriction'
ScheduleLayerRestriction:
required:
- from
- to
type: object
properties:
from:
$ref: '#/components/schemas/TimeOfWeek'
to:
$ref: '#/components/schemas/TimeOfWeek'
TimeOfWeek:
required:
- dayOfWeek
- time
type: object
properties:
dayOfWeek:
type: string
enum:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
time:
type: string
format: '15:00'
Connector:
required:
- name
- type
type: object
properties:
id:
type: string
type:
$ref: '#/components/schemas/ConnectorType'
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
params:
type: object
oneOf:
- $ref: '#/components/schemas/EParamsDatadog'
- $ref: '#/components/schemas/EParamsJira'
- $ref: '#/components/schemas/EParamsMicrosoftTeams'
- $ref: '#/components/schemas/EParamsServiceNow'
- $ref: '#/components/schemas/EParamsSlack'
- $ref: '#/components/schemas/EParamsZendesk'
- $ref: '#/components/schemas/EParamsDiscord'
- $ref: '#/components/schemas/EParamsGithub'
- $ref: '#/components/schemas/EParamsTopdesk'
- $ref: '#/components/schemas/EParamsAWSLambda'
- $ref: '#/components/schemas/EParamsAzureFunction'
- $ref: '#/components/schemas/EParamsGoogleFunction'
- $ref: '#/components/schemas/EParamsSysdig'
- $ref: '#/components/schemas/EParamsStatusPageIO'
- $ref: '#/components/schemas/EParamsDingTalk'
- $ref: '#/components/schemas/EParamsZabbix'
EParamsZabbix:
type: object
properties:
url:
type: string
apiKey:
type: string
EParamsDingTalk:
type: object
properties:
url:
type: string
secret:
type: string
EParamsDatadog:
type: object
properties:
apiKey:
type: string
EParamsJira:
type: object
properties:
url:
type: string
email:
type: string
password:
type: string
EParamsMicrosoftTeams:
type: object
properties:
url:
type: string
EParamsServiceNow:
type: object
properties:
url:
type: string
username:
type: string
password:
type: string
EParamsSlack:
type: object
EParamsZendesk:
type: object
properties:
url:
type: string
email:
type: string
apiKey:
type: string
EParamsDiscord:
type: object
properties:
url:
type: string
EParamsGithub:
type: object
properties:
apiKey:
type: string
EParamsTopdesk:
type: object
properties:
url:
type: string
username:
type: string
password:
type: string
EParamsAWSLambda:
type: object
properties:
authorization:
type: string
EParamsAzureFunction:
type: object
properties:
authorization:
type: string
EParamsGoogleFunction:
type: object
properties:
authorization:
type: string
EParamsSysdig:
type: object
properties:
apiKey:
type: string
EParamsStatusPageIO:
type: object
properties:
apiKey:
type: string
AlertAction:
required:
- connectorType
- name
type: object
properties:
id:
type: string
alertSources:
type: array
items:
$ref: '#/components/schemas/AlertSource'
connectorId:
type: string
connectorType:
$ref: '#/components/schemas/AlertActionType'
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
triggerMode:
type: string
enum:
- AUTOMATIC
- MANUAL
bidirectional:
type: boolean
readOnly: true
escalationEndedDelaySec:
maximum: 7200
minimum: 0
type: number
description: May only be used with triggerType 'alert-escalation-ended'
selected
notResolvedDelaySec:
maximum: 7200
minimum: 0
type: number
description: May only be used with triggerType 'v-alert-not-resolved' selected
triggerTypes:
type: array
items:
type: string
enum:
- alert-created
- alert-assigned
- alert-auto-escalated
- alert-acknowledged
- alert-raised
- alert-comment-added
- alert-escalation-ended
- alert-resolved
- alert-responder-added
- alert-responder-removed
- alert-channel-attached
- alert-channel-detached
- v-alert-not-resolved
alertFilter:
type: object
description: This field is deprecated, use 'conditions' instead. If both
are used this field is ignored.
properties:
operator:
type: string
enum:
- AND
- OR
predicates:
type: array
items:
type: object
properties:
field:
type: string
enum:
- ALERT_SUMMARY
- ALERT_DETAILS
- ESCALATION_POLICY
- ALERT_PRIORITY
criteria:
type: string
enum:
- CONTAINS_ANY_WORDS
- CONTAINS_NOT_WORDS
- CONTAINS_STRING
- CONTAINS_NOT_STRING
- IS_STRING
- IS_NOT_STRING
- MATCHES_REGEX
- MATCHES_NOT_REGEX
value:
type: string
conditions:
type: string
description: 'Defines an optional alert 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. Note: this field
is an ?include, it will not appear in lists.'
params:
type: object
oneOf:
- $ref: '#/components/schemas/CParamsDatadog'
- $ref: '#/components/schemas/CParamsJira'
- $ref: '#/components/schemas/CParamsMicrosoftTeams'
- $ref: '#/components/schemas/CParamsMicrosoftTeamsWebhookOnly'
- $ref: '#/components/schemas/CParamsServiceNow'
- $ref: '#/components/schemas/CParamsAutotask'
- $ref: '#/components/schemas/CParamsSlack'
- $ref: '#/components/schemas/CParamsWebhook'
- $ref: '#/components/schemas/CParamsZendesk'
- $ref: '#/components/schemas/CParamsDiscord'
- $ref: '#/components/schemas/CParamsGithub'
- $ref: '#/components/schemas/CParamsTopdesk'
- $ref: '#/components/schemas/CParamsAWSLambda'
- $ref: '#/components/schemas/CParamsAzureFunction'
- $ref: '#/components/schemas/CParamsGoogleFunction'
- $ref: '#/components/schemas/CParamsEmail'
- $ref: '#/components/schemas/CParamsSysdig'
- $ref: '#/components/schemas/CParamsZapier'
- $ref: '#/components/schemas/CParamsZoomChat'
- $ref: '#/components/schemas/CParamsZoomMeeting'
- $ref: '#/components/schemas/CParamsStatusPageIO'
- $ref: '#/components/schemas/CParamsDingTalk'
- $ref: '#/components/schemas/CParamsDingTalkAction'
- $ref: '#/components/schemas/CParamsAutomationRule'
- $ref: '#/components/schemas/CParamsAutomationRule'
- $ref: '#/components/schemas/CParamsTelegram'
- $ref: '#/components/schemas/CParamsGoogleChat'
- $ref: '#/components/schemas/CParamsGoogleChatWebhookOnly'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
CParamsAutomationRule:
required:
- alertType
- serviceIds
- serviceStatus
type: object
properties:
alertType:
type: string
enum:
- CREATED
- ACCEPTED
resolveIncident:
type: boolean
default: false
serviceStatus:
$ref: '#/components/schemas/ServiceStatus'
templateId:
type: integer
format: int64
sendNotification:
type: boolean
default: false
serviceIds:
type: array
items:
type: integer
format: int64
CParamsTelegram:
required:
- channelId
type: object
properties:
channelId:
type: string
description: The telegram group id, usually i64, as string
CParamsDingTalk:
type: object
properties:
isAtAll:
type: boolean
atMobiles:
type: array
items:
type: string
CParamsDingTalkAction:
type: object
properties:
url:
type: string
secret:
type: string
isAtAll:
type: boolean
atMobiles:
type: array
items:
type: string
CParamsDatadog:
type: object
properties:
tags:
type: array
items:
type: string
priority:
type: string
site:
type: string
CParamsJira:
type: object
properties:
project:
type: string
issueType:
type: string
bodyTemplate:
type: string
CParamsServiceNow:
type: object
properties:
callerId:
type: string
impact:
type: string
urgency:
type: string
closeCode:
type: string
assignmentGroup:
type: string
ownerGroup:
type: string
service:
type: string
serviceOffering:
type: string
contactType:
type: string
CParamsAutotask:
required:
- queueId
type: object
properties:
companyId:
type: string
queueId:
type: string
ticketCategory:
type: string
ticketType:
type: string
noteType:
type: string
notePublish:
type: string
status:
type: string
CParamsMicrosoftTeamsWebhookOnly:
type: object
CParamsMicrosoftTeams:
required:
- channelId
- teamId
type: object
properties:
channelId:
type: string
channelName:
type: string
teamId:
type: string
teamName:
type: string
type:
type: string
enum:
- chat
- meeting
CParamsSlack:
required:
- channelId
type: object
properties:
channelId:
type: string
channelName:
type: string
teamDomain:
type: string
teamId:
type: string
CParamsWebhook:
required:
- webhookUrl
type: object
properties:
webhookUrl:
type: string
bodyTemplate:
type: string
headers:
type: array
items:
type: object
required:
- key
- value
properties:
key:
type: string
value:
type: string
CParamsZendesk:
type: object
properties:
priority:
type: string
CParamsDiscord:
type: object
CParamsGithub:
type: object
properties:
owner:
type: string
repository:
type: string
labels:
type: array
items:
type: string
CParamsTopdesk:
type: object
properties:
status:
type: string
CParamsAWSLambda:
type: object
properties:
webhookUrl:
type: string
bodyTemplate:
type: string
CParamsAzureFunction:
type: object
properties:
webhookUrl:
type: string
bodyTemplate:
type: string
CParamsGoogleFunction:
type: object
properties:
webhookUrl:
type: string
bodyTemplate:
type: string
CParamsEmail:
type: object
properties:
recipients:
type: array
items:
type: string
subject:
type: string
bodyTemplate:
type: string
CParamsSysdig:
type: object
properties:
tags:
type: array
items:
type: string
eventFilter:
type: string
CParamsZapier:
type: object
properties:
webhookUrl:
type: string
CParamsZoomChat:
type: object
properties:
channelId:
type: string
CParamsZoomMeeting:
type: object
properties:
password:
type: string
CParamsStatusPageIO:
type: object
properties:
pageId:
type: string
CParamsGoogleChat:
required:
- channelId
type: object
properties:
channelId:
type: string
channelName:
type: string
CParamsGoogleChatWebhookOnly:
type: object
MaintenanceWindow:
type: object
properties:
timezone:
$ref: '#/components/schemas/TimeZone'
start:
type: string
format: date-time
end:
type: string
format: date-time
summary:
type: string
description:
type: string
alertSources:
maxItems: 50
type: array
items:
$ref: '#/components/schemas/AlertSource'
services:
maxItems: 50
type: array
items:
$ref: '#/components/schemas/ServiceNoIncludes'
createdBy:
type: string
readOnly: true
notifications:
type: object
properties:
atCreation:
type: boolean
atStart:
type: boolean
atEnd:
type: boolean
TeamRel:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
Team:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
visibility:
$ref: '#/components/schemas/TeamVisibilityType'
members:
type: array
items:
$ref: '#/components/schemas/TeamMember'
createdAt:
type: string
description: Date in ISO-8601
format: date-time
updatedAt:
type: string
description: Date in ISO-8601
format: date-time
TeamVisibilityType:
type: string
enum:
- PUBLIC
- PRIVATE
TeamMember:
type: object
properties:
user:
$ref: '#/components/schemas/User'
role:
$ref: '#/components/schemas/TeamRole'
OnCall:
type: object
properties:
user:
$ref: '#/components/schemas/User'
escalationPolicy:
$ref: '#/components/schemas/EscalationPolicy'
schedule:
$ref: '#/components/schemas/ScheduleRel'
start:
type: string
format: date-time
end:
type: string
format: date-time
escalationLevel:
type: number
HeartbeatMonitor:
type: object
required:
- name
- intervalSec
properties:
id:
type: integer
format: int64
name:
type: string
state:
type: string
default: UNKNOWN
enum:
- UNKNOWN
- HEALTHY
- OVERDUE
intervalSec:
type: integer
format: int32
minimum: 25
maximum: 2678400
alertSummary:
type: string
createdAt:
type: string
format: ISO-8601
updatedAt:
type: string
format: ISO-8601
alertSource:
$ref: '#/components/schemas/AlertSourceRel'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
integrationKey:
type: string
integrationUrl:
type: string
HeartbeatMonitorRel:
type: object
required:
- name
- intervalSec
properties:
name:
type: string
intervalSec:
type: integer
format: int32
minimum: 25
maximum: 2678400
description: We recommend using an interval between 3 and 5 minutes, while
pinging every 60 seconds. Of course if you are tracking use-cases like
backup jobs that run once a week, a larger timeout and less pings suffice.
alertSummary:
type: string
alertSource:
$ref: '#/components/schemas/SimpleIdField64'
HeartbeatMonitorNoIncludes:
type: object
required:
- name
- intervalSec
properties:
id:
type: integer
format: int64
name:
type: string
state:
type: string
default: UNKNOWN
enum:
- UNKNOWN
- HEALTHY
- OVERDUE
intervalSec:
type: integer
format: int32
minimum: 25
maximum: 2678400
alertSummary:
type: string
createdAt:
type: string
format: ISO-8601
updatedAt:
type: string
format: ISO-8601
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
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
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'
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'
AlertSourceTemplateElementArg:
type: object
properties:
S:
type: string
N:
type: integer
AlertSourceLinkTemplate:
required:
- hrefTemplate
- text
type: object
properties:
text:
type: string
hrefTemplate:
$ref: '#/components/schemas/AlertSourceTemplate'
AlertSourcePriorityTemplate:
required:
- mappings
- valueTemplate
type: object
properties:
valueTemplate:
$ref: '#/components/schemas/AlertSourceTemplate'
mappings:
type: array
items:
$ref: '#/components/schemas/AlertSourcePriorityTemplateMapping'
AlertSourcePriorityTemplateMapping:
required:
- priority
- value
type: object
properties:
value:
type: string
priority:
type: string
enum:
- LOW
- HIGH
AlertSourceSeverityTemplate:
required:
- mappings
- valueTemplate
type: object
properties:
valueTemplate:
$ref: '#/components/schemas/AlertSourceTemplate'
mappings:
type: array
items:
$ref: '#/components/schemas/AlertSourceSeverityTemplateMapping'
AlertSourceSeverityTemplateMapping:
required:
- severity
- value
type: object
properties:
value:
type: string
severity:
type: integer
format: int32
AlertSourceNoIncludes:
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
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'
createdAt:
type: string
readOnly: true
updatedAt:
type: string
readOnly: true
AlertSourceRel:
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/SimpleIdField64'
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
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
SimpleIdFieldStr:
required:
- id
type: object
properties:
id:
type: string
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'
AlertResponder:
type: object
properties:
user:
$ref: '#/components/schemas/UserRel'
status:
type: string
enum:
- PENDING
- ACCEPTED
acceptedAt:
type: string
format: date-time
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.
EventImage:
type: object
properties:
src:
type: string
href:
type: string
alt:
type: string
EventLink:
type: object
properties:
href:
type: string
text:
type: string
EventComment:
type: object
properties:
creator:
type: string
content:
type: string
EventServiceRef:
type: object
properties:
id:
type: integer
format: int64
description: Optional service id for rare edge cases. Prefer alias.
alias:
type: string
description: Service alias (preferred).
SuggestedResponder:
type: object
properties:
group:
type: string
enum:
- SUGGESTED
- USER
- ESCALATION_POLICY
- ON_CALL_SCHEDULE
id:
type: number
name:
type: string
disabled:
type: boolean
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.
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
LogFilterType:
type: string
enum:
- NOTIFICATIONS
- ALERT_SOURCE_EVENTS
- CALL_ROUTING_EVENTS
- ALERT_UPDATES
- CONNECTOR_EVENTS
SingleTimePoint:
required:
- value
type: object
properties:
timestamp:
type: number
description: The unix epoch second of your time point
format: int64
value:
type: number
description: Value of your time point
format: double
MultipleTimePoint:
type: object
properties:
series:
type: array
items:
$ref: '#/components/schemas/SingleTimePoint'
SeriesOption:
type: object
description: Can either be a single time point, omitting timestamp field is
allowed as it will be replaced with now() - or a series of multiple time points
oneOf:
- $ref: '#/components/schemas/SingleTimePoint'
- $ref: '#/components/schemas/MultipleTimePoint'
MetricAggregationType:
type: string
enum:
- AVG
- SUM
- MIN
- MAX
- LAST
MetricDisplayType:
type: string
enum:
- GRAPH
- SINGLE
MetricDataSourceType:
type: string
enum:
- DATADOG
- PROMETHEUS
Event:
required:
- integrationKey
- eventType
- summary
type: object
properties:
integrationKey:
type: string
eventType:
type: string
description: the event type
enum:
- ALERT
- ACCEPT
- RESOLVE
- COMMENT
summary:
type: string
description: The event summary. Will be used as the alert summary if a new
alert will be created.
details:
type: string
description: The event details. Will be used as the alert details if a new
alert will be created.
alertKey:
type: string
description: Used to deduplicate events. If an open alert with the key already
exists, the event will be appended to the alert's event log. Otherwise
a new alert will be created. We will trim this value if necessary. Upper
casing is allowed, however comparison is case insensitive.
priority:
$ref: '#/components/schemas/AlertPriority'
severity:
maximum: 5
minimum: 1
type: integer
format: int32
description: Optional severity in range 1..5. Will overwrite the evaluated
severity of the alert source.
images:
type: array
items:
$ref: '#/components/schemas/EventImage'
links:
type: array
items:
$ref: '#/components/schemas/EventLink'
comments:
type: array
items:
$ref: '#/components/schemas/EventComment'
labels:
type: object
additionalProperties:
type: string
description: Optional key/value labels that are attached to the alert.
services:
type: array
items:
$ref: '#/components/schemas/EventServiceRef'
description: Optional list of service refs. Usually pass alias; id is optional
for rare edge cases.
customDetails:
type: object
additionalProperties: true
routingKey:
type: string
description: Optional routing key that overwrites the escalation policy
of the alert source for ALERT events. Must map to routingKey of escalation
policy
EventResponse:
type: object
CountResponse:
type: object
properties:
count:
type: integer
format: int64
RestError:
type: object
properties:
status:
type: integer
message:
type: string
AlertActionTrigger:
type: object
properties:
alertActionId:
type: string
connectorId:
type: string
type:
type: string
name:
type: string
iconUrl:
type: string
history:
type: array
items:
$ref: '#/components/schemas/AlertActionResult'
AlertActionResult:
type: object
properties:
id:
type: string
alertActionId:
type: string
connectorId:
type: string
alertId:
type: number
success:
type: boolean
actor:
$ref: '#/components/schemas/User'
IncidentStatus:
type: string
description: the incident status
enum:
- INVESTIGATING
- IDENTIFIED
- MONITORING
- RESOLVED
IncidentTemplate:
type: object
properties:
id:
type: number
name:
type: string
summary:
type: string
status:
$ref: '#/components/schemas/IncidentStatus'
message:
type: string
sendNotification:
type: boolean
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
ServiceStatus:
type: string
description: the service status
enum:
- OPERATIONAL
- UNDER_MAINTENANCE
- DEGRADED
- PARTIAL_OUTAGE
- MAJOR_OUTAGE
ServiceOutage:
type: object
properties:
status:
$ref: '#/components/schemas/ServiceStatus'
from:
type: string
format: date-time
until:
type: string
format: date-time
ServiceOutageOverride:
type: object
properties:
id:
type: string
service:
$ref: '#/components/schemas/ServiceNoIncludes'
status:
$ref: '#/components/schemas/ServiceStatus'
from:
type: string
format: date-time
until:
type: string
format: date-time
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
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'
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'
ServiceUptimeOnly:
type: object
properties:
id:
type: number
name:
type: string
status:
$ref: '#/components/schemas/ServiceStatus'
description:
type: string
oneOpenIncidentOnly:
type: boolean
showUptimeHistory:
type: boolean
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
uptime:
$ref: '#/components/schemas/ServiceUptime'
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'
Incident:
type: object
properties:
id:
type: number
summary:
type: string
status:
$ref: '#/components/schemas/IncidentStatus'
message:
type: string
sendNotification:
type: boolean
createdAt:
type: string
format: date-time
updatedAt:
type: string
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
subscribed:
type: boolean
readOnly: true
affectedTeams:
type: array
readOnly: true
items:
$ref: '#/components/schemas/TeamRel'
IncidentUpdate:
type: object
properties:
id:
type: string
content:
type: string
creator:
$ref: '#/components/schemas/UserRel'
incidentStatus:
$ref: '#/components/schemas/IncidentStatus'
sendNotification:
type: boolean
createdAt:
type: string
format: date-time
IncidentWithHistory:
type: object
properties:
id:
type: number
summary:
type: string
status:
$ref: '#/components/schemas/IncidentStatus'
message:
type: string
sendNotification:
type: boolean
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
history:
type: array
items:
$ref: '#/components/schemas/IncidentUpdate'
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
subscribed:
type: boolean
readOnly: true
affectedTeams:
type: array
readOnly: true
items:
$ref: '#/components/schemas/TeamRel'
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
UIMenuItem:
type: object
properties:
id:
type: number
label:
type: string
TeamUserOption:
type: object
properties:
id:
type: number
name:
type: string
type:
type: string
enum:
- USER
- TEAM
StatusPageGroup:
type: object
properties:
id:
type: number
name:
type: string
StatusPageNoIncludes:
type: object
properties:
id:
type: number
name:
type: string
domain:
type: string
subdomain:
type: string
timezone:
$ref: '#/components/schemas/TimeZone'
faviconUrl:
type: string
logoUrl:
type: string
visibility:
type: string
enum:
- PRIVATE
- PUBLIC
hiddenFromSearch:
type: boolean
showSubscribeAction:
type: boolean
showIncidentHistoryOption:
type: boolean
pageTitle:
type: string
pageDescription:
type: string
pageLayout:
type: string
enum:
- SINGLE_COLUMN
- RESPONSIVE
logoRedirectUrl:
type: string
activated:
type: boolean
status:
$ref: '#/components/schemas/ServiceStatus'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
services:
type: array
items:
$ref: '#/components/schemas/ServiceNoIncludes'
metrics:
type: array
items:
$ref: '#/components/schemas/MetricNoIncludes'
ipWhitelist:
type: array
description: ipv4 or ipv6 addresses to give access to. Can only be set on
'PRIVATE' status pages
items:
type: string
structure:
$ref: '#/components/schemas/StatusPageStructure'
appearance:
type: string
enum:
- LIGHT
- DARK
StatusPageElement:
required:
- id
- type
type: object
properties:
id:
type: integer
description: The id of the service or group that this element references
format: int64
type:
type: string
enum:
- SERVICE
- GROUP
options:
type: string
description: 'Note: ''expand'' can only be set when type is ''SERVICE'',
''no-graph'' can only be set when type is ''GROUP'''
enum:
- expand
- no-graph
children:
type: array
description: 'Optional children of this element. Note: children may only
be added to elements of type ''GROUP'''
items:
$ref: '#/components/schemas/StatusPageElement'
StatusPageStructure:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/StatusPageElement'
description: This field is not available in the list resource. Describes the
structure of a status page. Allows for nesting children. It is not required
unless groups are used.
StatusPage:
type: object
properties:
id:
type: number
name:
type: string
domain:
type: string
subdomain:
type: string
timezone:
$ref: '#/components/schemas/TimeZone'
faviconUrl:
type: string
logoUrl:
type: string
visibility:
type: string
enum:
- PRIVATE
- PUBLIC
hiddenFromSearch:
type: boolean
showSubscribeAction:
type: boolean
showIncidentHistoryOption:
type: boolean
pageTitle:
type: string
pageDescription:
type: string
pageLayout:
type: string
enum:
- SINGLE_COLUMN
- RESPONSIVE
logoRedirectUrl:
type: string
activated:
type: boolean
status:
$ref: '#/components/schemas/ServiceStatus'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
services:
type: array
items:
$ref: '#/components/schemas/ServiceUptimeOnly'
metrics:
type: array
items:
$ref: '#/components/schemas/MetricNoIncludes'
ipWhitelist:
type: array
description: ipv4 or ipv6 addresses to give access to. Can only be set on
'PRIVATE' status pages
items:
type: string
structure:
$ref: '#/components/schemas/StatusPageStructure'
subscribed:
type: boolean
description: This is an include field, it is not available in the list resource
readOnly: true
groups:
type: array
description: This is an include field, it is not available in the list resource.
Read-only, use the sub resource to manipulate groups.
readOnly: true
items:
$ref: '#/components/schemas/StatusPageGroup'
appearance:
type: string
enum:
- LIGHT
- DARK
announcement:
type: string
description: This is an include field, it is not available in the list resource
announcementOnPage:
type: boolean
description: If the announcement should be displayed on the status page
announcementInWidget:
type: boolean
description: If the announcement should be displayed in the popup widget
audienceSpecific:
type: boolean
default: false
description: If a private status page should move into audience specific
mode
StatusPageList:
type: object
properties:
id:
type: number
name:
type: string
domain:
type: string
subdomain:
type: string
timezone:
$ref: '#/components/schemas/TimeZone'
faviconUrl:
type: string
logoUrl:
type: string
visibility:
type: string
enum:
- PRIVATE
- PUBLIC
hiddenFromSearch:
type: boolean
showSubscribeAction:
type: boolean
showIncidentHistoryOption:
type: boolean
pageTitle:
type: string
pageDescription:
type: string
logoRedirectUrl:
type: string
activated:
type: boolean
status:
$ref: '#/components/schemas/ServiceStatus'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
services:
type: array
items:
$ref: '#/components/schemas/ServiceUptimeOnly'
metrics:
type: array
items:
$ref: '#/components/schemas/MetricNoIncludes'
ipWhitelist:
type: array
description: ipv4 or ipv6 addresses to give access to. Can only be set on
'PRIVATE' status pages
items:
type: string
subscribed:
type: boolean
description: This is an include field, it is not available in the list resource
readOnly: true
announcement:
type: string
description: This is an include field, it is not available in the list resource
announcementOnPage:
type: boolean
description: If the announcement should be displayed on the status page
announcementInWidget:
type: boolean
description: If the announcement should be displayed in the popup widget
audienceSpecific:
type: boolean
default: false
description: If a private status page should move into audience specific
mode
MParamsDatadog:
required:
- apiKey
- applicationKey
- region
type: object
properties:
region:
type: string
apiKey:
type: string
applicationKey:
type: string
MParamsPrometheus:
required:
- authType
- url
type: object
properties:
url:
type: string
authType:
type: string
enum:
- NONE
- BASIC
- HEADER
basicUser:
type: string
description: Optional, required for 'BASIC'
basicPass:
type: string
description: Optional, required for 'BASIC'
headerKey:
type: string
description: Optional, required for 'HEADER'
headerValue:
type: string
description: Optional, required for 'HEADER'
MetricDataSourceMetadata:
type: object
oneOf:
- $ref: '#/components/schemas/MParamsDatadog'
- $ref: '#/components/schemas/MParamsPrometheus'
MetricDataSource:
type: object
properties:
id:
type: number
name:
type: string
type:
$ref: '#/components/schemas/MetricDataSourceType'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
metadata:
$ref: '#/components/schemas/MetricDataSourceMetadata'
MetricDataSourcePost:
required:
- metadata
- name
- type
type: object
properties:
name:
type: string
type:
$ref: '#/components/schemas/MetricDataSourceType'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
metadata:
$ref: '#/components/schemas/MetricDataSourceMetadata'
MetricDataSourceNoIncludes:
type: object
properties:
id:
type: number
name:
type: string
type:
$ref: '#/components/schemas/MetricDataSourceType'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
MDataDogMetadata:
required:
- query
type: object
properties:
query:
type: string
MPrometheusMetadata:
required:
- query
type: object
properties:
query:
type: string
MetricMetadata:
type: object
description: Only required if the metric has a dataSource. You may not change
this after creation.
default: 'null'
oneOf:
- $ref: '#/components/schemas/MDataDogMetadata'
- $ref: '#/components/schemas/MPrometheusMetadata'
MetricList:
type: object
properties:
id:
type: number
name:
type: string
description:
type: string
aggregationType:
$ref: '#/components/schemas/MetricAggregationType'
displayType:
$ref: '#/components/schemas/MetricDisplayType'
interpolateGaps:
type: boolean
default: false
lockYAxisMax:
type: number
format: double
lockYAxisMin:
type: number
format: double
mouseOverDecimal:
maximum: 6
minimum: 0
type: number
format: int32
showValuesOnMouseOver:
type: boolean
default: false
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
unitLabel:
type: string
integrationKey:
type: string
dataSource:
$ref: '#/components/schemas/MetricDataSourceNoIncludes'
Metric:
type: object
properties:
id:
type: number
name:
type: string
description:
type: string
aggregationType:
$ref: '#/components/schemas/MetricAggregationType'
displayType:
$ref: '#/components/schemas/MetricDisplayType'
interpolateGaps:
type: boolean
default: false
lockYAxisMax:
type: number
format: double
lockYAxisMin:
type: number
format: double
mouseOverDecimal:
maximum: 6
minimum: 0
type: number
format: int32
showValuesOnMouseOver:
type: boolean
default: false
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
unitLabel:
type: string
integrationKey:
type: string
metadata:
$ref: '#/components/schemas/MetricMetadata'
dataSource:
$ref: '#/components/schemas/MetricDataSource'
MetricNoIncludes:
type: object
properties:
id:
type: number
name:
type: string
description:
type: string
aggregationType:
$ref: '#/components/schemas/MetricAggregationType'
displayType:
$ref: '#/components/schemas/MetricDisplayType'
interpolateGaps:
type: boolean
default: false
lockYAxisMax:
type: number
format: double
lockYAxisMin:
type: number
format: double
mouseOverDecimal:
maximum: 6
minimum: 0
type: number
format: int32
showValuesOnMouseOver:
type: boolean
default: false
unitLabel:
type: string
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
MetricPost:
required:
- aggregationType
- displayType
- name
type: object
properties:
name:
type: string
description:
type: string
aggregationType:
$ref: '#/components/schemas/MetricAggregationType'
displayType:
$ref: '#/components/schemas/MetricDisplayType'
interpolateGaps:
type: boolean
default: false
lockYAxisMax:
type: number
format: double
lockYAxisMin:
type: number
format: double
mouseOverDecimal:
maximum: 6
minimum: 0
type: number
format: int32
showValuesOnMouseOver:
type: boolean
default: false
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
unitLabel:
type: string
metadata:
$ref: '#/components/schemas/MetricMetadata'
dataSource:
type: object
properties:
id:
type: number
description: dataSource is required when providing metadata
DeploymentPipeline:
type: object
required:
- name
- integrationType
properties:
id:
type: integer
format: int64
name:
type: string
integrationType:
type: string
integrationKey:
type: string
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
createdAt:
type: string
format: date-time
readOnly: true
updatedAt:
type: string
format: date-time
readOnly: true
params:
$ref: '#/components/schemas/DeploymentPipelineParams'
integrationUrl:
type: string
DeploymentPipelineParams:
type: object
description: Dynamic params based on the chosen integration type of the pipeline
default: 'null'
oneOf:
- $ref: '#/components/schemas/DPipeAPIParams'
- $ref: '#/components/schemas/DPipeGithubParams'
DPipeGithubParams:
type: object
description: Deployment pipeline Github integration params
properties:
branchFilters:
type: array
items:
type: string
eventFilters:
type: array
items:
type: string
DPipeAPIParams:
type: object
description: Deployment pipeline API integration params
default: null
properties: {}
DeploymentEvent:
type: object
required:
- integrationKey
- summary
properties:
integrationKey:
type: string
summary:
type: string
timestamp:
type: integer
format: int64
userEmail:
description: Optional email used to map the event to a specific user in
ilert
type: string
format: email
customDetails:
type: object
additionalProperties: true
links:
type: array
items:
$ref: '#/components/schemas/EventLink'
DynamicValue:
nullable: true
oneOf:
- type: string
- type: number
- type: boolean
- type: object
additionalProperties: true
- type: array
items: {}
EventFlow:
type: object
required:
- name
- root
properties:
id:
type: integer
format: int64
name:
type: string
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
root:
$ref: '#/components/schemas/EventFlowNode'
EventFlowListItem:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
EventFlowNode:
type: object
required:
- nodeType
properties:
id:
type: integer
format: int64
name:
type: string
nodeType:
type: string
enum:
- ROOT
- SUPPORT_HOURS
- ROUTE_EVENT
- DEFINE_BRANCHES
- WAIT
- TRANSFORM
metadata:
$ref: '#/components/schemas/EventFlowNodeMetadata'
branches:
type: array
items:
$ref: '#/components/schemas/EventFlowBranch'
EventFlowBranch:
type: object
required:
- branchType
properties:
id:
type: integer
format: int64
branchType:
type: string
enum:
- BRANCH
- CATCH_ALL
- ACCEPTED
condition:
type: string
target:
$ref: '#/components/schemas/EventFlowNode'
EventFlowNodeMetadata:
oneOf:
- $ref: '#/components/schemas/EventFlowNodeMetadataSupportHours'
- $ref: '#/components/schemas/EventFlowNodeMetadataRouteEvent'
- $ref: '#/components/schemas/EventFlowNodeMetadataDefineBranches'
- $ref: '#/components/schemas/EventFlowNodeMetadataWait'
- $ref: '#/components/schemas/EventFlowNodeMetadataTransform'
EventFlowNodeMetadataSupportHours:
type: object
required:
- supportHoursId
properties:
supportHoursId:
type: integer
format: int64
EventFlowNodeMetadataRouteEvent:
type: object
required:
- alertSourceId
properties:
alertSourceId:
type: integer
format: int64
overwritePriority:
type: string
enum:
- HIGH
- LOW
escalationPolicyId:
type: integer
format: int64
EventFlowNodeMetadataDefineBranches:
type: object
properties:
definitions:
type: array
items:
$ref: '#/components/schemas/EventFlowNodeDefinition'
EventFlowNodeMetadataWait:
type: object
properties:
waitForDuration:
type: string
waitStartSupportHoursId:
type: integer
format: int64
waitEndSupportHoursId:
type: integer
format: int64
EventFlowNodeMetadataTransform:
type: object
properties:
condition:
type: string
rules:
type: array
items:
$ref: '#/components/schemas/EventFlowNodeRule'
EventFlowNodeDefinition:
type: object
required:
- branchName
properties:
branchName:
type: string
conditions:
type: string
EventFlowNodeRule:
type: object
required:
- name
- target
- operator
properties:
name:
type: string
target:
type: string
operator:
type: string
enum:
- SET
- COPY
- MAP
- TEMPLATE
- MERGE
- APPEND_ARRAY
value:
$ref: '#/components/schemas/DynamicValue'
source:
type: string
mapping:
type: object
additionalProperties:
type: string
nullable: true
default:
$ref: '#/components/schemas/DynamicValue'
properties:
type: object
additionalProperties:
type: string
nullable: true
items:
type: array
items:
type: object
additionalProperties:
type: string
nullable: true
CallFlow:
type: object
required:
- name
- language
- root
properties:
id:
type: integer
format: int64
name:
type: string
language:
type: string
enum:
- de
- en
assignedNumber:
$ref: '#/components/schemas/CallFlowNumber'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
root:
$ref: '#/components/schemas/CallFlowNode'
CallFlowListItem:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
assignedNumber:
$ref: '#/components/schemas/CallFlowNumber'
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
CallFlowNode:
type: object
required:
- nodeType
properties:
id:
type: integer
format: int64
name:
type: string
nodeType:
type: string
enum:
- ROOT
- IVR_MENU
- AUDIO_MESSAGE
- SUPPORT_HOURS
- ROUTE_CALL
- PARALLEL_ROUTE_CALL
- VOICEMAIL
- PIN_CODE
- CREATE_ALERT
- BLOCK_NUMBERS
- AGENTIC
metadata:
$ref: '#/components/schemas/CallFlowNodeMetadata'
branches:
type: array
items:
$ref: '#/components/schemas/CallFlowBranch'
CallFlowBranch:
type: object
required:
- branchType
properties:
id:
type: integer
format: int64
branchType:
type: string
enum:
- BRANCH
- CATCH_ALL
- ANSWERED
condition:
type: string
target:
$ref: '#/components/schemas/CallFlowNode'
CallFlowNumber:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
phoneNumber:
$ref: '#/components/schemas/PhoneNumber'
CallFlowNumberDetails:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
state:
$ref: '#/components/schemas/CallFlowNumberState'
phoneNumber:
$ref: '#/components/schemas/PhoneNumber'
assignedTo:
$ref: '#/components/schemas/CallFlowNumberAssignedTo'
CallFlowNumberAssignedTo:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
CallFlowNumberState:
type: string
enum:
- AVAILABLE
- USED
PhoneNumber:
type: object
properties:
regionCode:
type: string
number:
type: string
CallFlowNodeMetadata:
oneOf:
- $ref: '#/components/schemas/CallFlowNodeMetadataAudioMessage'
- $ref: '#/components/schemas/CallFlowNodeMetadataIvrMenu'
- $ref: '#/components/schemas/CallFlowNodeMetadataVoicemail'
- $ref: '#/components/schemas/CallFlowNodeMetadataPinCode'
- $ref: '#/components/schemas/CallFlowNodeMetadataSupportHours'
- $ref: '#/components/schemas/CallFlowNodeMetadataRouteCall'
- $ref: '#/components/schemas/CallFlowNodeMetadataCreateAlert'
- $ref: '#/components/schemas/CallFlowNodeMetadataBlockNumbers'
- $ref: '#/components/schemas/CallFlowNodeMetadataAgentic'
CallFlowNodeMetadataAudioMessage:
type: object
properties:
textMessage:
type: string
customAudioUrl:
type: string
language:
type: string
enum:
- en
- de
- fr
- es
- nl
- ru
- it
aiVoiceModel:
type: string
enum:
- emma
- liam
- isabelle
- gordon
- ivy
- ellen
CallFlowNodeMetadataIvrMenu:
type: object
required:
- enabledOptions
properties:
textMessage:
type: string
customAudioUrl:
type: string
enabledOptions:
type: array
items:
type: string
aiVoiceModel:
type: string
enum:
- emma
- liam
- isabelle
- gordon
- ivy
- ellen
language:
type: string
enum:
- en
- de
- fr
- es
- nl
- ru
- it
retries:
type: integer
format: int64
CallFlowNodeMetadataVoicemail:
type: object
properties:
textMessage:
type: string
customAudioUrl:
type: string
language:
type: string
enum:
- en
- de
- fr
- es
- nl
- ru
- it
aiVoiceModel:
type: string
enum:
- emma
- liam
- isabelle
- gordon
- ivy
- ellen
disableTranscription:
type: boolean
CallFlowNodeMetadataPinCode:
type: object
required:
- codes
properties:
textMessage:
type: string
customAudioUrl:
type: string
codes:
type: array
items:
$ref: '#/components/schemas/CallFlowNodeMetadataCode'
language:
type: string
enum:
- en
- de
- fr
- es
- nl
- ru
- it
retries:
type: integer
format: int64
aiVoiceModel:
type: string
enum:
- emma
- liam
- isabelle
- gordon
- ivy
- ellen
CallFlowNodeMetadataSupportHours:
type: object
required:
- supportHoursId
properties:
supportHoursId:
type: integer
format: int64
CallFlowNodeMetadataRouteCall:
type: object
required:
- targets
properties:
holdAudioUrl:
type: string
targets:
type: array
items:
$ref: '#/components/schemas/CallFlowNodeMetadataCallTarget'
callStyle:
type: string
enum:
- ORDERED
- RANDOM
- PARALLEL
retries:
type: integer
format: int64
callTimeoutSec:
type: integer
format: int64
CallFlowNodeMetadataCreateAlert:
type: object
required:
- alertSourceId
properties:
alertSourceId:
type: integer
format: int64
acceptAlertOnAnswer:
type: boolean
CallFlowNodeMetadataBlockNumbers:
type: object
required:
- blacklist
properties:
blacklist:
type: array
items:
type: string
CallFlowNodeMetadataAgentic:
type: object
required:
- textMessage
- intents
properties:
textMessage:
type: string
customAudioUrl:
type: string
language:
type: string
enum:
- en
- de
- fr
- es
- nl
- ru
- it
aiVoiceModel:
type: string
enum:
- emma
- liam
- isabelle
- gordon
- ivy
- ellen
intents:
type: array
items:
$ref: '#/components/schemas/CallFlowNodeMetadataIntent'
gathers:
type: array
items:
$ref: '#/components/schemas/CallFlowNodeMetadataGather'
enrichment:
$ref: '#/components/schemas/CallFlowNodeMetadataEnrichment'
CallFlowNodeMetadataCode:
type: object
required:
- label
properties:
code:
type: integer
format: int64
label:
type: string
CallFlowNodeMetadataCallTarget:
type: object
required:
- target
- type
properties:
target:
type: string
type:
type: string
enum:
- USER
- ON_CALL_SCHEDULE
- NUMBER
CallFlowNodeMetadataIntent:
type: object
properties:
type:
type: string
enum:
- INCIDENT
- SYSTEM_OUTAGE
- SECURITY_BREACH
- TECHNICAL_SUPPORT
- INQUIRY
label:
type: string
description:
type: string
examples:
type: array
items:
type: string
CallFlowNodeMetadataGather:
type: object
properties:
type:
type: string
enum:
- CALLER_NAME
- CONTACT_NUMBER
- EMAIL
- INCIDENT
- AFFECTED_SERVICES
label:
type: string
varType:
type: string
enum:
- NUMBER
- DATE
- BOOLEAN
- STRING
required:
type: boolean
question:
type: string
CallFlowNodeMetadataEnrichment:
type: object
properties:
enabled:
type: boolean
informationTypes:
type: array
items:
type: string
enum:
- INCIDENT
- MAINTENANCE
- SERVICE_STATUS
sources:
type: array
items:
$ref: '#/components/schemas/CallFlowNodeMetadataEnrichmentSource'
CallFlowNodeMetadataEnrichmentSource:
type: object
required:
- id
- type
properties:
id:
type: integer
format: int64
type:
type: string
enum:
- STATUS_PAGE
- SERVICE
parameters:
id:
name: id
in: path
description: entity ID
required: true
schema:
type: number
string-id:
name: id
in: path
description: entity ID
required: true
schema:
type: string
user-id-in-path:
name: user-id
in: path
description: numeric user id
required: true
schema:
type: string
include:
name: include
in: query
description: Describes optional properties that should be included in the response.
schema:
type: string
user-id-in-query:
name: user
in: query
description: numeric user id
schema:
type: string
source-id-or-key:
name: source-id
in: path
description: numeric source id or integration key
required: true
schema:
type: string
requester-id:
name: requester-id
in: query
description: id of the user who requested this operation
schema:
type: string
start-index:
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
max-results:
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
key:
name: key
in: path
description: integration key of resource
required: true
schema:
type: string
securitySchemes:
apiKey:
type: apiKey
description: The Bearer API key of your user more
info.
name: Authorization
in: header
x-original-swagger-version: '2.0'