# On Calls

## GET /on-calls

> List on-calls with flexible filters

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.5-r.3"},"tags":[{"name":"On-Calls"}],"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":{"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"}}},"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"}}},"TimeZone":{"type":"string","enum":["Europe/Berlin","America/New_York","America/Los_Angeles","Asia/Istanbul"]},"Role":{"type":"string","enum":["STAKEHOLDER","GUEST","RESPONDER","USER","ADMIN"]},"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":{"/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"}}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ilert.com/developer-docs/rest-api/api-reference/on-calls.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
