API documentation for connected clinic workflows.
Appointments & calendar
Calendar objects, appointment records, appointment types, and scheduling-related lookups.
POST/api/v1/appointmentCreate appointment.
{
"patientId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"description": "Clinic-facing example note.",
"entryDate": "2026-06-17T09:30:00Z",
"exitDate": "2026-06-17T09:30:00Z",
"treatmentStartDate": "2026-06-17T09:30:00Z",
"assigneeId": 12345,
"statusId": 12345,
"typeId": 12345
}{
"id": 12345,
"clinicId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"status": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"code": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"entryDate": "2026-06-17T09:30:00Z",
"exitDate": "2026-06-17T09:30:00Z"
}POST/api/v1/appointment/daily/observationList daily patient observation reports.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"assigneeIds": [
12345
],
"statusIds": [
12345
],
"typeIds": [
12345
],
"isLate": true,
"isPatientNullable": true,
"isDebtor": true
}{
"status": 12345,
"body": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"appointment": {
"id": "example",
"clinicId": "example",
"startDate": "example",
"endDate": "example",
"status": "example",
"description": "example",
"createdAt": "example",
"updatedAt": "example",
"entryDate": "example",
"exitDate": "example"
},
"activePlannedTreatmentAmount": 1250.0,
"paidAmount": 1250.0,
"completedTreatmentAmount": 1250.0,
"activePlannedTreatmentCount": 12345,
"paidCount": 12345,
"completedTreatmentCount": 12345,
"notes": [
"example"
],
"patientGroups": "example",
"dailyCompletedTreatments": "example"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}GET/api/v1/appointment/doctor/agendaView a doctor's daily agenda.
No request body.{
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"doctorAgenda": [
[
"2026-06-17T09:30:00Z"
]
],
"busySlots": "example"
}POST/api/v1/appointment/filterSearch appointments.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"assigneeIds": [
12345
],
"statusIds": [
12345
],
"typeIds": [
12345
],
"isLate": true,
"isPatientNullable": true,
"isDebtor": true
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"status": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"code": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"entryDate": "2026-06-17T09:30:00Z",
"exitDate": "2026-06-17T09:30:00Z"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/appointment/patient/{patientId}Get a patient's appointments.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"status": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"description": "Clinic-facing example note.",
"title": "Treatment plan",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
},
"type": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"task": true,
"durationAsMinute": 12345,
"active": true,
"color": "#1d78b8",
"isDefault": true,
"recall": true
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/appointment/{id}Get appointment by ID.
No request body.{
"id": 12345,
"clinicId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"status": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"code": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"entryDate": "2026-06-17T09:30:00Z",
"exitDate": "2026-06-17T09:30:00Z"
}PUT/api/v1/appointment/{id}Update appointment by ID.
{
"patientId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"description": "Clinic-facing example note.",
"entryDate": "2026-06-17T09:30:00Z",
"exitDate": "2026-06-17T09:30:00Z",
"treatmentStartDate": "2026-06-17T09:30:00Z",
"assigneeId": 12345,
"statusId": 12345,
"typeId": 12345
}{
"id": 12345,
"clinicId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"status": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"code": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"entryDate": "2026-06-17T09:30:00Z",
"exitDate": "2026-06-17T09:30:00Z"
}DELETE/api/v1/appointment/{id}Delete appointment by ID.
No request body.{
"success": true
}GET/api/v1/clinic/appointment/type/activeGet Active Task Management Types.
No request body.[
{
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"task": true,
"durationAsMinute": 12345,
"active": true,
"color": "#1d78b8",
"isDefault": true,
"recall": true
}
]GET/api/v1/clinic/appointment/type/allGet All Task Management Types.
No request body.[
{
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"task": true,
"durationAsMinute": 12345,
"active": true,
"color": "#1d78b8",
"isDefault": true,
"recall": true
}
]Patient profile
Patient records, patient groups, segments, custom forms, and profile-level data.
POST/api/v1/clinic/contact-logCreate contact log.
{
"status": "PENDING",
"description": "Clinic-facing example note.",
"userClinicId": 12345,
"employeeClinicId": 12345,
"type": "INCOMING_CALL",
"interactionDate": "2026-06-17T09:30:00Z",
"receiver": "example"
}{
"id": 12345,
"clinicId": 12345,
"status": "PENDING",
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"employeeClinic": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"type": "INCOMING_CALL",
"interactionDate": "2026-06-17T09:30:00Z"
}GET/api/v1/clinic/contact-log/allList contact logs.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"status": "PENDING",
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"employeeClinic": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
},
"type": "INCOMING_CALL",
"interactionDate": "2026-06-17T09:30:00Z"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/clinic/contact-log/filterSearch contact logs.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"userClinicIds": [
12345
],
"employeeClinicIds": [
12345
],
"types": [
"INCOMING_CALL"
]
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"status": "PENDING",
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"employeeClinic": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
},
"type": "INCOMING_CALL",
"interactionDate": "2026-06-17T09:30:00Z"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/clinic/contact-log/{id}Get contact log by ID.
No request body.{
"id": 12345,
"clinicId": 12345,
"status": "PENDING",
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"employeeClinic": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"type": "INCOMING_CALL",
"interactionDate": "2026-06-17T09:30:00Z"
}PUT/api/v1/clinic/contact-log/{id}Update contact log by ID.
{
"status": "PENDING",
"description": "Clinic-facing example note.",
"userClinicId": 12345,
"employeeClinicId": 12345,
"type": "INCOMING_CALL",
"interactionDate": "2026-06-17T09:30:00Z",
"receiver": "example"
}{
"id": 12345,
"clinicId": 12345,
"status": "PENDING",
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"employeeClinic": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"type": "INCOMING_CALL",
"interactionDate": "2026-06-17T09:30:00Z"
}DELETE/api/v1/clinic/contact-log/{id}Delete contact log by ID.
No request body.{
"success": true
}POST/api/v1/form-responseCreate custom form.
{
"templateId": 12345,
"answersMap": "example",
"userClinicId": 12345,
"signature": "example"
}{
"id": 12345,
"status": "CREATED",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"template": {
"id": 12345,
"email": "patient@example.com",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"type": "ANAMNESIS",
"signatureRequired": true,
"active": true,
"customArea": "example",
"questionList": [
{
"id": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"question": "example",
"type": "MULTI_CHOICE",
"fillField": "FIRST_NAME",
"fillFieldAction": "OVERRIDE",
"containOtherOption": true,
"answerOption": [
"example"
],
"index": 12345
}
]
},
"answersMap": "example",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"count": 12345,
"link": "example",
"submitDate": "2026-06-17T09:30:00Z"
}GET/api/v1/form-response/allList custom form responses.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"status": "CREATED",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"template": {
"id": 12345,
"email": "patient@example.com",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"type": "ANAMNESIS",
"signatureRequired": true,
"active": true,
"customArea": "example",
"questionList": [
"example"
]
},
"answersMap": "example",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"count": 12345,
"link": "example",
"submitDate": "2026-06-17T09:30:00Z"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/form-response/filterSearch custom form responses.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"statuses": [
"CREATED"
],
"templateId": 12345
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"status": "CREATED",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"template": {
"id": 12345,
"email": "patient@example.com",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"type": "ANAMNESIS",
"signatureRequired": true,
"active": true,
"customArea": "example",
"questionList": [
"example"
]
},
"answersMap": "example",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"count": 12345,
"link": "example",
"submitDate": "2026-06-17T09:30:00Z"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/form-response/linkCreate a shareable custom form link.
No request body."example"GET/api/v1/form-response/patient/{patientId}Review submitted custom form responses.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"status": "CREATED",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"template": {
"id": 12345,
"email": "patient@example.com",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"type": "ANAMNESIS",
"signatureRequired": true,
"active": true,
"customArea": "example",
"questionList": [
"example"
]
},
"answersMap": "example",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"count": 12345,
"link": "example",
"submitDate": "2026-06-17T09:30:00Z"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/form-response/template/filterSearch custom form responses.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"statuses": [
"CREATED"
],
"templateId": 12345
}{
"responseList": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"status": "CREATED",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"template": {
"id": "example",
"email": "example",
"createdAt": "example",
"updatedAt": "example",
"title": "example",
"type": "example",
"signatureRequired": "example",
"active": "example",
"customArea": "example",
"questionList": "example"
},
"answersMap": "example",
"userClinic": {
"id": "example",
"firstName": "example",
"lastName": "example",
"email": "example",
"phoneNumber": "example",
"createdAt": "example",
"updatedAt": "example",
"title": "example",
"photo": "example",
"clinicFormId": "example"
},
"count": 12345,
"link": "example",
"submitDate": "2026-06-17T09:30:00Z"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"questionList": [
{
"id": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"question": "example",
"type": "MULTI_CHOICE",
"fillField": "FIRST_NAME",
"fillFieldAction": "OVERRIDE",
"containOtherOption": true,
"answerOption": [
"example"
],
"index": 12345
}
],
"formTemplateResource": {
"id": 12345,
"email": "patient@example.com",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"type": "ANAMNESIS",
"signatureRequired": true,
"active": true,
"customArea": "example",
"questionList": [
{
"id": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"question": "example",
"type": "MULTI_CHOICE",
"fillField": "FIRST_NAME",
"fillFieldAction": "OVERRIDE",
"containOtherOption": true,
"answerOption": [
"example"
],
"index": 12345
}
]
}
}GET/api/v1/form-response/user-clinic/templatesList custom form templates with response counts.
No request body.[
{
"id": 12345,
"status": "CREATED",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"template": {
"id": 12345,
"email": "patient@example.com",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"type": "ANAMNESIS",
"signatureRequired": true,
"active": true,
"customArea": "example",
"questionList": [
{
"id": "example",
"createdAt": "example",
"updatedAt": "example",
"question": "example",
"type": "example",
"fillField": "example",
"fillFieldAction": "example",
"containOtherOption": "example",
"answerOption": "example",
"index": "example"
}
]
},
"answersMap": "example",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"count": 12345,
"link": "example",
"submitDate": "2026-06-17T09:30:00Z"
}
]GET/api/v1/form-response/{id}Get custom form by ID.
No request body.{
"id": 12345,
"status": "CREATED",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"template": {
"id": 12345,
"email": "patient@example.com",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"type": "ANAMNESIS",
"signatureRequired": true,
"active": true,
"customArea": "example",
"questionList": [
{
"id": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"question": "example",
"type": "MULTI_CHOICE",
"fillField": "FIRST_NAME",
"fillFieldAction": "OVERRIDE",
"containOtherOption": true,
"answerOption": [
"example"
],
"index": 12345
}
]
},
"answersMap": "example",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"count": 12345,
"link": "example",
"submitDate": "2026-06-17T09:30:00Z"
}PUT/api/v1/form-response/{id}Update custom form by ID.
{
"templateId": 12345,
"answersMap": "example",
"userClinicId": 12345,
"signature": "example"
}{
"id": 12345,
"status": "CREATED",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"template": {
"id": 12345,
"email": "patient@example.com",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"type": "ANAMNESIS",
"signatureRequired": true,
"active": true,
"customArea": "example",
"questionList": [
{
"id": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"question": "example",
"type": "MULTI_CHOICE",
"fillField": "FIRST_NAME",
"fillFieldAction": "OVERRIDE",
"containOtherOption": true,
"answerOption": [
"example"
],
"index": 12345
}
]
},
"answersMap": "example",
"userClinic": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"count": 12345,
"link": "example",
"submitDate": "2026-06-17T09:30:00Z"
}DELETE/api/v1/form-response/{id}Delete custom form by ID.
No request body.{
"success": true
}POST/api/v1/employee/clinic/filterSearch Employee Clinics.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"onlyEnabled": true,
"positionId": 12345,
"permissionId": 12345
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/employee/clinic/{id}Get Employee Clinic by ID.
No request body.{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
}PUT/api/v1/employee/clinic/{id}/permissionUpdate employee.
No request body.{
"status": 12345,
"body": "example",
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/clinic/organizationCreate institution.
{
"name": "Jane Doe",
"email": "patient@example.com",
"organizationId": 12345,
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example",
"tax": "example"
}{
"id": 12345,
"name": "Jane Doe",
"email": "patient@example.com",
"organization": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example"
}GET/api/v1/clinic/organization/allList clinic organizations.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"name": "Jane Doe",
"email": "patient@example.com",
"organization": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/clinic/organization/filterSearch clinic organizations.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"organizationIds": [
12345
],
"onlyActive": true,
"expiryStartDate": 12345,
"expiryEndDate": 12345,
"currencyId": 12345,
"onlyNonZeroBalance": true
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"name": "Jane Doe",
"email": "patient@example.com",
"organization": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/clinic/organization/{id}Get institution by ID.
No request body.{
"id": 12345,
"name": "Jane Doe",
"email": "patient@example.com",
"organization": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example"
}PUT/api/v1/clinic/organization/{id}Update institution by ID.
{
"name": "Jane Doe",
"email": "patient@example.com",
"organizationId": 12345,
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example",
"tax": "example"
}{
"id": 12345,
"name": "Jane Doe",
"email": "patient@example.com",
"organization": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example"
}DELETE/api/v1/clinic/organization/{id}Delete institution by ID.
No request body.{
"success": true
}POST/api/v1/media/filterFilter clinic media.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"isFile": true,
"minSize": 12345,
"maxSize": 12345,
"userClinicId": 12345,
"mediaType": "IMAGE",
"xrayType": "JUSTIFICATION",
"xrayGrade": "ACCEPTABLE"
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mediaUrl": "https://example.com/resource",
"title": "Treatment plan",
"note": "Clinic-facing example note.",
"isFile": true,
"extension": "example",
"transcribedText": "example"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/media/upload-mediaUpload patient media.
{
"file": "example"
}"example"GET/api/v1/media/user-clinic/{id}Get media by patient ID.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mediaUrl": "https://example.com/resource",
"title": "Treatment plan",
"note": "Clinic-facing example note.",
"isFile": true,
"extension": "example",
"transcribedText": "example"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}DELETE/api/v1/media/{id}Delete media.
No request body.{
"success": true
}POST/api/v1/clinic/userCreate a new patient.
{
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"mainDoctorId": 12345,
"title": "Treatment plan",
"clinicFormId": 12345,
"location": {
"id": 12345,
"country": "example",
"province": "example",
"county": "example",
"neighborhood": "example",
"addressLine1": "Example clinic address",
"postalCode": "example"
},
"countryCode": "example",
"nationality": "example"
}{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mainDoctor": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"foreignPatientType": "HEALTH_TOURISM"
}GET/api/v1/clinic/user/allList clinic team members.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mainDoctor": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
},
"foreignPatientType": "HEALTH_TOURISM"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/clinic/user/balanceGet patient balance by patient ID.
No request body."example"GET/api/v1/clinic/user/by-contactGet patient list by contact value.
No request body.[
{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mainDoctor": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"foreignPatientType": "HEALTH_TOURISM"
}
]POST/api/v1/clinic/user/filterSearch clinic team members.
{
"startDate": 12345,
"endDate": 12345,
"query": "example"
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mainDoctor": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
},
"foreignPatientType": "HEALTH_TOURISM"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/clinic/user/patient-id-listCreate patient.
{
"objectList": [
12345
]
}"example"GET/api/v1/clinic/user/searchSearch patient records by text query.
No request body.{
"result": [
{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mainDoctor": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
},
"foreignPatientType": "HEALTH_TOURISM"
}
],
"count": 12345
}GET/api/v1/clinic/user/{id}Get patient by ID.
No request body.{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mainDoctor": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"foreignPatientType": "HEALTH_TOURISM"
}PUT/api/v1/clinic/user/{id}Update patient by ID.
{
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"mainDoctorId": 12345,
"title": "Treatment plan",
"clinicFormId": 12345,
"location": {
"id": 12345,
"country": "example",
"province": "example",
"county": "example",
"neighborhood": "example",
"addressLine1": "Example clinic address",
"postalCode": "example"
},
"countryCode": "example",
"nationality": "example"
}{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mainDoctor": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"foreignPatientType": "HEALTH_TOURISM"
}DELETE/api/v1/clinic/user/{id}Delete patient by ID.
No request body.{
"success": true
}PUT/api/v1/clinic/user/{id}/external-idUpdate the external ID of a patient.
No request body.{
"success": true
}PUT/api/v1/clinic/user/{id}/main-doctorUpdate the main doctor of a patient.
No request body.{
"success": true
}GET/api/v1/clinic/user/{id}/patient/groupGet patient group assignments of a patient.
No request body.{
"clinicPatientGroupList": [
{
"id": 12345,
"name": "Jane Doe",
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"createdBy": 12345,
"updatedBy": 12345,
"createdByUser": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"createdBy": 12345,
"updatedBy": 12345
},
"deleted": true,
"discount": 123.45
}
],
"groupIdList": [
12345
]
}POST/api/v1/clinic/user/{id}/patient/groupAssign patient groups to a patient.
No request body.{
"success": true
}Treatment planning
Treatment plans, treatment plan details, treatment items, and treatment sessions.
POST/api/v1/treatment-plan-detailCreate treatment item.
{
"treatmentPlanId": 12345,
"clinicOperationId": 12345,
"statusId": 12345,
"currencyId": 12345,
"assigneeId": 12345,
"treatmentSessionId": 12345,
"targetTooth": 12345,
"duration": 12345,
"exchangedAmount": 1250.0,
"progressPaymentAmount": 1250.0
}{
"id": 12345,
"status": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe",
"enName": "Jane Doe"
},
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlanId": 12345,
"clinicOperation": {
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"price": 1250.0,
"trName": "Jane Doe",
"enName": "Jane Doe",
"defaultDuration": 12345,
"active": true
},
"rawPrice": 1250.0,
"rawCurrency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"progressPaymentAmount": 1250.0
}GET/api/v1/treatment-plan-detail/allList treatment plan details.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"status": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe",
"enName": "Jane Doe"
},
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlanId": 12345,
"clinicOperation": {
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"price": 1250.0,
"trName": "Jane Doe",
"enName": "Jane Doe",
"defaultDuration": 12345,
"active": true
},
"rawPrice": 1250.0,
"rawCurrency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"progressPaymentAmount": 1250.0
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/treatment-plan-detail/allCreate multiple treatment plan details.
[
{
"treatmentPlanId": 12345,
"clinicOperationId": 12345,
"statusId": 12345,
"currencyId": 12345,
"assigneeId": 12345,
"treatmentSessionId": 12345,
"targetTooth": 12345,
"duration": 12345,
"exchangedAmount": 1250.0,
"progressPaymentAmount": 1250.0
}
]{
"status": 12345,
"body": [
{
"id": 12345,
"status": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe",
"enName": "Jane Doe"
},
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlanId": 12345,
"clinicOperation": {
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"price": 1250.0,
"trName": "Jane Doe",
"enName": "Jane Doe",
"defaultDuration": 12345,
"active": true
},
"rawPrice": 1250.0,
"rawCurrency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"progressPaymentAmount": 1250.0
}
],
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}PUT/api/v1/treatment-plan-detail/completed-atSet Completion Date for Treatment Plan Detail.
No request body.{
"success": true
}POST/api/v1/treatment-plan-detail/completed-reportGet Completed Treatments Report.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"employeeClinicIds": [
12345
],
"clinicOperationIds": [
12345
],
"minPrice": 1250.0,
"maxPrice": 1250.0,
"currencyId": 12345
}{
"page": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"status": {
"id": "example",
"name": "example",
"code": "example",
"trName": "example",
"enName": "example"
},
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlanId": 12345,
"clinicOperation": {
"id": "example",
"name": "example",
"currency": "example",
"createdAt": "example",
"updatedAt": "example",
"price": "example",
"trName": "example",
"enName": "example",
"defaultDuration": "example",
"active": "example"
},
"rawPrice": 1250.0,
"rawCurrency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"progressPaymentAmount": 1250.0
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"totalPrices": 1250,
"currencyBasedExchangedAmounts": 1250,
"totalExchangedAmount": 1250.0,
"totalPatientCount": 1250
}POST/api/v1/treatment-plan-detail/filterSearch treatment plan details.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"employeeClinicIds": [
12345
],
"clinicOperationIds": [
12345
],
"minPrice": 1250.0,
"maxPrice": 1250.0,
"currencyId": 12345
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"status": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe",
"enName": "Jane Doe"
},
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlanId": 12345,
"clinicOperation": {
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"price": 1250.0,
"trName": "Jane Doe",
"enName": "Jane Doe",
"defaultDuration": 12345,
"active": true
},
"rawPrice": 1250.0,
"rawCurrency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"progressPaymentAmount": 1250.0
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/treatment-plan-detail/patient/{patientId}Get treatment item.
No request body.{
"status": 12345,
"body": [
{
"id": 12345,
"status": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe",
"enName": "Jane Doe"
},
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlanId": 12345,
"clinicOperation": {
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"price": 1250.0,
"trName": "Jane Doe",
"enName": "Jane Doe",
"defaultDuration": 12345,
"active": true
},
"rawPrice": 1250.0,
"rawCurrency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"progressPaymentAmount": 1250.0
}
],
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}PUT/api/v1/treatment-plan-detail/statusUpdate Status of Treatment Plan Details.
No request body.truePUT/api/v1/treatment-plan-detail/toothUpdate Target Tooth of Treatment Plan Detail.
No request body.trueGET/api/v1/treatment-plan-detail/{id}Get treatment item by ID.
No request body.{
"id": 12345,
"status": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe",
"enName": "Jane Doe"
},
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlanId": 12345,
"clinicOperation": {
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"price": 1250.0,
"trName": "Jane Doe",
"enName": "Jane Doe",
"defaultDuration": 12345,
"active": true
},
"rawPrice": 1250.0,
"rawCurrency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"progressPaymentAmount": 1250.0
}PUT/api/v1/treatment-plan-detail/{id}Update treatment item by ID.
{
"treatmentPlanId": 12345,
"clinicOperationId": 12345,
"statusId": 12345,
"currencyId": 12345,
"assigneeId": 12345,
"treatmentSessionId": 12345,
"targetTooth": 12345,
"duration": 12345,
"exchangedAmount": 1250.0,
"progressPaymentAmount": 1250.0
}{
"id": 12345,
"status": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe",
"enName": "Jane Doe"
},
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlanId": 12345,
"clinicOperation": {
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"price": 1250.0,
"trName": "Jane Doe",
"enName": "Jane Doe",
"defaultDuration": 12345,
"active": true
},
"rawPrice": 1250.0,
"rawCurrency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"progressPaymentAmount": 1250.0
}DELETE/api/v1/treatment-plan-detail/{id}Delete treatment item by ID.
No request body.{
"success": true
}POST/api/v1/treatment-planCreate treatment plan.
{
"patientId": 12345,
"assigneeId": 12345,
"title": "Treatment plan",
"active": true,
"diagnosis": true
}{
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"patient": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"paidAmount": 1250.0,
"progressPaymentAmount": 1250.0,
"totalAmount": 1250.0,
"title": "Treatment plan"
}GET/api/v1/treatment-plan/allList treatment plans.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
},
"patient": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"paidAmount": 1250.0,
"progressPaymentAmount": 1250.0,
"totalAmount": 1250.0,
"title": "Treatment plan"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}PUT/api/v1/treatment-plan/assigneeUpdate treatment plan assignee.
No request body.truePOST/api/v1/treatment-plan/copyCopy treatment plan to another patient.
No request body.{
"status": 12345,
"body": {
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"patient": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"paidAmount": 1250.0,
"progressPaymentAmount": 1250.0,
"totalAmount": 1250.0,
"title": "Treatment plan"
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}GET/api/v1/treatment-plan/detailedGet Treatment Plan, Sessions inside of plan and TreatmentPlanDetails inside of Sessions.
No request body.{
"id": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlan": {
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"patient": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"paidAmount": 1250.0,
"progressPaymentAmount": 1250.0,
"totalAmount": 1250.0,
"title": "Treatment plan"
},
"sessionGroupList": [
{
"session": {
"id": 12345,
"startDate": "2026-06-17T09:30:00Z",
"assignee": {
"id": "example",
"clinicId": "example",
"firstName": "example",
"lastName": "example",
"email": "example",
"phoneNumber": "example",
"nationalId": "example",
"appointmentDoctors": "example",
"premiumPercentage": "example",
"availableHours": "example"
}
},
"groupMap": "example",
"statistics": {
"completedCount": 12345,
"totalCount": 1250,
"totalProgressPaymentAmount": 1250.0,
"totalExchangedAmount": 1250.0,
"completedProgressPaymentAmount": 1250.0,
"completedExchangedAmount": 1250.0
},
"currencyBasedCompletion": "TRY"
}
],
"statistics": {
"completedCount": 12345,
"totalCount": 1250,
"totalProgressPaymentAmount": 1250.0,
"totalExchangedAmount": 1250.0,
"completedProgressPaymentAmount": 1250.0,
"completedExchangedAmount": 1250.0
},
"currencyBasedCompletion": "TRY"
}POST/api/v1/treatment-plan/filterSearch treatment plans.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"employeeClinicIds": [
12345
],
"clinicOperationIds": [
12345
],
"diagnosis": true,
"active": true,
"treatmentPlanStatus": "UNCOMPLETED"
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
},
"patient": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"paidAmount": 1250.0,
"progressPaymentAmount": 1250.0,
"totalAmount": 1250.0,
"title": "Treatment plan"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}PUT/api/v1/treatment-plan/lock-statusUpdate treatment plan lock status.
No request body.{
"status": 12345,
"body": true,
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}GET/api/v1/treatment-plan/patient/{patientId}List treatment plans.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
},
"patient": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"paidAmount": 1250.0,
"progressPaymentAmount": 1250.0,
"totalAmount": 1250.0,
"title": "Treatment plan"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/treatment-plan/shareGet Treatment Plan share url by id.
No request body."example"PUT/api/v1/treatment-plan/statusUpdate treatment plan status.
No request body.truePUT/api/v1/treatment-plan/titleUpdate treatment plan title.
No request body.trueGET/api/v1/treatment-plan/{id}Get treatment plan by ID.
No request body.{
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"patient": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"paidAmount": 1250.0,
"progressPaymentAmount": 1250.0,
"totalAmount": 1250.0,
"title": "Treatment plan"
}PUT/api/v1/treatment-plan/{id}Update treatment plan by ID.
{
"patientId": 12345,
"assigneeId": 12345,
"title": "Treatment plan",
"active": true,
"diagnosis": true
}{
"id": 12345,
"clinicId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
},
"patient": {
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"photo": "example",
"clinicFormId": 12345
},
"paidAmount": 1250.0,
"progressPaymentAmount": 1250.0,
"totalAmount": 1250.0,
"title": "Treatment plan"
}DELETE/api/v1/treatment-plan/{id}Delete treatment plan by ID.
No request body.{
"success": true
}POST/api/v1/treatment-sessionCreate treatment session.
{
"startDate": "2026-06-17T09:30:00Z",
"assigneeId": 12345,
"treatmentPlanId": 12345
}{
"id": 12345,
"startDate": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
}
}GET/api/v1/treatment-session/allList treatment sessions.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"startDate": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/treatment-session/filterSearch treatment sessions.
{
"startDate": 12345,
"endDate": 12345,
"query": "example"
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"startDate": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/treatment-session/{id}Get treatment session by ID.
No request body.{
"id": 12345,
"startDate": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
}
}PUT/api/v1/treatment-session/{id}Update treatment session by ID.
{
"startDate": "2026-06-17T09:30:00Z",
"assigneeId": 12345,
"treatmentPlanId": 12345
}{
"id": 12345,
"startDate": "2026-06-17T09:30:00Z",
"assignee": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
12345
],
"premiumPercentage": 123.45,
"availableHours": [
[
"example"
]
]
}
}DELETE/api/v1/treatment-session/{id}Delete treatment session by ID.
No request body.{
"success": true
}Payments & accounts
Payments, payment plans, payment notes, proformas, and current-account workflows.
POST/api/v1/financeCreate Finance Record.
{
"description": "Clinic-facing example note.",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"clinicOrganizationId": 12345,
"financeTransactionTypeId": 12345,
"financeActionTypeId": 12345,
"portfolioId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"expiryDate": "2026-06-17T09:30:00Z",
"currencyId": 12345
}{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"clinicOrganization": {
"id": 12345,
"name": "Jane Doe",
"email": "patient@example.com",
"organization": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example"
},
"financeTransactionType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"financeActionType": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe"
}
}POST/api/v1/finance/filterFilter finance operations by startDate, endDate, patientIds, employeeClinicIds, clinicOrganizationIds, financeActionTypes, financeTransactionTypes, minPrice, maxPrice, currencyId.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"employeeClinicIds": [
12345
],
"clinicOrganizationIds": [
12345
],
"organizationIds": [
12345
],
"financeActionTypeIds": [
12345
],
"financeTransactionTypeIds": [
12345
],
"categoryIds": [
12345
]
}{
"finances": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"clinicOrganization": {
"id": "example",
"name": "example",
"email": "example",
"organization": "example",
"subId": "example",
"address": "example",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example"
},
"financeTransactionType": {
"id": "example",
"name": "example",
"code": "example"
},
"financeActionType": {
"id": "example",
"name": "example",
"code": "example",
"trName": "example"
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"totalPrices": [
{
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"totalPrice": 1250.0,
"actionType": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe"
},
"exchangedAmount": 1250.0
}
]
}PUT/api/v1/finance/{id}Update Finance Record.
{
"description": "Clinic-facing example note.",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"clinicOrganizationId": 12345,
"financeTransactionTypeId": 12345,
"financeActionTypeId": 12345,
"portfolioId": 12345,
"createdAt": "2026-06-17T09:30:00Z",
"expiryDate": "2026-06-17T09:30:00Z",
"currencyId": 12345
}{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"clinicOrganization": {
"id": 12345,
"name": "Jane Doe",
"email": "patient@example.com",
"organization": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example"
},
"financeTransactionType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"financeActionType": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe"
}
}DELETE/api/v1/finance/{id}Delete Finance Record.
No request body.{
"success": true
}POST/api/v1/paymentCreate a New Payment Transaction.
{
"patientId": 12345,
"doctorId": 12345,
"description": "Clinic-facing example note.",
"treatmentPlanId": 12345,
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"currencyId": 12345,
"treatmentPlanDetailId": 12345,
"paymentTypeId": 12345,
"createdBy": 12345
}{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"paymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"returnPaymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
}
}POST/api/v1/payment/end-of-dayGenerate Payment Report for a Date Range.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"doctorIds": [
12345
],
"paymentTypeIdList": [
12345
],
"minPrice": 1250.0,
"maxPrice": 1250.0,
"currencyId": 12345,
"clinicPatientGroupIdList": [
12345
]
}{
"payments": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"paymentType": {
"id": "example",
"name": "example",
"code": "example"
},
"returnPaymentType": {
"id": "example",
"name": "example",
"code": "example"
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"typeAmount": [
{
"amount": 1250.0,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"type": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"exchangedAmount": 1250.0
}
],
"typeOrganizationAmounts": [
{
"amount": 1250.0,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"type": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"portfolio": {
"id": 12345,
"name": "Jane Doe",
"email": "patient@example.com",
"organization": {
"id": "example",
"name": "example",
"code": "example"
},
"subId": 12345,
"address": "Example clinic address",
"country": "example",
"city": "example",
"district": "example",
"gsm": "example"
},
"exchangedAmount": 1250.0
}
],
"totalMap": 1250,
"financeTotalPrices": [
{
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"totalPrice": 1250.0,
"actionType": {
"id": 12345,
"name": "Jane Doe",
"code": "example",
"trName": "Jane Doe"
},
"exchangedAmount": 1250.0
}
]
}POST/api/v1/payment/filterSearch payments.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"doctorIds": [
12345
],
"paymentTypeIdList": [
12345
],
"minPrice": 1250.0,
"maxPrice": 1250.0,
"currencyId": 12345,
"clinicPatientGroupIdList": [
12345
]
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"paymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"returnPaymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/payment/patient/{patientId}List payment transactions for a clinic.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"paymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"returnPaymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}PUT/api/v1/payment/previous/{id}Update Payment Creation Date.
No request body.{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"paymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"returnPaymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
}
}PUT/api/v1/payment/{id}Update an Existing Payment Transaction.
{
"patientId": 12345,
"doctorId": 12345,
"description": "Clinic-facing example note.",
"treatmentPlanId": 12345,
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"currencyId": 12345,
"treatmentPlanDetailId": 12345,
"paymentTypeId": 12345,
"createdBy": 12345
}{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"paymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"returnPaymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
}
}DELETE/api/v1/payment/{id}Delete a Payment Transaction.
No request body.{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"paymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
},
"returnPaymentType": {
"id": 12345,
"name": "Jane Doe",
"code": "example"
}
}POST/api/v1/payment-planCreate payment plan.
{
"patientId": 12345,
"amount": 1250.0,
"description": "Clinic-facing example note.",
"title": "Treatment plan",
"date": "2026-06-17T09:30:00Z",
"currencyId": 12345,
"installmentCount": 12345,
"paid": true
}{
"id": 12345,
"clinicId": 12345,
"amount": 1250.0,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"date": "2026-06-17T09:30:00Z",
"paid": true
}GET/api/v1/payment-plan/allList payment plans.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"amount": 1250.0,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"date": "2026-06-17T09:30:00Z",
"paid": true
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/payment-plan/filterSearch payment plans.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"minPrice": 1250.0,
"maxPrice": 1250.0,
"currencyId": 12345,
"paid": true
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"amount": 1250.0,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"date": "2026-06-17T09:30:00Z",
"paid": true
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/payment-plan/patient/{patientId}Get Payment Plans for a Patient.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"amount": 1250.0,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"date": "2026-06-17T09:30:00Z",
"paid": true
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/payment-plan/{id}Get payment plan by ID.
No request body.{
"id": 12345,
"clinicId": 12345,
"amount": 1250.0,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"date": "2026-06-17T09:30:00Z",
"paid": true
}PUT/api/v1/payment-plan/{id}Update payment plan by ID.
{
"patientId": 12345,
"amount": 1250.0,
"description": "Clinic-facing example note.",
"title": "Treatment plan",
"date": "2026-06-17T09:30:00Z",
"currencyId": 12345,
"installmentCount": 12345,
"paid": true
}{
"id": 12345,
"clinicId": 12345,
"amount": 1250.0,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"title": "Treatment plan",
"date": "2026-06-17T09:30:00Z",
"paid": true
}DELETE/api/v1/payment-plan/{id}Delete payment plan by ID.
No request body.{
"success": true
}Stock & inventory
Stock items, stock types, and stock operation endpoints.
POST/api/v1/stockCreate stock.
{
"barcode": "example",
"name": "Jane Doe",
"unit": "CC",
"price": 1250.0,
"vatRate": 123.45,
"currencyId": 12345,
"typeId": 12345,
"criticalLimit": 123.45
}{
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"barcode": "example",
"price": 1250.0,
"vatRate": 123.45,
"type": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z"
},
"unit": "CC"
}GET/api/v1/stock/allList stock items.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"barcode": "example",
"price": 1250.0,
"vatRate": 123.45,
"type": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z"
},
"unit": "CC"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/stock/by-barcodeFind stock by barcode.
No request body.{
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"barcode": "example",
"price": 1250.0,
"vatRate": 123.45,
"type": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z"
},
"unit": "CC"
}POST/api/v1/stock/filterSearch stock items.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"typeIds": [
12345
],
"minUnitPrice": 1250.0,
"maxUnitPrice": 1250.0,
"unit": "CC",
"currencyId": 12345,
"minQuantity": 12345,
"maxQuantity": 12345
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"barcode": "example",
"price": 1250.0,
"vatRate": 123.45,
"type": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z"
},
"unit": "CC"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/stock/{id}Get stock by ID.
No request body.{
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"barcode": "example",
"price": 1250.0,
"vatRate": 123.45,
"type": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z"
},
"unit": "CC"
}PUT/api/v1/stock/{id}Update stock by ID.
{
"barcode": "example",
"name": "Jane Doe",
"unit": "CC",
"price": 1250.0,
"vatRate": 123.45,
"currencyId": 12345,
"typeId": 12345,
"criticalLimit": 123.45
}{
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"barcode": "example",
"price": 1250.0,
"vatRate": 123.45,
"type": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z"
},
"unit": "CC"
}DELETE/api/v1/stock/{id}Delete stock by ID.
No request body.{
"success": true
}PUT/api/v1/stock/{id}/expire-dateUpdate Stock Expiration Date and Quantity Mapping.
No request body.{
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"barcode": "example",
"price": 1250.0,
"vatRate": 123.45,
"type": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z"
},
"unit": "CC"
}POST/api/v1/stock-operationCreate stock operation.
{
"quantity": 123.45,
"type": "USING",
"totalPaidAmount": 1250.0,
"operationTime": "2026-06-17T09:30:00Z",
"explanation": "example",
"totalExchangedAmount": 1250.0,
"currencyId": 12345,
"stockId": 12345,
"exitPointId": 12345,
"organizationId": 12345
}{
"id": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"totalPaidAmount": 1250.0,
"quantity": 123.45,
"operationTime": "2026-06-17T09:30:00Z",
"explanation": "example",
"totalExchangedAmount": 1250.0,
"exitPoint": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"active": true
}
}GET/api/v1/stock-operation/allList stock operations.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"totalPaidAmount": 1250.0,
"quantity": 123.45,
"operationTime": "2026-06-17T09:30:00Z",
"explanation": "example",
"totalExchangedAmount": 1250.0,
"exitPoint": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"active": true
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}GET/api/v1/stock-operation/by-barcodeFind stock operations by barcode.
No request body.{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"totalPaidAmount": 1250.0,
"quantity": 123.45,
"operationTime": "2026-06-17T09:30:00Z",
"explanation": "example",
"totalExchangedAmount": 1250.0,
"exitPoint": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"active": true
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/stock-operation/filterSearch stock operations.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"stockIds": [
12345
],
"exitPointIds": [
12345
],
"clinicOrganizationIds": [
12345
],
"employeeClinicIds": [
12345
],
"stockOperationTypes": [
"USING"
],
"stockTypeIds": [
12345
],
"minPrice": 1250.0
}{
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"totalPaidAmount": 1250.0,
"quantity": 123.45,
"operationTime": "2026-06-17T09:30:00Z",
"explanation": "example",
"totalExchangedAmount": 1250.0,
"exitPoint": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"active": true
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
}POST/api/v1/stock-operation/filter/statisticsSearch stock operations.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"stockIds": [
12345
],
"exitPointIds": [
12345
],
"clinicOrganizationIds": [
12345
],
"employeeClinicIds": [
12345
],
"stockOperationTypes": [
"USING"
],
"stockTypeIds": [
12345
],
"minPrice": 1250.0
}{
"totalInput": 1250.0,
"totalOutput": 1250.0,
"empClinicBasedUsageAmount": [
{
"amount": 1250.0,
"consumer": {
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"nationalId": 12345,
"appointmentDoctors": [
"example"
],
"premiumPercentage": 123.45,
"availableHours": [
"example"
]
}
}
],
"typeBasedAmount": [
{
"amount": 1250.0,
"consumer": "USING"
}
],
"exitPointBasedUsageAmount": [
{
"amount": 1250.0,
"consumer": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"active": true
}
}
],
"topUsed10Stocks": [
{
"amount": 1250.0,
"consumer": {
"id": 12345,
"name": "Jane Doe",
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"barcode": "example",
"price": 1250.0,
"vatRate": 123.45,
"type": {
"id": "example",
"name": "example",
"createdAt": "example",
"updatedAt": "example"
},
"unit": "CC"
}
}
]
}GET/api/v1/stock-operation/{id}Get stock operation by ID.
No request body.{
"id": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"totalPaidAmount": 1250.0,
"quantity": 123.45,
"operationTime": "2026-06-17T09:30:00Z",
"explanation": "example",
"totalExchangedAmount": 1250.0,
"exitPoint": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"active": true
}
}PUT/api/v1/stock-operation/{id}Update stock operation by ID.
{
"quantity": 123.45,
"type": "USING",
"totalPaidAmount": 1250.0,
"operationTime": "2026-06-17T09:30:00Z",
"explanation": "example",
"totalExchangedAmount": 1250.0,
"currencyId": 12345,
"stockId": 12345,
"exitPointId": 12345,
"organizationId": 12345
}{
"id": 12345,
"currency": {
"id": 12345,
"code": "example",
"factor": 123.45,
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"totalPaidAmount": 1250.0,
"quantity": 123.45,
"operationTime": "2026-06-17T09:30:00Z",
"explanation": "example",
"totalExchangedAmount": 1250.0,
"exitPoint": {
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"active": true
}
}DELETE/api/v1/stock-operation/{id}Delete stock operation by ID.
No request body.{
"success": true
}GET/api/v1/stock-type/allGet all stock types.
No request body.[
{
"id": 12345,
"name": "Jane Doe",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z"
}
]Reporting & dashboards
Dashboard and reporting endpoints for structured clinic analytics.
POST/api/v1/dashboard/acquisition-sourcePatient Acquisition Source Analytics.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY"
}{
"status": 12345,
"body": {
"nameSet": [
"example"
],
"resultMap": "example"
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/acquisition-source/listPatient Records by Acquisition Source.
{
"startDate": 12345,
"endDate": 12345,
"page": 12345,
"pageSize": 12345
}{
"status": 12345,
"body": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"firstName": "Jane",
"lastName": "Doe",
"email": "patient@example.com",
"phoneNumber": "+905*********",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"mainDoctor": {
"id": "example",
"clinicId": "example",
"firstName": "example",
"lastName": "example",
"email": "example",
"phoneNumber": "example",
"nationalId": "example",
"appointmentDoctors": "example",
"premiumPercentage": "example",
"availableHours": "example"
},
"foreignPatientType": "HEALTH_TOURISM"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/appointmentAppointment Performance Report.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY"
}{
"status": 12345,
"body": "example",
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/appointment-typeAppointment Type Analytics.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY"
}{
"status": 12345,
"body": {
"nameSet": [
"example"
],
"resultMap": "example",
"idNameMap": "example"
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/appointment-type/listAppointment Type Detail List.
{
"startDate": 12345,
"endDate": 12345,
"page": 12345,
"pageSize": 12345,
"typeId": 12345
}{
"status": 12345,
"body": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"status": {
"id": "example",
"name": "example",
"createdAt": "example",
"updatedAt": "example",
"code": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"entryDate": "2026-06-17T09:30:00Z",
"exitDate": "2026-06-17T09:30:00Z"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/appointment/listList appointment details with occurrence status.
{
"startDate": 12345,
"endDate": 12345,
"page": 12345,
"pageSize": 12345,
"sortBy": "example",
"direction": "ASC"
}{
"status": 12345,
"body": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"status": {
"id": "example",
"name": "example",
"createdAt": "example",
"updatedAt": "example",
"code": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"entryDate": "2026-06-17T09:30:00Z",
"exitDate": "2026-06-17T09:30:00Z"
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/patient-acceptanceOverall Patient Acceptance Analytics.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY",
"cohortStrategy": "FIRST_APPOINTMENT",
"grouping": "NONE"
}{
"status": 12345,
"body": {
"nameSet": [
"example"
],
"resultMap": "example"
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/patient-acceptance/listNew Patients Detail List.
{
"cohortStrategy": "FIRST_APPOINTMENT",
"groupByDoctor": "NONE",
"startDate": 12345,
"endDate": 12345,
"page": 12345,
"pageSize": 12345,
"doctorIds": [
12345
]
}{
"status": 12345,
"body": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"firstName": "Jane",
"lastName": "Doe",
"createdAt": "2026-06-17T09:30:00Z",
"assigneeId": 12345,
"assigneePhoto": "example",
"assigneeFirstName": "Jane",
"assigneeLastName": "Doe",
"accepted": true
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/payment-typePayment Type Distribution Report.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY"
}{
"status": 12345,
"body": {
"nameSet": [
"example"
],
"resultMap": "example"
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/profitProfit Analytics Report.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY"
}{
"status": 12345,
"body": {
"nameSet": [
"example"
],
"resultMap": "example"
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/recallRecall Analytics Report.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY"
}{
"status": 12345,
"body": {
"nameSet": [
"example"
],
"resultMap": "example"
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/recall/listRecall Detail List.
{
"startDate": 12345,
"endDate": 12345,
"query": "example",
"patientIds": [
12345
],
"assigneeIds": [
12345
],
"createdByIds": [
12345
],
"statusIds": [
12345
],
"typeIds": [
12345
],
"isRecall": true,
"createdAtStart": 12345
}{
"status": 12345,
"body": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"startDate": "2026-06-17T09:30:00Z",
"endDate": "2026-06-17T09:30:00Z",
"status": {
"id": "example",
"name": "example",
"createdAt": "example",
"updatedAt": "example",
"code": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"completedAt": "2026-06-17T09:30:00Z",
"assignee": {
"id": "example",
"clinicId": "example",
"firstName": "example",
"lastName": "example",
"email": "example",
"phoneNumber": "example",
"nationalId": "example",
"appointmentDoctors": "example",
"premiumPercentage": "example",
"availableHours": "example"
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/revenueRevenue Analytics Report.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY"
}{
"status": 12345,
"body": "example",
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/revenue/listRevenue Transaction List.
{
"startDate": 12345,
"endDate": 12345,
"page": 12345,
"pageSize": 12345
}{
"status": 12345,
"body": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"clinicId": 12345,
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"description": "Clinic-facing example note.",
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"paidAmount": 1250.0,
"exchangedAmount": 1250.0,
"paymentType": {
"id": "example",
"name": "example",
"code": "example"
},
"returnPaymentType": {
"id": "example",
"name": "example",
"code": "example"
}
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/treatment-plan-detailTreatment Plan Distribution Analytics.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY"
}{
"status": 12345,
"body": {
"nameSet": [
"example"
],
"resultMap": "example"
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/treatment-plan-detail/countTreatment Plan Count Analytics.
{
"startDate": 12345,
"endDate": 12345,
"interval": "DAILY",
"doctorBased": true
}{
"status": 12345,
"body": [
"example"
],
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}POST/api/v1/dashboard/treatment-plan-detail/count/listTreatment Plan Detail Records.
{
"doctorId": 12345,
"startDate": 12345,
"endDate": 12345,
"page": 12345,
"pageSize": 12345,
"doctorBased": true,
"clinicOperationId": 12345
}{
"status": 12345,
"body": {
"totalElements": 1250,
"totalPages": 1250,
"size": 12345,
"content": [
{
"id": 12345,
"status": {
"id": "example",
"name": "example",
"code": "example",
"trName": "example",
"enName": "example"
},
"currency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"createdAt": "2026-06-17T09:30:00Z",
"updatedAt": "2026-06-17T09:30:00Z",
"treatmentPlanId": 12345,
"clinicOperation": {
"id": "example",
"name": "example",
"currency": "example",
"createdAt": "example",
"updatedAt": "example",
"price": "example",
"trName": "example",
"enName": "example",
"defaultDuration": "example",
"active": "example"
},
"rawPrice": 1250.0,
"rawCurrency": {
"id": "example",
"code": "example",
"factor": "example",
"symbol": "example",
"isoCode": "example"
},
"progressPaymentAmount": 1250.0
}
],
"number": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"first": true,
"pageable": {
"offset": 12345,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageNumber": 12345,
"pageSize": 12345,
"paged": true,
"unpaged": true
},
"last": true,
"numberOfElements": 12345
},
"message": "example",
"info": "example",
"exception": {
"cause": {
"stackTrace": [
{
"classLoaderName": "example",
"moduleName": "example",
"moduleVersion": "example",
"methodName": "example",
"fileName": "example",
"lineNumber": "example",
"className": "example",
"nativeMethod": "example"
}
],
"message": "example",
"suppressed": [
{
"stackTrace": "example",
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"stackTrace": [
{
"classLoaderName": "Jane Doe",
"moduleName": "Jane Doe",
"moduleVersion": "example",
"methodName": "Jane Doe",
"fileName": "Jane Doe",
"lineNumber": 12345,
"className": "Jane Doe",
"nativeMethod": true
}
],
"message": "example",
"suppressed": [
{
"stackTrace": [
"example"
],
"message": "example",
"localizedMessage": "example"
}
],
"localizedMessage": "example"
},
"moment": 12345
}