> ## 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.

# Get Available Time Slots

> Query bookable time slots for a scheduling page by owner slug and event-type slug. Used as the first step of a programmatic booking flow.



## OpenAPI

````yaml GET /availability/{ownerSlug}/event-types/{eventTypeSlug}
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:
  /availability/{ownerSlug}/event-types/{eventTypeSlug}:
    parameters:
      - schema:
          type: string
        name: ownerSlug
        in: path
        required: true
        description: >-
          The slug of the calendar owner, a team slug, or `shared` for shared
          event types such as Round Robin ("R"), Flexi ("F"), or Collective
          ("C").
      - schema:
          type: string
        name: eventTypeSlug
        in: path
        required: true
        description: The slug of the event type / scheduling page.
    get:
      tags:
        - Scheduling Pages
      summary: Get available time slots of a scheduling page
      description: >-
        Returns available time slots for a specific scheduling page within a
        date range.


        Please note that access to this endpoint requires an **active paid
        subscription**.


        This API requires either of the following scopes:

        - `admin:full`

        - `timetable`


        **Path parameter notes:**

        - Use the user's slug (e.g. `lena-meier`) for personal event types.

        - Use a team slug (e.g. `customer-success`) for team event types.

        - Use `shared` for shared event types such as Round Robin, Flexi, or
        Collective.


        **Response notes:**

        - Empty slot arrays indicate dates with no availability.

        - The `isNotAvailable` flag indicates if the scheduling page has no
        availability at all during the requested time range.

        - When `withHostsCount=1` is used, slots are returned as objects
        containing both `time` and `availableHosts` instead of simple time
        strings.

        - When `hostEmail` or `hostSlug` is used, the response will only include
        available slots for the specified host. This is only supported for Round
        Robin event types.
      operationId: get-event-type-availability
      parameters:
        - schema:
            type: string
            format: date
            example: '2026-04-01'
          in: query
          name: startDate
          required: true
          description: Start date in YYYY-MM-DD format.
        - schema:
            type: string
            format: date
            example: '2026-04-14'
          in: query
          name: endDate
          required: true
          description: End date in YYYY-MM-DD format.
        - schema:
            type: string
            example: Europe/Berlin
            default: UTC
          in: query
          name: timeZone
          required: true
          description: IANA time zone identifier.
        - schema:
            type: number
            example: 30
          in: query
          name: duration
          description: >-
            Meeting duration in minutes. Defaults to the event type's configured
            duration.
        - schema:
            type: boolean
          in: query
          name: withHostsCount
          description: >-
            Set to `1` to include available host count for each time slot
            (useful for Round Robin events). When enabled, slots will be
            returned as objects with `time` and `availableHosts` properties
            instead of simple time strings.
        - schema:
            type: string
            format: email
          in: query
          name: hostEmail
          description: >-
            Email of the host to filter available slots for (useful for Round
            Robin events).
        - schema:
            type: string
          in: query
          name: hostSlug
          description: >-
            Slug of the host to filter available slots for (useful for Round
            Robin events).
        - schema:
            type: boolean
          in: query
          name: check_first_available
          description: >-
            When set to `1`, the response will include the first available date
            for the scheduling page.
        - schema:
            type: integer
            minimum: 1
          in: query
          name: seats
          description: Number of seats to book (for group event types).
      requestBody:
        content: {}
        description: >
          - Date ranges are inclusive of both start and end dates.

          - Time slots are returned in the requested time zone (or UTC if not
          specified).

          - When `withHostsCount=1` is used, slots are returned as objects
          containing both `time` and `availableHosts`.

          - The `availableHosts` count is particularly useful for Round Robin
          event types where multiple hosts may be available for the same time
          slot.

          - When `hostEmail` or `hostSlug` is used, the response will only
          include available slots for the specified host. This is only supported
          for Round Robin event types.
      responses:
        '200':
          description: >
            OK

            - Empty slot arrays indicate dates with no availability.

            - The `isNotAvailable` flag indicates if the scheduling page has no
            availability during the time range.

            - When `withHostsCount=1` is used in the request, slots are returned
            as objects containing both time and available host count.

            - When `hostEmail` or `hostSlug` is used, the response will only
            include available slots for the specified host.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ownerSlug:
                    type: string
                  eventTypeSlug:
                    type: string
                  schedulingUrl:
                    type: string
                    format: uri
                  duration:
                    type: integer
                  firstAvailableDate:
                    type: string
                    format: date
                  lastAvailableDate:
                    type: string
                    format: date
                  timeZone:
                    type: string
                  timeZoneOffset:
                    type: string
                  isNotAvailable:
                    type: boolean
                  availability:
                    type: array
                    items:
                      type: object
                      properties:
                        date:
                          type: string
                          format: date
                        slots:
                          type: array
                          description: >-
                            Array of time strings (e.g. "09:00") or objects with
                            `time` and `availableHosts` when `withHostsCount=1`.
                          items:
                            oneOf:
                              - type: string
                              - type: object
                                properties:
                                  time:
                                    type: string
                                  availableHosts:
                                    type: integer
                  currentTime:
                    type: string
                    format: date-time
              examples:
                Default without host count:
                  value:
                    ownerSlug: lena-meier
                    eventTypeSlug: 30min-discovery-call
                    schedulingUrl: https://zeeg.me/lena-meier/30min-discovery-call
                    duration: 30
                    firstAvailableDate: '2026-04-01'
                    lastAvailableDate: '2026-04-14'
                    timeZone: Europe/Berlin
                    timeZoneOffset: '+02:00'
                    isNotAvailable: false
                    availability:
                      - date: '2026-04-01'
                        slots:
                          - '09:00'
                          - '09:30'
                          - '10:00'
                          - '10:30'
                          - '14:00'
                          - '14:30'
                          - '15:00'
                          - '15:30'
                          - '16:00'
                      - date: '2026-04-02'
                        slots:
                          - '09:00'
                          - '09:30'
                          - '10:00'
                          - '11:00'
                          - '11:30'
                          - '14:00'
                          - '15:00'
                          - '15:30'
                      - date: '2026-04-03'
                        slots:
                          - '09:00'
                          - '10:30'
                          - '11:00'
                          - '14:00'
                          - '14:30'
                          - '15:00'
                          - '15:30'
                          - '16:00'
                      - date: '2026-04-04'
                        slots: []
                      - date: '2026-04-05'
                        slots: []
                      - date: '2026-04-06'
                        slots:
                          - '09:00'
                          - '09:30'
                          - '10:00'
                          - '10:30'
                          - '11:00'
                          - '14:00'
                          - '14:30'
                          - '15:00'
                      - date: '2026-04-07'
                        slots:
                          - '09:00'
                          - '09:30'
                          - '10:00'
                          - '10:30'
                          - '11:00'
                          - '11:30'
                          - '14:00'
                          - '14:30'
                          - '15:00'
                          - '15:30'
                          - '16:00'
                      - date: '2026-04-08'
                        slots:
                          - '09:00'
                          - '09:30'
                          - '14:00'
                          - '14:30'
                          - '15:00'
                      - date: '2026-04-09'
                        slots:
                          - '09:00'
                          - '09:30'
                          - '10:00'
                          - '10:30'
                          - '11:00'
                          - '11:30'
                          - '14:00'
                          - '14:30'
                      - date: '2026-04-10'
                        slots:
                          - '09:00'
                          - '09:30'
                          - '10:00'
                          - '14:00'
                          - '14:30'
                          - '15:00'
                          - '15:30'
                          - '16:00'
                      - date: '2026-04-11'
                        slots: []
                      - date: '2026-04-12'
                        slots: []
                      - date: '2026-04-13'
                        slots:
                          - '09:00'
                          - '09:30'
                          - '10:00'
                          - '10:30'
                          - '14:00'
                          - '14:30'
                          - '15:00'
                          - '15:30'
                          - '16:00'
                      - date: '2026-04-14'
                        slots:
                          - '09:00'
                          - '09:30'
                          - '10:00'
                          - '10:30'
                          - '11:00'
                          - '11:30'
                          - '14:00'
                          - '14:30'
                          - '15:00'
                    currentTime: '2026-03-20T12:00:00+00:00'
                Times with host count:
                  value:
                    ownerSlug: customer-success
                    eventTypeSlug: 30min-discovery-call
                    schedulingUrl: https://zeeg.me/customer-success/30min-discovery-call
                    duration: 30
                    firstAvailableDate: '2026-04-01'
                    lastAvailableDate: '2026-04-14'
                    timeZone: Europe/Berlin
                    timeZoneOffset: '+02:00'
                    isNotAvailable: false
                    availability:
                      - date: '2026-04-01'
                        slots:
                          - time: '09:00'
                            availableHosts: 2
                          - time: '09:30'
                            availableHosts: 2
                          - time: '10:00'
                            availableHosts: 1
                          - time: '10:30'
                            availableHosts: 1
                          - time: '14:00'
                            availableHosts: 2
                          - time: '14:30'
                            availableHosts: 1
                          - time: '15:00'
                            availableHosts: 1
                      - date: '2026-04-02'
                        slots:
                          - time: '09:00'
                            availableHosts: 1
                          - time: '09:30'
                            availableHosts: 1
                          - time: '10:00'
                            availableHosts: 2
                          - time: '11:00'
                            availableHosts: 1
                          - time: '14:00'
                            availableHosts: 2
                          - time: '15:00'
                            availableHosts: 1
                      - date: '2026-04-03'
                        slots:
                          - time: '09:00'
                            availableHosts: 1
                          - time: '10:00'
                            availableHosts: 2
                          - time: '11:00'
                            availableHosts: 1
                          - time: '14:00'
                            availableHosts: 2
                          - time: '15:00'
                            availableHosts: 1
                      - date: '2026-04-04'
                        slots: []
                      - date: '2026-04-05'
                        slots: []
                      - date: '2026-04-06'
                        slots:
                          - time: '09:00'
                            availableHosts: 2
                          - time: '09:30'
                            availableHosts: 1
                          - time: '10:00'
                            availableHosts: 1
                          - time: '14:00'
                            availableHosts: 2
                          - time: '14:30'
                            availableHosts: 1
                    currentTime: '2026-03-20T12:00:00+00:00'
        '401':
          $ref: '#/components/responses/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  controle:
                    type: object
                    properties:
                      type:
                        type: string
                  message:
                    type: string
                  required_scopes:
                    type: array
                    items:
                      type: string
              examples:
                Premium scope error:
                  value:
                    controle:
                      type: error
                    message: Invalid scope(s) provided.
                    required_scopes:
                      - admin:full
                      - timetable
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              examples:
                Owner slug not found:
                  value:
                    error: Slug not found
                Event type not found:
                  value:
                    error: Entry for EventType not found
                Host not found:
                  value:
                    error: Host not found
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: object
              examples:
                Missing required fields:
                  value:
                    message: The start date field is required. (and 1 more error)
                    errors:
                      startDate:
                        - The start date field is required.
                      endDate:
                        - The end date 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: ''

````