Doctor- and chair-based scheduling, double-booking prevention, automatic reminders and a waitlist. Conflicts are prevented at the database level.
Endpoints for this resource. Every endpoint is scoped to the clinic data the API key is bound to; write endpoints support the Idempotency-Key header.
/v1/appointments
Lists appointments by date range
All authorized roles
/v1/appointments
Creates a new appointment (conflict-checked)
admin · secretary · physician
/v1/appointments/{id}/status
Changes the appointment status
admin · secretary · physician
/v1/appointments/{id}/reschedule
Reschedules the appointment
admin · secretary · physician
/v1/appointments/{id}/remind
Sends an appointment reminder
admin · secretary · physician
/v1/units
Lists chairs/units
All authorized roles
/v1/doctors
Lists physicians
All authorized roles
/v1/waitlist
Retrieves the waitlist
All authorized roles
/v1/waitlist
Adds a patient to the waitlist
admin · secretary · physician
/v1/waitlist/{id}
Removes from the waitlist
admin · secretary · physician
Get appointments by date range
curl https://api.udentiva.com/v1/appointments?from=2026-06-24&to=2026-06-25 \ -H "Authorization: Bearer udk_live_xxx"
HTTP/1.1 200 OK
[
{
"id": "a1b2...",
"patient_id": "c0ffee00-...",
"unit_id": "u-1",
"starts_at": "2026-06-24T10:00:00Z",
"ends_at": "2026-06-24T10:30:00Z",
"status": "confirmed"
}
]
Security isn't a feature, it's the architecture itself. The guarantees that apply to this resource:
Errors are returned in a consistent envelope; the code is for the machine, the message for the user. Internal error/stack is never leaked.
{
"error": {
"code": "validation_failed",
"message": "Invalid field: email"
}
}
We use cookies necessary for core functionality; analytics and marketing cookies are enabled only with your consent. Cookie ポリシー