> ## 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 Holiday Categories

> List the holiday categories (countries and regions) available for subscription, with localized names and identifiers.



## OpenAPI

````yaml GET /holidays/categories
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:
  /holidays/categories:
    get:
      tags:
        - Availability Schedule
      summary: List holiday categories
      description: >-
        Returns the catalogue of supported holiday categories — countries with
        their regions — that a user can subscribe to.


        Each entry is a country identified by an ISO-style `key` (e.g. `DE`,
        `FR`), with a `regions` array of its sub-divisions. A country with no
        sub-divisions returns an empty `regions` array.


        Use `search` to filter countries by name. To subscribe to a whole
        country, post `categoryType: country` with the country `key`.
      operationId: get-holidays-categories
      parameters:
        - schema:
            type: string
            maxLength: 100
            example: germany
          in: query
          name: search
          description: Optional case-insensitive substring filter on country name.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - collection
                properties:
                  collection:
                    type: array
                    description: Supported countries with their regions.
                    items:
                      type: object
                      required:
                        - key
                        - name
                        - regions
                      properties:
                        key:
                          type: string
                          description: Country key (typically ISO 3166-1 alpha-2).
                        name:
                          type: string
                        regions:
                          type: array
                          items:
                            type: object
                            required:
                              - key
                              - name
                            properties:
                              key:
                                type: string
                                description: >-
                                  Region key, namespaced under the country (e.g.
                                  `DE-BY`).
                              name:
                                type: string
              examples:
                Germany with regions:
                  value:
                    collection:
                      - key: DE
                        name: Germany
                        regions:
                          - key: DE-BY
                            name: Bavaria
                          - key: DE-BE
                            name: Berlin
                      - key: FR
                        name: France
                        regions: []
        '401':
          $ref: '#/components/responses/401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: object
              examples:
                Search too long:
                  value:
                    message: The search field must not be greater than 100 characters.
                    errors:
                      search:
                        - >-
                          The search field must not be greater than 100
                          characters.
      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: ''

````