Facebook Pixel
Fit'DistanceDocumentation
Open the app

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

NameTypeDescription
limitqueryinteger1–200, default 50
cursorquerystringOpaque cursor: next_cursor of the previous page.
sincequerydate-timeISO 8601. Returns the objects with updated_at >= since.
include_deletedquerybooleandefault false
student_idqueryinteger≥ 1
statusquerystringone of pending, confirmed, cancelled, completedOnly 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

NameTypeDescription
id requiredstring
coach_id requiredinteger
title requiredstring | nullNull when deleted.
description requiredstring | nullNull when deleted.
event_type requiredstringone of appointment, meeting, reminder, task, absence, other
status requiredstringone of pending, confirmed, cancelled, completed
start_at requireddate-time
end_at requireddate-time
duration_minutes requiredinteger | null
is_all_day requiredboolean
color requiredstring | null
prestation_name requiredstring | nullThe name of the prestation booked, even a deleted one.
cancelled_at requireddate-time | null
cancellation_reason requiredstring | nullNull when deleted.
participants requiredAppointmentParticipant[]Guests and visible students, removed registrations excluded. Empty when deleted.
created_at requireddate-time
updated_at requireddate-timeThe latest change of the appointment or its participants, a cancellation or a deletion included. Also moves when its prestation changes (its name).
deleted_atdate-time | nullPresent when include_deleted is true.

Errors

StatusCodeWhen
400VALIDATIONInvalid parameters or body.billed
401UNAUTHORIZEDKey missing, unknown or revoked.not billed
402CREDITS_EXHAUSTEDNo credits left this month and no reserve.not billed
403SCOPE_MISSINGThe key doesn't have the required scope.not billed
403PLAN_NOT_ELIGIBLEYour plan doesn't include the API.not billed
429RATE_LIMITEDToo many calls: 10 per second, 300 per minute, 60 writes and 20 deletes per minute.not billed