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

# Update Availability Schedule by UUID

> Update a specific availability schedule by its UUID. Modify weekly working hours, time zone, or date-specific overrides.



## OpenAPI

````yaml PATCH /schedules/{uuid}
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:
  /schedules/{uuid}:
    parameters:
      - schema:
          type: string
          format: uuid
          example: Q1ZYo391da
        name: uuid
        in: path
        required: true
        description: Schedule identifier
    patch:
      tags:
        - Availability Schedule
      summary: Update availability schedule by UUID
      description: >-
        Updates a specific availability schedule by its UUID.


        **Weekly hours:**

        - Provide an array of objects with `day` and `timesets` to set recurring
        weekly availability.

        - Each day can have multiple time ranges (e.g., morning and afternoon
        blocks).

        - An empty `timesets` array marks the day as unavailable.


        **Special hours (date overrides):**

        - Use `specialHours` to override availability for specific dates.

        - Each entry contains a `date` and `timesets` array.

        - An **empty** `timesets` array (`[]`) marks the date as fully
        unavailable (override to block the entire day).

        - A **null** value for `timesets` (`null`) **removes** the override for
        that date, reverting it back to the regular weekly schedule.

        - This allows fine-grained control: you can block specific dates, set
        custom hours, or remove previously set overrides.
      operationId: patch-schedules-uuid
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - email
              properties:
                email:
                  type: string
                  format: email
                  description: Email address of the user who owns the schedule.
                timezone:
                  type: string
                  nullable: true
                  description: >-
                    IANA timezone identifier. Set to null to keep the current
                    timezone.
                  example: Europe/Berlin
                weeklyHours:
                  type: array
                  items:
                    type: object
                    properties:
                      day:
                        type: string
                        enum:
                          - Mon
                          - Tue
                          - Wed
                          - Thu
                          - Fri
                          - Sat
                          - Sun
                        description: The day of the week (e.g., "Mon").
                      timesets:
                        type: array
                        description: >-
                          Time intervals for the day in HH:mm format as [start,
                          end] tuples.
                        items:
                          type: array
                          minItems: 2
                          maxItems: 2
                          items:
                            type: string
                            pattern: ^\d{2}:\d{2}$
                  description: Weekly availability hours.
                specialHours:
                  type: array
                  items:
                    type: object
                    properties:
                      date:
                        type: string
                        format: date
                        description: The specific date (YYYY-MM-DD).
                        example: '2026-06-15'
                      timesets:
                        type: array
                        nullable: true
                        description: >-
                          Overrides for that date. 

                          - `[]` → date becomes **unavailable**

                          - `null` → delete override and reset back to weekday
                          availability
                        items:
                          type: array
                          minItems: 2
                          maxItems: 2
                          items:
                            type: string
                            pattern: ^\d{2}:\d{2}$
                  description: Date-specific availability overrides.
            examples:
              Update evening schedule:
                value:
                  email: lena.meier@horizondigital.de
                  timezone: Europe/Berlin
                  weeklyHours:
                    - day: Mon
                      timesets:
                        - - '18:00'
                          - '21:00'
                    - day: Tue
                      timesets:
                        - - '18:00'
                          - '21:00'
                    - day: Wed
                      timesets: []
                    - day: Thu
                      timesets:
                        - - '18:00'
                          - '21:00'
                    - day: Fri
                      timesets: []
                    - day: Sat
                      timesets: []
                    - day: Sun
                      timesets: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  status:
                    type: integer
                  resource:
                    type: object
                    properties:
                      uri:
                        type: string
                        format: uri
                        description: API resource URI for this schedule
                      uuid:
                        type: string
                        format: uuid
                      email:
                        type: string
                        format: email
                        description: Email address of the schedule owner
                      title:
                        type: string
                        description: Display name of the schedule
                      isDefault:
                        type: boolean
                        description: Whether this is the default schedule
                      timezone:
                        type: string
                        description: IANA timezone identifier
                      weeklyHours:
                        type: array
                        items:
                          type: object
                          properties:
                            day:
                              type: string
                              description: Day of the week (3-letter).
                            timesets:
                              type: array
                              items:
                                type: array
                                minItems: 2
                                maxItems: 2
                                items:
                                  type: string
                                  pattern: ^\d{2}:\d{2}$
                      specialHours:
                        type: array
                        nullable: true
                        items:
                          type: object
                          properties:
                            date:
                              type: string
                              format: date
                            timesets:
                              type: array
                              nullable: true
                              items:
                                type: array
                                minItems: 2
                                maxItems: 2
                                items:
                                  type: string
                                  pattern: ^\d{2}:\d{2}$
                      currentTime:
                        type: string
                        description: Current server time
                      createdAt:
                        type: string
                        format: date-time
                        description: Timestamp of creation
                      updatedAt:
                        type: string
                        format: date-time
                        description: Timestamp of last update
                required:
                  - success
                  - status
                  - resource
              examples:
                Schedule updated:
                  value:
                    success: true
                    status: 200
                    resource:
                      uri: https://api.zeeg.me/v2/schedules/otrBCIib7j
                      uuid: otrBCIib7j
                      email: lena.meier@horizondigital.de
                      title: Evening Consultations
                      isDefault: false
                      timezone: Europe/Berlin
                      weeklyHours:
                        - day: Mon
                          timesets:
                            - - '18:00'
                              - '21:00'
                        - day: Tue
                          timesets:
                            - - '18:00'
                              - '21:00'
                        - day: Wed
                          timesets: []
                        - day: Thu
                          timesets:
                            - - '18:00'
                              - '21:00'
                        - day: Fri
                          timesets: []
                        - day: Sat
                          timesets: []
                        - day: Sun
                          timesets: []
                      specialHours: null
                      currentTime: '2026-04-10T08:30:00+02:00'
                      createdAt: '2026-04-02T12:00:00.000000Z'
                      updatedAt: '2026-04-10T08:30:00.000000Z'
        '401':
          $ref: '#/components/responses/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  status:
                    type: integer
              examples:
                Forbidden:
                  value:
                    success: false
                    message: You cannot access this resource.
                    status: 403
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              examples:
                Schedule not found:
                  value:
                    error: Schedule not found
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: object
                    properties:
                      timezone:
                        type: array
                        items:
                          type: string
              examples:
                Invalid timezone:
                  value:
                    message: The timezone must be a valid timezone.
                    errors:
                      timezone:
                        - The timezone must be a valid timezone.
      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: ''

````