Integrate your clinic data securely with your own systems. A REST-based, consistent and predictable API.
The UDENTIVA API follows REST principles; it uses a JSON body and returns standard HTTP status codes. All requests are made over HTTPS and authenticated with an API key. Every request is scoped to the data of the clinic the key is bound to (full data isolation).
Base address:
https://api.udentiva.com
Carry your API key in the Authorization header in requests. Keys are generated through the clinic panel and can be revoked at any time.
# Example request curl https://api.udentiva.com/v1/patients \ -H "Authorization: Bearer udk_live_xxx" \ -H "Accept: application/json"
All endpoints to be opened externally are listed below. Each resource's detail page contains parameters, an example request/response and security notes. Write endpoints support the Idempotency-Key header.
/v1/patients
Retrieves the patient list with pagination
/v1/patients
Creates a new patient record
/v1/patients/{id}
Retrieves the details of a single patient
/v1/patients/{id}
Updates patient information
/v1/patients/{id}
Archives the patient (soft-delete)
/v1/patients/{id}/medical
Lists anamnesis, allergies and medical history
/v1/patients/{id}/medical
Adds a medical/anamnesis record
/v1/patients/{id}/documents
Lists patient documents
/v1/patients/{id}/documents
Adds a document to the patient
/v1/appointments
Lists appointments by date range
/v1/appointments
Creates a new appointment (conflict-checked)
/v1/appointments/{id}/status
Changes the appointment status
/v1/appointments/{id}/reschedule
Reschedules the appointment
/v1/appointments/{id}/remind
Sends an appointment reminder
/v1/units
Lists chairs/units
/v1/doctors
Lists physicians
/v1/waitlist
Retrieves the waitlist
/v1/waitlist
Adds a patient to the waitlist
/v1/waitlist/{id}
Removes from the waitlist
/v1/patients/{id}/odontogram
Retrieves the current FDI tooth chart
/v1/patients/{id}/odontogram
Adds a tooth state (append-only)
/v1/patients/{id}/odontogram/{tooth}/history
Retrieves the state history of a tooth
/v1/services
Lists the service/procedure catalog
/v1/services
Adds a service item
/v1/services/{id}
Updates a service item
/v1/patients/{id}/plans
Lists the patient's treatment plans
/v1/patients/{id}/plans
Creates a treatment plan
/v1/plans/{id}
Retrieves treatment plan details
/v1/plans/{id}/status
Changes the plan status
/v1/plans/{id}/items
Adds a stage/item to the plan
/v1/plan-items/{id}/status
Changes the status of a plan item
/v1/patients/{id}/prescriptions
Lists prescriptions
/v1/patients/{id}/prescriptions
Creates a prescription
/v1/invoices
Creates an invoice
/v1/invoices
Lists invoices
/v1/invoices/{id}
Retrieves invoice details
/v1/invoices/{id}/void
Cancels the invoice (reversing entry)
/v1/invoices/{id}/einvoice
Sends the invoice as an e-Fatura (GİB)
/v1/einvoices
Lists e-Fatura records
/v1/payments
Records a collection (idempotent)
/v1/patients/{id}/balance
Retrieves the patient's account balance
/v1/patients/{id}/ledger
Lists the patient's account transactions
/v1/cash/day
Retrieves the end-of-day cash summary
/v1/cari
Lists account balances
/v1/billing/summary
Retrieves the finance/collection summary
/v1/stock
Lists stock items
/v1/stock/critical
Lists stock at critical level
/v1/stock
Creates a stock item
/v1/stock/{id}
Updates the stock item
/v1/stock/{id}/movement
Adds a stock movement (in/out)
/v1/stock/{id}/movements
Lists stock movements
/v1/patients/{id}/images
Lists the patient's images (X-ray/photo)
/v1/patients/{id}/images
Uploads an image (S3, stream/presigned)
/v1/images/{id}/raw
Downloads the image file (presigned)
/v1/lab-orders
Lists lab orders
/v1/lab-orders
Creates a lab order
/v1/lab-orders/{id}
Retrieves order details
/v1/lab-orders/{id}
Updates the order
/v1/lab-orders/{id}/status
Changes the order status
/v1/labs
Lists partner laboratories
/v1/labs
Adds a laboratory
/v1/leads
Lists leads/requests
/v1/leads
Creates a new lead
/v1/leads/{id}/status
Changes the lead status/stage
/v1/tasks
Lists tasks
/v1/tasks
Creates a task
/v1/messages
Lists patient communication messages
/v1/messages
Creates a message/communication record
/v1/tourism-cases
Lists health tourism cases
/v1/tourism-cases
Creates a tourism case
/v1/tourism-cases/{id}/status
Changes the case stage
/v1/shipments
Lists transfer/shipment records
/v1/shipments
Creates a transfer/shipment record
/v1/bi
Retrieves business intelligence metrics
/v1/profit
Retrieves the profitability report
/v1/rcm
Retrieves revenue cycle management (RCM) metrics
/v1/webhooks
Lists registered webhook subscriptions
/v1/webhooks
Registers a webhook for event notifications
/v1/webhooks/{id}
Deletes the webhook subscription
/export/v1
Returns the key's permitted datasets and usage information (discovery)
/export/v1/{dataset}
Pulls the selected dataset with pagination (?limit=1000&offset=0)
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"
}
}
Requests are rate-limited per minute. When the limit is exceeded, 429 is returned; the response headers carry the remaining quota information.
The API version is carried in the path (e.g. /v1). Backward-incompatible changes are released under a new version.
As events occur at your clinic, a signed notification is sent to your registered address. This keeps your own system up to date in real time.
# Example event types
patient.created appointment.created appointment.status_changed
invoice.created payment.created lab_order.status_changed
treatment_plan.updated lead.created tourism_case.status_changed
We use cookies necessary for core functionality; analytics and marketing cookies are enabled only with your consent. Cookie-Richtlinie