---
updatedAt: 2026-06-03T14:37:38.000Z
agentTools:
  projectIndex: https://developer.personio.de/llms.txt
---

# List absence types.

List absence type.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Absence Period API",
    "version": "2.0.0",
    "description": "Read API for Absence Entities."
  },
  "servers": [
    {
      "url": "https://api.personio.de"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Absence Periods",
      "description": "Endpoints related to absences taken by employees and the rules that define them."
    },
    {
      "name": "Absence Types",
      "description": "Endpoints to retrieve absence types."
    }
  ],
  "paths": {
    "/v2/absence-periods": {
      "get": {
        "summary": "List absence periods.",
        "description": "- This endpoint returns a list of absence periods.\n- It supports pagination and filtering based on various parameters.\n- Filters are combined using the logical \"AND\" operator, which requires that all conditions be true for the output to be included - except when filtering by date ranges, as in this case it'll match absences overlapping the provided period.\n- This endpoint requires the personio:absences:read scope.\n",
        "tags": [
          "Absence Periods"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 100,
              "example": 50
            },
            "description": "The maximum number of absence periods returned per request."
          },
          {
            "$ref": "#/paths/~1v2~1absence-types/get/parameters/0"
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results matching any of the provided absence periods' ids.\n",
            "example": "abc6fa09-d8fe-4de0-be03-f0a1d48df766,bbc6fa09-d8fe-4de0-be03-f0a1d48df766"
          },
          {
            "name": "absence_type.id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results matching any of the provided absence types' ids.\n",
            "example": "cba6fa09-d8fe-4de0-be03-f0a1d48df766,bbb6fa09-d8fe-4de0-be03-f0a1d48df766"
          },
          {
            "name": "person.id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results matching any of the provided persons' ids.\n",
            "example": "123,456"
          },
          {
            "name": "starts_from.date_time.gte",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Matches absence periods starting from (inclusive) the provided date-time.",
            "example": "2023-01-01T12:00:00Z"
          },
          {
            "name": "starts_from.date_time.lte",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Matches absence periods starting before or at the provided date-time.",
            "example": "2023-01-01T12:00:00Z"
          },
          {
            "name": "ends_at.date_time.lte",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Matches absence periods ending before or at the provided date-time.",
            "example": "2023-01-01T12:00:00Z"
          },
          {
            "name": "ends_at.date_time.gte",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Matches absence periods ending after or at the provided date-time.",
            "example": "2023-01-01T12:00:00Z"
          },
          {
            "name": "updated_at.gte",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Filter out absence periods updated before the provided date-time.",
            "example": "2023-01-01T12:00:00Z"
          },
          {
            "name": "updated_at.lte",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Filter out absence periods updated after the provided date-time.",
            "example": "2023-01-01T12:00:00Z"
          }
        ],
        "x-path-examples": {
          "200 Valid request": {
            "value": "/papi/v2/absence-periods"
          },
          "200 Valid request with cursor": {
            "value": "/papi/v2/absence-periods",
            "query": "cursor=cur_234ls0f02lalfddabcdef=="
          },
          "200 Valid request with filters": {
            "value": "/papi/v2/absence-periods",
            "query": "id=cba6fa09-d8fe-4de0-be03-f0a1d48df766"
          },
          "400 Invalid Cursor": {
            "value": "/papi/v2/absence-periods",
            "query": "cursor=invalid-cursor-string"
          },
          "400 Invalid filter": {
            "value": "/papi/v2/absence-periods",
            "query": "starts_from.date_time.gte=invalid"
          },
          "403 Forbidden": {
            "value": "/papi/v2/absence-periods"
          },
          "422 Inconsistent filter": {
            "value": "/papi/v2/absence-periods",
            "query": "starts_from.date_time.gte=2024-02-02T00:00:00Z&starts_from.date_time.lte=2024-01-01T00:00:00Z"
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "_data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AbsencePeriod"
                      }
                    },
                    "_meta": {
                      "$ref": "#/paths/~1v2~1absence-types/get/responses/200/content/application~1json/schema/properties/_meta"
                    }
                  }
                },
                "examples": {
                  "200 Valid request": {
                    "$ref": "#/components/examples/ListAbsencePeriodsResponse"
                  },
                  "200 Valid request with cursor": {
                    "$ref": "#/components/examples/ListAbsencePeriodsWithCursorResponse"
                  },
                  "200 Valid request with filters": {
                    "$ref": "#/components/examples/ListAbsencePeriodsWithFiltersResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "description": "This object represents an error response.",
                  "properties": {
                    "personio_trace_id": {
                      "type": "string",
                      "example": "aswo3f-a202lfso-312123sld-1230ddd",
                      "description": "A unique ID that was created for this error."
                    },
                    "timestamp": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2021-05-28T11:17:30.000Z",
                      "description": "The timestamp of when the error occurred."
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string",
                            "example": "Not found",
                            "description": "The title of the error."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The requested resource was not found.",
                            "description": "A short description about the error."
                          },
                          "type": {
                            "type": "string",
                            "format": "uri",
                            "example": "https://developer.personio.de/reference/errors#common.requested_resource_not_found",
                            "description": "A link to the developer hub where more information can be found for the encountered error."
                          },
                          "_meta": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "400 Invalid Cursor": {
                    "$ref": "#/components/examples/InvalidCursor"
                  },
                  "400 Invalid filter": {
                    "$ref": "#/components/examples/InvalidFilter"
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenErrorResponse"
          },
          "422": {
            "description": "Unprocessable content.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/paths/~1v2~1absence-periods/get/responses/400/content/application~1problem+json/schema"
                },
                "examples": {
                  "422 Inconsistent filter": {
                    "$ref": "#/components/examples/InconsistentFilter"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/absence-types": {
      "get": {
        "summary": "List absence types.",
        "description": "List absence type.",
        "tags": [
          "Absence Types"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "cursor",
            "example": "cur_82sQwR2eZvKilo2duNh219Kw",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "The pagination cursor to navigate over to the next list of resources. If you pass a specific limit to your  request, or you rely on the default value of the number of resources to be returned, then your subsequent call has to include the cursor in order to retrieve the next list of resources. If cursor is missing,  the first page is returned."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 100,
              "example": 50
            },
            "description": "The maximum number of absence types returned per request."
          }
        ],
        "x-path-examples": {
          "200 Valid request": {
            "value": "/papi/v2/absence-types",
            "query": "limit=3"
          },
          "403 Forbidden": {
            "value": "/papi/v2/absence-types"
          },
          "400 Invalid cursor": {
            "value": "/papi/v2/absence-types",
            "query": "cursor=invalid-cursor-string"
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of all defined absence types.\n",
                  "properties": {
                    "_data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AbsenceType"
                      }
                    },
                    "_meta": {
                      "description": "This object represents the metadata information for an object. It's a set of arbitrary key/value attributes such as `links`.",
                      "type": "object",
                      "readOnly": true,
                      "properties": {
                        "links": {
                          "type": "object",
                          "additionalProperties": {
                            "description": "This objects represents a hyperlink.",
                            "type": "object",
                            "readOnly": true,
                            "properties": {
                              "href": {
                                "type": "string",
                                "format": "uri"
                              }
                            },
                            "additionalProperties": true
                          },
                          "example": {
                            "links": {
                              "self": {
                                "href": "https://api.personio.de/v2/person?cursor=<current-cursor>"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "200 Valid request": {
                    "$ref": "#/components/examples/ListAbsenceTypesResponse"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestInvalidCursorErrorResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenErrorResponse"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "examples": {
      "ListAbsenceTypesResponse": {
        "value": {
          "_data": [
            {
              "id": "abc6fa09-d8fe-4de0-be03-f0a1d48df766",
              "name": "Vacation",
              "category": "PAID_VACATION",
              "unit": "DAY"
            },
            {
              "id": "cba6fa09-d8fe-4de0-be03-f0a1d48df766",
              "name": "Sick leave",
              "category": "SICK_LEAVE",
              "unit": "HOUR"
            }
          ],
          "_meta": {
            "links": {
              "self": {
                "href": "https://api.personio.de/v2/absence-types"
              },
              "next": {
                "href": "https://api.personio.de/v2/absence-types?cursor=cur_234ls0f02lalfdd"
              }
            }
          }
        }
      }
    },
    "schemas": {
      "AbsenceType": {
        "type": "object",
        "description": "AbsenceType represents a classification of absence periods.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for this absence type.",
            "example": "abc6fa09-d8fe-4de0-be03-f0a1d48df766"
          },
          "name": {
            "type": "string",
            "description": "The name of the absence type.",
            "example": "Parental Leave (UK)"
          },
          "category": {
            "type": "string",
            "description": "The category of the absence type.",
            "example": "SICK_LEAVE"
          },
          "unit": {
            "type": "string",
            "description": "The units used for measuring this type of absence. See `AbsencePeriod` time range documentation for details\nabout how the absence type unit relates to valid and invalid time ranges for a period.\n* DAY: Absence periods of this type are specified in days or half days\n* HOUR: Absence periods of this type can have durations of less than 24 hours\n",
            "enum": [
              "DAY",
              "HOUR"
            ],
            "example": "DAY"
          }
        }
      }
    },
    "responses": {
      "BadRequestInvalidCursorErrorResponse": {
        "description": "Bad request.",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/paths/~1v2~1absence-periods/get/responses/400/content/application~1problem+json/schema"
            },
            "examples": {
              "400 Invalid cursor": {
                "value": {
                  "personio_trace_id": "8b46fa09-d8fe-4de0-be03-f0a1d48df766",
                  "timestamp": "2021-05-28T11:17:30Z",
                  "errors": [
                    {
                      "title": "Invalid cursor",
                      "detail": "The provided cursor is not valid."
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "ForbiddenErrorResponse": {
        "description": "Access to this endpoint is denied.",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/paths/~1v2~1absence-periods/get/responses/400/content/application~1problem+json/schema"
            },
            "examples": {
              "403 Forbidden": {
                "value": {
                  "personio_trace_id": "8b46fa09-d8fe-4de0-be03-f0a1d48df766",
                  "timestamp": "2021-05-28T11:17:30Z",
                  "errors": [
                    {
                      "title": "Access Denied",
                      "detail": "Access to this endpoint is denied."
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  }
}
```