Skip to main content

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

All endpoints are relative to this base URL.

Authentication

A JWT is required for all protected endpoints.

Core resources

Medical appointments with full lifecycle management.
  • GET /appointments/doctors — list the authenticated doctor’s appointments
  • POST /appointments/add — create an appointment
  • GET /appointments/get/{id} — get one appointment
Features: status tracking and the AI processing workflow.
Audio recordings attached to an appointment.
  • POST /recordings/add/{appointmentId} — upload a recording
  • GET /recordings/{appointmentId} — get an appointment’s recording
  • DELETE /recordings/{appointmentId} — delete a recording
Features: multi-format upload; automatic transcription.
AI-generated clinical notes.
  • POST /notes/add/{appointmentId} — create/update notes
  • GET /notes/{appointmentId} — get clinical notes
Features: structured (SOAP) clinical documentation.

Request format

Standard headers

The user id is taken from the JWT — no separate user id parameter is required.

File uploads

File-upload endpoints use multipart/form-data:

Response format

Success

Most successful responses wrap the payload in a data field:

Error

Error bodies are JSON. The shape depends on the layer: the auth middleware uses a message field, while route handlers use an error field. Platform messages are returned in German.

Common patterns

Resource relationships

Workflow

1

Create appointment

POST /appointments/add
2

Upload recording

POST /recordings/add/{appointmentId}
3

Get transcription

GET /transcriptions/{appointmentId}
4

Get notes

GET /notes/{appointmentId} — generated automatically from the transcription
5

Attach documents

POST /documents/upload

Ownership

Every resource is scoped to the authenticated doctor. Requesting a resource you do not own returns 403 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 in Retry-After before retrying. Use exponential backoff with jitter for repeated failures.
  • Handle 429 on 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.