openapi: 3.0.1
info:
title: ilert REST Alert Actions Event Flows 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: Event Flows
paths:
/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: {}
components:
schemas:
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'
TeamRel:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
EventFlowNodeMetadata:
oneOf:
- $ref: '#/components/schemas/EventFlowNodeMetadataSupportHours'
- $ref: '#/components/schemas/EventFlowNodeMetadataRouteEvent'
- $ref: '#/components/schemas/EventFlowNodeMetadataDefineBranches'
- $ref: '#/components/schemas/EventFlowNodeMetadataWait'
- $ref: '#/components/schemas/EventFlowNodeMetadataTransform'
EventFlowNodeDefinition:
type: object
required:
- branchName
properties:
branchName:
type: string
conditions:
type: string
EventFlowNodeMetadataRouteEvent:
type: object
required:
- alertSourceId
properties:
alertSourceId:
type: integer
format: int64
overwritePriority:
type: string
enum:
- HIGH
- LOW
escalationPolicyId:
type: integer
format: int64
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
DynamicValue:
nullable: true
oneOf:
- type: string
- type: number
- type: boolean
- type: object
additionalProperties: true
- type: array
items: {}
EventFlowNodeMetadataDefineBranches:
type: object
properties:
definitions:
type: array
items:
$ref: '#/components/schemas/EventFlowNodeDefinition'
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'
EventFlowNodeMetadataSupportHours:
type: object
required:
- supportHoursId
properties:
supportHoursId:
type: integer
format: int64
EventFlowListItem:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
teams:
type: array
items:
$ref: '#/components/schemas/TeamRel'
EventFlowNodeMetadataTransform:
type: object
properties:
condition:
type: string
rules:
type: array
items:
$ref: '#/components/schemas/EventFlowNodeRule'
EventFlowNodeMetadataWait:
type: object
properties:
waitForDuration:
type: string
waitStartSupportHoursId:
type: integer
format: int64
waitEndSupportHoursId:
type: integer
format: int64
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'
securitySchemes:
apiKey:
type: apiKey
description: The Bearer API key of your user more info.
name: Authorization
in: header
x-original-swagger-version: '2.0'