Appointments
1 route
GET /appointments
Appointments of the coach with their participants. A guest appears without any identity. The coach's private notes are never served. A Google Calendar sync may move updated_at.
- Scope appointments:read
- 1 credit
- Read
- Stable
Parameters
| Name | Type | Description |
|---|---|---|
limitquery | integer1–200, default 50 | |
cursorquery | string | Opaque cursor: next_cursor of the previous page. |
sincequery | date-time | ISO 8601. Returns the objects with updated_at >= since. |
include_deletedquery | booleandefault false | |
student_idquery | integer≥ 1 | |
statusquery | stringone of pending, confirmed, cancelled, completed | Only this status, for example cancelled. |
curl "https://api.fitdistance.io/api/partner/v1/appointments?limit=50" \
-H "Authorization: Bearer fd_live_xxxxxxxx"200 · a page of Appointment
{
"data": [
{
"id": "7c1d1e2a-9b3f-4c5d-8e6f-1a2b3c4d5e6f",
"coach_id": 4821,
"title": "string",
"description": "string",
"event_type": "appointment",
"status": "pending",
"start_at": "2026-10-24T09:12:00Z",
"end_at": "2026-10-24T09:12:00Z",
"duration_minutes": 45,
"is_all_day": true,
"color": "string",
"prestation_name": "string",
"cancelled_at": "2026-10-24T09:12:00Z",
"cancellation_reason": "string",
"participants": [
{
"student_id": 4821,
"is_guest": true,
"participation_status": "pending",
"booking_source": "app",
"registered_at": "2026-10-24T09:12:00Z",
"cancelled_at": "2026-10-24T09:12:00Z"
}
],
"created_at": "2026-10-24T09:12:00Z",
"updated_at": "2026-10-24T09:12:00Z"
}
],
"next_cursor": null,
"has_more": false
}403 · SCOPE_MISSING
{
"error": {
"name": "PARTNER_API",
"message": "SCOPE_MISSING"
}
}200 · a page of Appointment
| Name | Type | Description |
|---|---|---|
id required | string | |
coach_id required | integer | |
title required | string | null | Null when deleted. |
description required | string | null | Null when deleted. |
event_type required | stringone of appointment, meeting, reminder, task, absence, other | |
status required | stringone of pending, confirmed, cancelled, completed | |
start_at required | date-time | |
end_at required | date-time | |
duration_minutes required | integer | null | |
is_all_day required | boolean | |
color required | string | null | |
prestation_name required | string | null | The name of the prestation booked, even a deleted one. |
cancelled_at required | date-time | null | |
cancellation_reason required | string | null | Null when deleted. |
participants required | AppointmentParticipant[] | Guests and visible students, removed registrations excluded. Empty when deleted. |
created_at required | date-time | |
updated_at required | date-time | The latest change of the appointment or its participants, a cancellation or a deletion included. Also moves when its prestation changes (its name). |
deleted_at | date-time | null | Present when include_deleted is true. |
Errors
| Status | Code | When |
|---|---|---|
400 | VALIDATION | Invalid parameters or body.billed |
401 | UNAUTHORIZED | Key missing, unknown or revoked.not billed |
402 | CREDITS_EXHAUSTED | No credits left this month and no reserve.not billed |
403 | SCOPE_MISSING | The key doesn't have the required scope.not billed |
403 | PLAN_NOT_ELIGIBLE | Your plan doesn't include the API.not billed |
429 | RATE_LIMITED | Too many calls: 10 per second, 300 per minute, 60 writes and 20 deletes per minute.not billed |