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

# List all calendars

> Returns a list of all calendars across all clinics in the organization. The calendars are sorted by creation date, with the most recent calendars appearing first.

A **calendar** represents a scheduling calendar for a specific clinic. Each clinic typically has one calendar that contains all of its appointments, resources (veterinarians/staff), and rooms.



## OpenAPI

````yaml get /ext/v2/calendars/
openapi: 3.1.0
info:
  description: ''
  title: NinjaAPI
  version: 2.0.0
servers:
  - url: https://connect.vetcove.com/
security: []
paths:
  /ext/v2/calendars/:
    get:
      tags:
        - Scheduler
      summary: List all calendars
      description: >-
        Returns a list of all calendars across all clinics in the organization.
        The calendars are sorted by creation date, with the most recent
        calendars appearing first.


        A **calendar** represents a scheduling calendar for a specific clinic.
        Each clinic typically has one calendar that contains all of its
        appointments, resources (veterinarians/staff), and rooms.
      operationId: calendars_list
      parameters:
        - description: When provided, filters to objects with these IDs.
          in: query
          name: ids
          required: false
          schema:
            anyOf:
              - items:
                  type: integer
                type: array
              - type: 'null'
            description: When provided, filters to objects with these IDs.
            title: Ids
        - description: >-
            A cursor used for pagination. Fetches the page of results ending
            immediately before the object with the given ID. Cannot be used at
            the same time as `starting_after`.
          in: query
          name: ending_before
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              A cursor used for pagination. Fetches the page of results ending
              immediately before the object with the given ID. Cannot be used at
              the same time as `starting_after`.
            title: Ending Before
        - description: >-
            A cursor used for pagination. Fetches the page of results starting
            immediately after the given ID. Cannot be used at the same time as
            `ending_before`.
          in: query
          name: starting_after
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              A cursor used for pagination. Fetches the page of results starting
              immediately after the given ID. Cannot be used at the same time as
              `ending_before`.
            title: Starting After
        - description: The maximum number of items to return per page.
          in: query
          name: limit
          required: false
          schema:
            default: 10
            description: The maximum number of items to return per page.
            maximum: 100
            minimum: 1
            title: Limit
            type: integer
        - description: When provided, filters to calendars for this clinic.
          in: query
          name: clinic_id
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: When provided, filters to calendars for this clinic.
            title: Clinic Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarList'
          description: OK
      security:
        - ExternalAPIAuth: []
components:
  schemas:
    CalendarList:
      properties:
        data:
          description: A single page of data contained within this list.
          items:
            $ref: '#/components/schemas/ExternalCalendarSchema'
          title: Data
          type: array
        has_more:
          default: false
          description: Whether there are more pages or data in this list.
          title: Has More
          type: boolean
        next_page:
          description: A URL linking to the next page of this list.
          title: Next Page
          type: string
        type:
          default: list
          description: Type of this object. Always `list`.
          title: Type
          type: string
      required:
        - data
        - next_page
      title: CalendarList
      type: object
    ExternalCalendarSchema:
      description: >-
        Calendar showing appointments and other event types with distinct
        configurations, can have multiple for each Clinic (eg. a 'medical'
        calendar and a 'boarding' calendar)
      properties:
        allowed_appointment_kinds:
          description: List of appointment kind IDs that can be booked on this calendar.
          items:
            type: integer
          title: Allowed Appointment Kinds
          type: array
        block_increment_minutes:
          $ref: '#/components/schemas/MinuteIncrements'
          description: >-
            The granularity at which blocks should be scheduled in this
            calendar.
        clinic_id:
          description: The ID of the clinic this calendar belongs to.
          title: Clinic Id
          type: integer
        default_duration_minutes:
          $ref: '#/components/schemas/MinuteIncrements'
          description: >-
            The default time a generic appointment on this calendar should be
            booked for.
        id:
          description: The unique identifier for the calendar.
          title: Id
          type: integer
        is_client_booking_enabled:
          description: Whether client booking is enabled for this calendar.
          title: Is Client Booking Enabled
          type: boolean
        name:
          description: Display name for the calendar.
          title: Name
          type: string
        non_exotic_species:
          description: List of species that the clinic defines as not exotic.
          items:
            type: string
          title: Non Exotic Species
          type: array
      required:
        - id
        - clinic_id
        - name
        - block_increment_minutes
        - default_duration_minutes
        - is_client_booking_enabled
        - non_exotic_species
        - allowed_appointment_kinds
      title: Calendar
      type: object
    MinuteIncrements:
      enum:
        - 10
        - 15
        - 20
        - 30
        - 40
        - 45
        - 50
        - 60
      title: MinuteIncrements
      type: integer
  securitySchemes:
    ExternalAPIAuth:
      scheme: bearer
      type: http

````