> ## 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 calendar events

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

A **calendar event** represents a non-appointment block on a clinic's calendar (e.g., a staff meeting, lunch break, out-of-office, or clinic closure). Calendar events can be one-off or recurring, and may block appointment scheduling depending on configuration.

Events are scoped to specific calendar resources (providers) or can apply to all resources on a calendar. If an event is an exception to a recurring series, it references the parent recurring event.



## OpenAPI

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


        A **calendar event** represents a non-appointment block on a clinic's
        calendar (e.g., a staff meeting, lunch break, out-of-office, or clinic
        closure). Calendar events can be one-off or recurring, and may block
        appointment scheduling depending on configuration.


        Events are scoped to specific calendar resources (providers) or can
        apply to all resources on a calendar. If an event is an exception to a
        recurring series, it references the parent recurring event.
      operationId: calendar_events_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: >-
            A cursor token used for pagination. This token contains encoded
            information about the last seen record in order to continue
            pagination. Cannot be used with `starting_after` or `ending_before`
            parameters.
          in: query
          name: cursor
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              A cursor token used for pagination. This token contains encoded
              information about the last seen record in order to continue
              pagination. Cannot be used with `starting_after` or
              `ending_before` parameters.
            title: Cursor
        - description: >-
            Filters to objects modified on or after this datetime (ISO8601 UTC,
            e.g. 2025-08-25T10:30:00Z). Cannot be used with `starting_after` or
            `ending_before` parameters.
          in: query
          name: modified__gte
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - type: 'null'
            description: >-
              Filters to objects modified on or after this datetime (ISO8601
              UTC, e.g. 2025-08-25T10:30:00Z). Cannot be used with
              `starting_after` or `ending_before` parameters.
            title: Modified  Gte
        - description: >-
            Filters to objects modified on or before this datetime (ISO8601 UTC,
            e.g. 2025-08-25T10:30:00Z). Cannot be used with `starting_after` or
            `ending_before` parameters.
          in: query
          name: modified__lte
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - type: 'null'
            description: >-
              Filters to objects modified on or before this datetime (ISO8601
              UTC, e.g. 2025-08-25T10:30:00Z). Cannot be used with
              `starting_after` or `ending_before` parameters.
            title: Modified  Lte
        - description: >-
            When 'FALSE' (default), filters to non-deleted records only. When
            'TRUE', filters to soft-deleted records only. When 'ALL', returns
            both deleted and non-deleted records.
          in: query
          name: is_deleted
          required: false
          schema:
            allOf:
              - enum:
                  - 'FALSE'
                  - 'TRUE'
                  - ALL
                title: DeletedFilterOption
                type: string
            default: 'FALSE'
            description: >-
              When 'FALSE' (default), filters to non-deleted records only. When
              'TRUE', filters to soft-deleted records only. When 'ALL', returns
              both deleted and non-deleted records.
        - description: Filter to calendar events belonging to the clinic with this ID.
          in: query
          name: clinic_id
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: Filter to calendar events belonging to the clinic with this ID.
            title: Clinic Id
        - description: >-
            Filter to calendar events assigned to the calendar resource with
            this ID.
          in: query
          name: calendar_resource_id
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              Filter to calendar events assigned to the calendar resource with
              this ID.
            title: Calendar Resource Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalCalendarEventSchemaList'
          description: OK
      security:
        - ExternalAPIAuth: []
components:
  schemas:
    ExternalCalendarEventSchemaList:
      properties:
        data:
          description: A single page of data contained within this list.
          items:
            $ref: '#/components/schemas/ExternalCalendarEventSchema'
          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: ExternalCalendarEventSchemaList
      type: object
    ExternalCalendarEventSchema:
      properties:
        calendar_resource_ids:
          description: The IDs of the calendar resources this event is assigned to.
          items:
            type: integer
          title: Calendar Resource Ids
          type: array
        clinic_id:
          description: The ID of the clinic this calendar event belongs to.
          title: Clinic Id
          type: integer
        created:
          description: The datetime this object was created.
          format: date-time
          title: Created
          type: string
        deleted:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The datetime this record was soft deleted.
          title: Deleted
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: Plain-text description of the event.
          title: Description
        duration_minutes:
          description: >-
            Duration of the event in minutes, computed from start and end
            datetimes.
          title: Duration Minutes
          type: integer
        end_datetime:
          description: ISO 8601 formatted end datetime of the event in UTC.
          format: date-time
          title: End Datetime
          type: string
        id:
          description: The unique identifier for this calendar event.
          title: Id
          type: integer
        is_applicable_to_all_resources:
          description: Whether this event applies to all resources on the calendar.
          title: Is Applicable To All Resources
          type: boolean
        is_deleted:
          description: Whether this record is soft deleted or not.
          title: Is Deleted
          type: boolean
        is_recurring:
          description: Whether this record follows a recurrence pattern.
          title: Is Recurring
          type: boolean
        kind_id:
          description: The ID of the calendar event kind.
          title: Kind Id
          type: integer
        kind_slug:
          description: The slug identifier of the calendar event kind.
          title: Kind Slug
          type: string
        modified:
          description: >-
            The datetime this object was last modified; changes to related
            entities will not update this field.
          format: date-time
          title: Modified
          type: string
        recurrence:
          anyOf:
            - $ref: '#/components/schemas/RecurrenceBreakdownSchema'
            - type: 'null'
          description: Structured recurrence pattern, if recurring.
        recurrence_excluded_datetimes:
          description: Specific datetimes excluded from the recurrence pattern.
          items:
            format: date-time
            type: string
          title: Recurrence Excluded Datetimes
          type: array
        recurring_event_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            If this event is an exception to a recurring series, the ID of the
            parent recurring event.
          title: Recurring Event Id
        rrule:
          anyOf:
            - type: string
            - type: 'null'
          description: Raw RFC 2445 RRule string, if recurring.
          title: Rrule
        should_block_appointments:
          description: >-
            Whether this event prevents appointments from being scheduled during
            its time window.
          title: Should Block Appointments
          type: boolean
        start_datetime:
          description: ISO 8601 formatted start datetime of the event in UTC.
          format: date-time
          title: Start Datetime
          type: string
      required:
        - created
        - modified
        - is_deleted
        - deleted
        - is_recurring
        - id
        - clinic_id
        - is_applicable_to_all_resources
        - kind_id
        - kind_slug
        - description
        - should_block_appointments
        - start_datetime
        - end_datetime
        - duration_minutes
      title: ExternalCalendarEventSchema
      type: object
    RecurrenceBreakdownSchema:
      description: Structured representation of an RFC 2445 recurrence rule.
      properties:
        days_of_week:
          description: >-
            Two-letter day codes. Applicable for WEEKLY and some MONTHLY
            patterns.
          items:
            enum:
              - MO
              - TU
              - WE
              - TH
              - FR
              - SA
              - SU
            type: string
          title: Days Of Week
          type: array
        end_after_occurrences:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Total number of occurrences before the recurrence ends, if bounded
            by count.
          title: End After Occurrences
        end_date:
          anyOf:
            - format: date
              type: string
            - type: 'null'
          description: >-
            ISO 8601 date (YYYY-MM-DD) when the recurrence ends, if bounded by
            date.
          title: End Date
        frequency:
          description: The base recurring frequency.
          enum:
            - YEARLY
            - MONTHLY
            - WEEKLY
            - DAILY
            - HOURLY
            - MINUTELY
            - SECONDLY
          title: Frequency
          type: string
        interval:
          description: >-
            The interval between each frequency iteration (e.g., 2 means every 2
            weeks for WEEKLY).
          title: Interval
          type: integer
      required:
        - frequency
        - interval
      title: RecurrenceBreakdownSchema
      type: object
  securitySchemes:
    ExternalAPIAuth:
      scheme: bearer
      type: http

````