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

# Get calendar preferences

> Get a scheduling link's calendar settings for one calendar integration. The response also lists the host's calendars in `available_calendars`, so you can pick calendar IDs for the [Update calendar preferences](/api/calendar-preferences/update) endpoint.


<Info>Replace `{your-subdomain}` with your workspace’s subdomain. <br /> Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).</Info>


## OpenAPI

````yaml bundled/calendar-preferences.yaml GET /meetings/{meeting_sid}/calendar-preferences/{integration}
openapi: 3.0.3
info:
  title: NeetoCal Calendar Preferences APIs
  version: 2.0.0
servers:
  - description: NeetoCal APIs
    url: https://{your-subdomain}.neetocal.com/api/external/v2
    variables:
      your-subdomain:
        default: spinkart
        description: >-
          Replace **spinkart** with your [workspace's
          subdomain](/api/workspace-subdomain).
security: []
tags:
  - name: Calendar Preferences
    description: >
      APIs to manage a scheduling link's calendar settings for each calendar
      integration: which calendars booking events are added to, which calendars
      are checked for conflicts, and how the calendar event looks.
paths:
  /meetings/{meeting_sid}/calendar-preferences/{integration}:
    get:
      tags:
        - Calendar Preferences
      summary: Get calendar preferences
      description: >
        Get a scheduling link's calendar settings for one calendar integration.
        The response also lists the host's calendars in `available_calendars`,
        so you can pick calendar IDs for the [Update calendar
        preferences](/api/calendar-preferences/update) endpoint.
      parameters:
        - $ref: '#/components/parameters/api_key_header'
        - $ref: '#/components/parameters/meeting_sid_param'
        - $ref: '#/components/parameters/integration'
      responses:
        '200':
          description: OK - Request succeeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/calendar_preference_response'
        '404':
          $ref: '#/components/responses/meeting_not_found'
        '422':
          $ref: '#/components/responses/unprocessable_entity'
components:
  parameters:
    api_key_header:
      in: header
      name: X-Api-Key
      description: >-
        Use the X-Api-Key header to provide your workspace API key. Refer to
        [Authentication](/api/authentication) for more information.
      required: true
      schema:
        type: string
    meeting_sid_param:
      in: path
      name: meeting_sid
      description: >
        The unique identifier (SID) of the scheduling link you want to use. You
        can get `sid` in different ways. Visit the scheduling link page and then
        click on "Settings" > "Show SID". That will give you `sid`. You can also
        get this from the response of the [List scheduling
        links](/api/scheduling-links/list) endpoint, where it appears as the
        `sid` property for each scheduling link in the response.
      required: true
      schema:
        type: string
        example: vj5pgkh
    integration:
      in: path
      name: integration
      description: The calendar integration whose settings you want to use.
      required: true
      schema:
        type: string
        enum:
          - google_calendar
          - outlook
          - icloud
        example: google_calendar
  schemas:
    calendar_preference_response:
      type: object
      properties:
        calendar_preference:
          $ref: '#/components/schemas/calendar_preference'
    calendar_preference:
      type: object
      properties:
        integration:
          type: string
          enum:
            - google_calendar
            - outlook
            - icloud
          description: The calendar integration these settings apply to.
          example: google_calendar
        override_calendars:
          type: boolean
          description: >
            Whether bookings of this scheduling link are added to
            `event_add_calendars` instead of the calendars the host picked in
            their own calendar integration settings.
        event_add_calendars:
          type: array
          description: >-
            The calendars booking events are added to when `override_calendars`
            is `true`, in order.
          items:
            $ref: '#/components/schemas/calendar'
        override_conflict_check_calendars:
          type: boolean
          description: >
            Whether this scheduling link checks `conflict_check_calendars` for
            conflicts instead of the calendars the host checks in their own
            calendar integration settings.
        conflict_check_calendars:
          type: array
          description: >-
            The calendars checked for conflicts when
            `override_conflict_check_calendars` is `true`.
          items:
            $ref: '#/components/schemas/calendar'
        busy_statuses:
          type: array
          nullable: true
          description: >
            Outlook only. The Outlook event statuses that block a slot. `null`
            for the other integrations.
          items:
            type: string
            enum:
              - tentative
              - busy
              - oof
              - workingElsewhere
          example: null
        override_event_layout:
          type: boolean
          description: >
            Whether this scheduling link uses its own event title and
            description instead of the host's. Always `true` for group
            scheduling links.
        summary_type:
          type: string
          enum:
            - host_and_client
            - client_and_host
            - meeting_name
            - custom
          description: >-
            How the calendar event title is built. `custom` uses
            `custom_summary`.
          example: client_and_host
        custom_summary:
          type: string
          nullable: true
          description: The event title used when `summary_type` is `custom`.
          example: null
        body:
          type: string
          nullable: true
          description: The event description (HTML). `null` uses the default description.
          example: null
        event_color:
          type: string
          nullable: true
          description: >-
            Google Calendar only. The event color as a hex code. `null` uses the
            default color.
          example: null
        available_calendars:
          type: array
          description: >
            The host's calendars for this integration that can be used in
            `event_add_calendar_ids` and `conflict_check_calendar_ids`. Empty
            for scheduling links that are not one-on-one, and when the host has
            not connected an account for this integration.
          items:
            $ref: '#/components/schemas/calendar'
    calendar:
      type: object
      properties:
        id:
          type: string
          description: >-
            Unique identifier of the calendar. Use it in
            `event_add_calendar_ids` and `conflict_check_calendar_ids`.
          example: 70232544-0b90-4ddd-801d-b9f53c3fff3c
        name:
          type: string
          description: Name of the calendar.
          example: Work
        is_primary:
          type: boolean
          description: Whether this is the primary calendar of the connected account.
        is_editable:
          type: boolean
          description: >
            Whether events can be added to this calendar. Read-only calendars
            can be checked for conflicts, but cannot be used in
            `event_add_calendar_ids`.
  responses:
    meeting_not_found:
      description: Not Found - The scheduling link does not exist
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: Meeting does not exist.
    unprocessable_entity:
      description: Unprocessable Entity - The request is invalid
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
          examples:
            unknown_integration:
              summary: Unknown calendar integration
              value:
                error: >-
                  Unknown calendar integration zoho. Use one of:
                  google_calendar, outlook, icloud
            not_one_on_one:
              summary: Calendar override on a scheduling link that is not one-on-one
              value:
                error: Calendar overrides are only supported on one-on-one meetings
            unknown_calendars:
              summary: Calendar that is not one of the host's calendars
              value:
                error: >-
                  These calendars are not connected to the meeting host's
                  google_calendar account: 4c3c9435-327f-47de-920c-2226b1e47c21
            read_only_calendars:
              summary: Read-only calendar used to add events
              value:
                error: 'Events cannot be added to read-only calendars: Holidays'
            not_an_array:
              summary: Calendar IDs sent as a string
              value:
                error: The event_add_calendar_ids parameter needs to be an array
            invalid_value:
              summary: Unsupported summary type, event color or busy status
              value:
                error: Summary type is not included in the list
            custom_summary_missing:
              summary: >-
                Custom summary type without a title on a scheduling link that is
                not a group
              value:
                error: Custom summary can't be blank

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.