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

# List availabilities of team members

> List availabilities for one or more team members.


<Warning>This endpoint is part of API v1, which is deprecated. Please use the [v2 API](/getting-started/introduction) instead.</Warning>

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

<Tip>
  **Pro tip:** In the API playground above, you can easily add multiple email
  addresses by clicking the **"+"** button next to the `emails[]` parameter. The
  playground will automatically generate the correct query string format for
  you.
</Tip>

## Example Usage

<CodeGroup>
  ```bash cURL theme={"system"}
  curl -X GET "https://your-subdomain.neetocal.com/api/external/v1/availabilities?emails[]=oliver@example.com&emails[]=cypress@example.com&emails[]=john@example.com" \
    -H 'X-Api-Key: YOUR_API_KEY'
  ```

  ```javascript JavaScript theme={"system"}
  const emails = [
    "oliver@example.com",
    "cypress@example.com",
    "john@example.com",
  ];
  const params = new URLSearchParams();
  emails.forEach((email) => params.append("emails[]", email));

  const response = await fetch(
    `https://your-subdomain.neetocal.com/api/external/v1/availabilities?${params}`,
    {
      headers: {
        "X-Api-Key": "YOUR_API_KEY",
      },
    }
  );
  ```

  ```python Python theme={"system"}
  import requests

  emails = ['oliver@example.com', 'cypress@example.com', 'john@example.com']
  params = [('emails[]', email) for email in emails]

  response = requests.get(
      'https://your-subdomain.neetocal.com/api/external/v1/availabilities',
      params=params,
      headers={'X-Api-Key': 'YOUR_API_KEY'}
  )
  ```
</CodeGroup>


## OpenAPI

````yaml bundled-v1/availabilities.yaml GET /availabilities
openapi: 3.0.3
info:
  title: NeetoCal Availabilities APIs
  version: 1.0.0
servers:
  - description: NeetoCal APIs
    url: https://{your-subdomain}.neetocal.com/api/external/v1
    variables:
      your-subdomain:
        default: spinkart
        description: >-
          Replace **spinkart** with your [workspace's
          subdomain](/getting-started/workspace-subdomain).
security: []
tags:
  - name: Availabilities
    description: APIs to manage availabilities of meeting hosts.
paths:
  /availabilities:
    get:
      tags:
        - Availabilities
      summary: List availabilities of the team members
      description: |
        List availabilities for one or more team members.
      parameters:
        - $ref: '#/components/parameters/api_key_header'
        - in: query
          name: emails[]
          description: >
            Email addresses of team members whose availabilities should be
            listed. You can add multiple email addresses to get availabilities
            for multiple team members. The API playground allows you to easily
            add multiple emails by clicking the "+" button.
          required: true
          schema:
            type: array
            items:
              type: string
              format: email
            example:
              - oliver@example.com
              - cypress@example.com
              - john@example.com
          style: form
          explode: true
        - $ref: '#/components/parameters/page_number_param'
        - $ref: '#/components/parameters/page_size_param'
      responses:
        '200':
          description: OK - Request succeeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/availability_list_response'
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](/getting-started/authentication) for more information.
      required: true
      schema:
        type: string
    page_number_param:
      in: query
      name: page_number
      description: >-
        Retrieve paginated results by specifying the desired page number. If
        this parameter is absent, all results will be returned.
      required: false
      schema:
        type: integer
    page_size_param:
      in: query
      name: page_size
      description: >-
        Set the number of results returned in the response. Defaulting to 30
        when omitted.
      required: false
      schema:
        type: integer
  schemas:
    availability_list_response:
      type: object
      properties:
        availabilities:
          type: array
          items:
            $ref: '#/components/schemas/availability'
          description: >-
            Array of availability configurations for the requested team members.
            Each availability contains the schedule and associated user
            information.
        pagination:
          $ref: '#/components/schemas/pagination'
          description: >-
            Pagination information including total records, pages, and current
            page details.
    availability:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the availability configuration.
          example: 01ea5ddf-ed00-4bed-bfa3-ba8ea80a856a
        sid:
          type: string
          description: >-
            Short identifier (SID) for the availability, used in URLs and API
            calls for easy reference.
          example: 2nq7q5c
        name:
          type: string
          description: >-
            Human-readable name for the availability configuration (e.g.,
            "Working hours", "Custom schedule").
          example: Availability for custom user
        default:
          type: boolean
          description: >-
            Indicates whether this is the default availability configuration for
            the team member. Only one availability can be set as default per
            user.
          example: false
        periods:
          type: array
          items:
            $ref: '#/components/schemas/availability_period'
          description: >-
            List of time periods defining when the team member is available for
            meetings throughout the week.
        overrides:
          type: array
          items:
            $ref: '#/components/schemas/availability_override'
          description: >-
            List of date-specific availability overrides (e.g., holidays,
            vacation days, or special working hours for specific dates).
        user:
          $ref: '#/components/schemas/availability_user'
          description: >-
            Information about the team member this availability configuration
            belongs to.
    pagination:
      type: object
      properties:
        total_records:
          type: integer
          description: Total number of records.
        total_pages:
          type: integer
          description: Total number of pages available.
        current_page_number:
          type: integer
          description: Current page number.
        page_size:
          type: integer
          description: Number of records per page.
    availability_period:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for this specific availability period.
          example: 21c812a7-3859-4f01-b214-850e6f11caad
        wday:
          type: string
          description: >-
            Day of the week for this availability period. Valid values are
            "monday", "tuesday", "wednesday", "thursday", "friday", "saturday",
            "sunday".
          example: monday
          enum:
            - monday
            - tuesday
            - wednesday
            - thursday
            - friday
            - saturday
            - sunday
        start_time:
          type: string
          description: >-
            Start time of the availability period in 12-hour format with AM/PM
            designation.
          example: 09:00 AM
        end_time:
          type: string
          description: >-
            End time of the availability period in 12-hour format with AM/PM
            designation.
          example: 05:00 PM
    availability_override:
      type: object
      properties:
        date:
          type: string
          format: date
          description: >-
            The specific date for this availability override in YYYY-MM-DD
            format.
          example: '2025-03-07'
        periods:
          type: array
          description: >-
            Time periods for this specific date. Set as empty array ([]) to mark
            the date as unavailable. If periods are provided, they override the
            regular weekly schedule for this date.
          items:
            type: object
            properties:
              start_time:
                type: string
                description: >-
                  Start time for the override period in 12-hour format with
                  AM/PM designation.
                example: 10:00 AM
              end_time:
                type: string
                description: >-
                  End time for the override period in 12-hour format with AM/PM
                  designation.
                example: 03:00 PM
    availability_user:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the user/team member.
          example: b6d02dfa-8ef6-453d-b9f7-67a6f20bcaa6
        name:
          type: string
          description: Full name of the team member.
          example: Oliver Smith
        email:
          type: string
          format: email
          description: Email address of the team member.
          example: oliver@example.com

````