# Escalation Policies

## GET /escalation-policies

> List escalation policies.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.3-r.4"},"tags":[{"name":"Escalation Policies"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"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"}}},"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"}}}},"UserRel":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"firstName":{"type":"string"},"lastName":{"type":"string"}}},"ScheduleRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"string","enum":["STATIC","RECURRING"]}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}}},"paths":{"/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 /escalation-policies

> Create a new escalation policy.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.3-r.4"},"tags":[{"name":"Escalation Policies"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"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"}}},"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"}}}},"UserRel":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"firstName":{"type":"string"},"lastName":{"type":"string"}}},"ScheduleRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"string","enum":["STATIC","RECURRING"]}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}}},"paths":{"/escalation-policies":{"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"}}}}}}}}}
```

## GET /escalation-policies/resolve

> Resolve an escalation policy by routing key.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.3-r.4"},"tags":[{"name":"Escalation Policies"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"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"}}},"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"}}}},"UserRel":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"firstName":{"type":"string"},"lastName":{"type":"string"}}},"ScheduleRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"string","enum":["STATIC","RECURRING"]}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}}},"paths":{"/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":{}}}}}}}
```

## GET /escalation-policies/{id}

> Get escalation policy with the specified id.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.3-r.4"},"tags":[{"name":"Escalation Policies"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"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"}}},"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"}}}},"UserRel":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"firstName":{"type":"string"},"lastName":{"type":"string"}}},"ScheduleRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"string","enum":["STATIC","RECURRING"]}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}}},"paths":{"/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 /escalation-policies/{id}

> Update an existing escalation policy.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.3-r.4"},"tags":[{"name":"Escalation Policies"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"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"}}},"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"}}}},"UserRel":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"firstName":{"type":"string"},"lastName":{"type":"string"}}},"ScheduleRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"string","enum":["STATIC","RECURRING"]}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}}},"paths":{"/escalation-policies/{id}":{"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"}}}}}}}}}
```

## DELETE /escalation-policies/{id}

> Delete the specified escalation policy.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.3-r.4"},"tags":[{"name":"Escalation Policies"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}}},"paths":{"/escalation-policies/{id}":{"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":{}}}}}}}
```

## PUT /escalation-policies/{id}/levels/{level}

> Replace an escalation rule at the specified level.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.3-r.4"},"tags":[{"name":"Escalation Policies"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"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"}}}},"UserRel":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"firstName":{"type":"string"},"lastName":{"type":"string"}}},"ScheduleRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"string","enum":["STATIC","RECURRING"]}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}}},"paths":{"/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"}}}}}}}}}
```
