Skip to main content
GET
/
appointments
/
get
/
{id}
curl -X GET "https://app.medisync.me/api/appointments/get/65f8a1b2c3d4e5f6789012ef" \
  -H "Authorization: Bearer <JWT>"
{
  "success": true,
  "data": {
    "_id": "65f8a1b2c3d4e5f6789012ef",
    "name": "Allgemeine Beratung",
    "date": "2026-07-15T00:00:00.000Z",
    "time": "14:30",
    "recording_id": "rec_123",
    "recording_url": "https://storage.example.com/recording.mp3",
    "recording_key": "recordings/rec_123.mp3",
    "status": "finished",
    "error_reason": null,
    "doctor_id": "65f0a1b2c3d4e5f678901234",
    "notes": "...",
    "language": "de",
    "notes_type": null,
    "appointment_type": "in_person",
    "room": null,
    "duration_minutes": 30,
    "deletionDate": "2026-07-29T00:00:00.000Z",
    "case_id": null,
    "booking_status": "none",
    "booking": null,
    "createdAt": "2026-07-02T09:12:00.000Z",
    "updatedAt": "2026-07-02T10:01:00.000Z",
    "__v": 0
  }
}

Overview

Fetches one appointment by its id. Access is owner-only: the appointment’s doctor_id must match the authenticated caller, otherwise a 403 Forbidden is returned.

Authentication

Authorization
string
required
Bearer token for authenticated access.
Authorization: Bearer <JWT>

Path Parameters

id
string
required
Appointment ObjectId. Must be a 24-character hex ObjectId — a malformed value fails with a 400 cast error.

Response

success
boolean
Whether the request succeeded.
data
object
The appointment object.
Additional fields may appear on the appointment object depending on how it was created. Treat any field not documented here as opaque.

Example Request

curl -X GET "https://app.medisync.me/api/appointments/get/65f8a1b2c3d4e5f6789012ef" \
  -H "Authorization: Bearer <JWT>"

Example Response

{
  "success": true,
  "data": {
    "_id": "65f8a1b2c3d4e5f6789012ef",
    "name": "Allgemeine Beratung",
    "date": "2026-07-15T00:00:00.000Z",
    "time": "14:30",
    "recording_id": "rec_123",
    "recording_url": "https://storage.example.com/recording.mp3",
    "recording_key": "recordings/rec_123.mp3",
    "status": "finished",
    "error_reason": null,
    "doctor_id": "65f0a1b2c3d4e5f678901234",
    "notes": "...",
    "language": "de",
    "notes_type": null,
    "appointment_type": "in_person",
    "room": null,
    "duration_minutes": 30,
    "deletionDate": "2026-07-29T00:00:00.000Z",
    "case_id": null,
    "booking_status": "none",
    "booking": null,
    "createdAt": "2026-07-02T09:12:00.000Z",
    "updatedAt": "2026-07-02T10:01:00.000Z",
    "__v": 0
  }
}

Error Responses

{
  "success": false,
  "error": "Appointment not found"
}
{
  "success": false,
  "error": "Forbidden"
}
{
  "success": false,
  "error": "Cast to ObjectId failed for value \"abc\" (type string) at path \"_id\" for model \"Appointment\""
}
{
  "success": false,
  "message": "Unauthorized"
}
403 Forbidden is returned when the appointment exists but is owned by a different doctor. A missing or invalid Bearer token returns 401 with a message key. A session revoked by a sign-in elsewhere returns 401 with "code": "SESSION_REVOKED".