---
title: "Fetch coach's Calendly availability"
method: GET
path: "/api/participant/coaches/{coachId}/availability"
tags: ["Participant Portal"]
---

# Fetch coach's Calendly availability

`GET /api/participant/coaches/{coachId}/availability`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/api/participant/coaches/{coachId}/availability`
- Auth: HTTP bearer

Returns available time slots for a coach's 1:1 event type from Calendly. If the coach is not connected to Calendly or hasn't configured a 1:1 event type, returns empty slots with connection status flags. Calendly returns max 7-day windows — paginate by shifting start/end times.

## Path parameters

- `coachId` string, uuid, required

## Query parameters

- `start_time` string, date-time, required
- `end_time` string, date-time, required

## Response `200`

Availability data

- object
  - `success` boolean
  - `data` object
    - `connected` boolean: Whether coach has Calendly connected
    - `event_type_configured` boolean: Whether coach has a 1:1 event type mapped
    - `slots` object[]
      - `status` string
      - `start_time` string, date-time
      - `end_time` string, date-time

## Other responses

- `400`: Missing required parameters
- `401`: Unauthorized
- `500`: Internal server error

---

[API](https://skmtc.dev/withmedley/apis/medley-api.md) - [All operations](https://skmtc.dev/withmedley/apis/medley-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withmedley/apis/medley-api/revisions/40aaac5ca6bd?raw)
