Overview
The MediSync Dashboard API is a REST API for managing appointments, recordings, transcriptions, and AI-generated clinical notes and documents. All endpoints are JWT-authenticated and scoped to the authenticated doctor.API basics
Base URL
Authentication
Core resources
Appointments
Appointments
Medical appointments with full lifecycle management.
GET /appointments/doctors— list the authenticated doctor’s appointmentsPOST /appointments/add— create an appointmentGET /appointments/get/{id}— get one appointment
Recordings
Recordings
Audio recordings attached to an appointment.
POST /recordings/add/{appointmentId}— upload a recordingGET /recordings/{appointmentId}— get an appointment’s recordingDELETE /recordings/{appointmentId}— delete a recording
Notes
Notes
AI-generated clinical notes.
POST /notes/add/{appointmentId}— create/update notesGET /notes/{appointmentId}— get clinical notes
Request format
Standard headers
File uploads
File-upload endpoints usemultipart/form-data:
Response format
Success
Most successful responses wrap the payload in adata field:
Error
Error bodies are JSON. The shape depends on the layer: the auth middleware uses amessage field, while route handlers use an error field. Platform messages are returned in German.
Common patterns
Resource relationships
Workflow
1
Create appointment
POST /appointments/add2
Upload recording
POST /recordings/add/{appointmentId}3
Get transcription
GET /transcriptions/{appointmentId}4
Get notes
GET /notes/{appointmentId} — generated automatically from the transcription5
Attach documents
POST /documents/uploadOwnership
Every resource is scoped to the authenticated doctor. Requesting a resource you do not own returns403 Forbidden; an unknown id returns 404.
Status codes
Health check
Verify API connectivity (no authentication required):Rate limiting
Rate limits apply across the API. Thresholds are not published and change as capacity and abuse patterns do, so treat them as a runtime signal rather than a fixed contract:- Read
RateLimit-*headers on responses to see your remaining budget. - On
429, back off for the interval inRetry-Afterbefore retrying. Use exponential backoff with jitter for repeated failures. - Handle
429on every call, not just login, and avoid unbounded retry loops.
Support
Support
Technical support and integration help — support@medisync.me
Next steps
Authentication
How to authenticate and obtain a token.
Quickstart
A complete walkthrough from login to AI-generated notes.