> ## Documentation Index
> Fetch the complete documentation index at: https://developer.zeeg.me/llms.txt
> Use this file to discover all available pages before exploring further.

# List Time-Off Periods

> Retrieve all time-off periods configured for users in your workspace, used to block availability during vacations or absences.



## OpenAPI

````yaml GET /time-off
openapi: 3.0.0
info:
  title: Zeeg Public API
  description: >-
    Zeeg public API documentation.


    ## Authentication

    All endpoints require a Bearer token. You can generate an API token from
    [your Zeeg dashboard](https://app.zeeg.me/account/settings/api-access).


    Each token is scoped to specific permissions (e.g. `events:read`,
    `webhooks:write`). Make sure your token has the required scopes for the
    endpoints you want to use.


    ## Recommended Headers

    We recommend including the `Accept: application/json` header in all API
    requests to ensure you receive JSON responses.
  version: 2.0.0
  x-logo:
    url: https://app.zeeg.me/img/logo-dark.2ca83593.svg
    backgroundColor: '#f7f7f9'
    altText: zeeg
  contact:
    name: Zeeg Support
    email: support@zeeg.me
    url: https://zeeg.me/en/contact
  license:
    name: Proprietary
    url: https://zeeg.me/en/legal/terms
  termsOfService: https://zeeg.me/en/legal/terms
servers:
  - url: https://api.zeeg.me/v2
    description: Production
security:
  - bearer: []
tags:
  - name: Scheduled Events
    description: Management of events scheduled via Zeeg
  - name: Scheduling Pages
    description: Scheduling pages information and management
  - name: Availability Schedule
    description: Read and change availability for users
  - name: Webhooks
    description: Webhooks management
  - name: Notes
    description: Notes for scheduled events
  - name: Workspaces & Teams
    description: Workspace users and team member management
  - name: AI Agent
    description: AI Agent integration endpoints
  - name: Payloads
    description: Webhook payload schemas
  - name: CRM - Objects
    description: >-
      Discover the schema of CRM objects (standard and custom) including all
      attribute definitions
  - name: CRM - Companies
    description: Create, read, update, and delete CRM company records
  - name: CRM - People
    description: Create, read, update, and delete CRM person records
paths:
  /time-off:
    get:
      tags:
        - Availability Schedule
      summary: List time-off periods
      description: >-
        Returns a paginated list of user-level time-off periods (vacation,
        out-of-office) for the specified user.


        By default only periods ending today or in the future are returned. Use
        `from` / `to` to query a specific window, or `type` to filter to a
        single category.


        Half-day flags indicate the first or last day of the period is partial;
        `startHalfDayCutoff` / `endHalfDayCutoff` carry the cutoff time (HH:MM)
        when the flag is true.
      operationId: get-time-off
      parameters:
        - schema:
            type: string
            format: email
            example: lena.meier@horizondigital.de
          in: query
          name: email
          required: true
          description: Email address of the user whose time-off periods to retrieve.
        - schema:
            type: string
            format: date
            example: '2026-04-01'
          in: query
          name: from
          description: >-
            Only return periods ending on or after this date (YYYY-MM-DD).
            Defaults to today when omitted.
        - schema:
            type: string
            format: date
            example: '2026-12-31'
          in: query
          name: to
          description: >-
            Only return periods starting on or before this date (YYYY-MM-DD). No
            upper bound when omitted.
        - schema:
            type: string
            enum:
              - vacation
              - out_of_office
            example: vacation
          in: query
          name: type
          description: Filter to a single type of period.
        - schema:
            type: integer
            default: 20
            minimum: 1
            maximum: 100
            example: 20
          in: query
          name: count
          description: Number of results per page.
        - schema:
            type: integer
            minimum: 1
            default: 1
            example: 1
          in: query
          name: page
          description: Page number for paginated results.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - collection
                  - pagination
                properties:
                  collection:
                    type: array
                    description: List of time-off periods.
                    items:
                      type: object
                      properties:
                        uuid:
                          type: string
                          format: uuid
                        uri:
                          type: string
                          format: uri
                          description: Self-link to update or delete this time-off period.
                          example: >-
                            https://api.zeeg.me/v2/time-off/01907f10-5b00-7b31-9cf0-1234567890ab
                        type:
                          type: string
                          enum:
                            - vacation
                            - out_of_office
                        title:
                          type: string
                          nullable: true
                        startDate:
                          type: string
                          format: date
                        endDate:
                          type: string
                          format: date
                        startHalfDay:
                          type: boolean
                        endHalfDay:
                          type: boolean
                        startHalfDayCutoff:
                          type: string
                          nullable: true
                          description: >-
                            Half-day cutoff (HH:MM), null when startHalfDay is
                            false.
                        endHalfDayCutoff:
                          type: string
                          nullable: true
                          description: >-
                            Half-day cutoff (HH:MM), null when endHalfDay is
                            false.
                        note:
                          type: string
                          nullable: true
                  pagination:
                    type: object
                    required:
                      - total
                      - count
                      - totalPages
                      - currentPage
                    properties:
                      total:
                        type: integer
                        minimum: 0
                        description: Total number of records.
                      count:
                        type: integer
                        minimum: 0
                        default: 20
                        description: Number of records on the current page.
                      totalPages:
                        type: integer
                        minimum: 0
                        description: Total number of pages.
                      previousPage:
                        type: string
                        nullable: true
                        description: Link to previous page, or null.
                        example: /v2/time-off?page=1
                      currentPage:
                        type: integer
                        minimum: 1
                        description: Current page number.
                      nextPage:
                        type: string
                        nullable: true
                        description: Link to next page, or null.
                        example: /v2/time-off?page=3
              examples:
                Future vacation and out-of-office:
                  value:
                    collection:
                      - uuid: 01907f10-5b00-7b31-9cf0-1234567890ab
                        uri: >-
                          https://api.zeeg.me/v2/time-off/01907f10-5b00-7b31-9cf0-1234567890ab
                        type: vacation
                        title: Summer break
                        startDate: '2026-07-01'
                        endDate: '2026-07-14'
                        startHalfDay: true
                        endHalfDay: false
                        startHalfDayCutoff: '13:00'
                        endHalfDayCutoff: null
                        note: Out at the coast
                      - uuid: 01907f10-6a20-7c41-9cf0-abcdef012345
                        uri: >-
                          https://api.zeeg.me/v2/time-off/01907f10-6a20-7c41-9cf0-abcdef012345
                        type: out_of_office
                        title: Team offsite
                        startDate: '2026-09-02'
                        endDate: '2026-09-04'
                        startHalfDay: false
                        endHalfDay: false
                        startHalfDayCutoff: null
                        endHalfDayCutoff: null
                        note: null
                    pagination:
                      total: 2
                      count: 2
                      totalPages: 1
                      previousPage: null
                      currentPage: 1
                      nextPage: null
        '401':
          $ref: '#/components/responses/401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: object
                    properties:
                      email:
                        type: array
                        items:
                          type: string
              examples:
                Email required:
                  value:
                    message: The email field is required.
                    errors:
                      email:
                        - The email field is required.
      security:
        - bearer: []
components:
  responses:
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthenticated.
          examples:
            Unauthenticated:
              value:
                message: Unauthenticated.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: ''

````