Build on top of DentDock.
A powerful, developer-friendly API designed to connect your clinic’s ecosystem. Our RESTful architecture ensures seamless integration with accounting, marketing, and clinical tools.
Base Production URL
https://sandbox.dentcare.top/api/v1
Authentication
To authenticate, you must exchange your API credentials for a temporary access token via the
/granttoken
endpoint. Tokens expire in 1 hour.
Generate keys from Settings > API Access.
Call /granttoken with headers x-app-key and x-app-secret-key.
Use the resulting token as a Bearer
token and include the x-app-key header for all
subsequent API requests.
x-app-key: your_app_key_here
Authorization: Bearer your_temporary_access_token_here
Errors & Limits
The DentDock API uses standard HTTP response codes to indicate the success or failure of an API
request. In general: codes in the 2xx range indicate success, codes in the
4xx range indicate an error that failed given the information provided, and codes
in
the 5xx range indicate an error with our servers.
{
"success": false,
"message": "Invalid API key provided",
"error_code": "auth_failed"
}
Exchange your APP_KEY and SECRET_KEY for a temporary access token.
/granttoken
No additional parameters required for this endpoint.
curl -X POST https://sandbox.dentcare.top/api/v1/granttoken \
-H "x-app-key: YOUR_APP_KEY" \
-H "x-app-secret-key: YOUR_SECRET_KEY"
{
"access_token": "String",
"expires_in": "Number (Seconds)"
}
Get active clinic profile information and aggregate statistics (users, patients, appointments).
/organization
No additional parameters required for this endpoint.
curl -X GET https://sandbox.dentcare.top/api/v1/organization \
-H "x-app-key: YOUR_APP_KEY" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
"success": true,
"message": "Organization data retrieved successfully",
"data": {
"care_id": "Number",
"name": "String",
"short_name": "String",
"tooth_system": "String",
"currency": "String",
"currency_symbol": "String",
"logo": "String|Null",
"address": "String",
"city": "String",
"state": "String",
"region": "String",
"postal_code": "String",
"country": "String",
"phone": "String",
"email": "String",
"website": "String",
"fax": "String|Null",
"established_date": "String (YYYY-MM-DD)",
"statistics": {
"total_users": "Number",
"total_patients": "Number",
"total_appointments": "Number",
"total_doctors": "Number"
}
}
}
Return comprehensive configured website settings for clinic branding and public content (hero section, team, services).
/website
No additional parameters required for this endpoint.
curl -X GET https://sandbox.dentcare.top/api/v1/website \
-H "x-app-key: YOUR_APP_KEY" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
"success": true,
"site": {
"care_id": "Number",
"clinic_name": "String",
"theme_primary": "String (Hex)",
"theme_secondary": "String (Hex)",
"theme_dark": "String (Hex)",
"hero_title": "String",
"hero_subtitle": "String (HTML)",
"hero_badge": "String",
"hero_bg_image": "String (URL)",
"stat_years": "String",
"stat_support": "String",
"stat_success": "String",
"about_title": "String",
"about_description": "String (HTML)",
"about_image": "String (URL)",
"contact_phone": "String",
"contact_email": "String",
"contact_address": "String",
"whatsapp_number": "String",
"map_url": "String (URL)",
"opening_hours": {
"DayName": {
"open": "String",
"close": "String",
"is_closed": "Boolean"
}
},
"team_members": [
{
"photo": "String (URL)",
"name": "String",
"role": "String",
"linkedin": "String (URL)"
}
],
"testimonials": [
{
"photo": "String (URL)",
"name": "String",
"role": "String",
"comment": "String"
}
],
"faqs": [
{
"question": "String",
"answer": "String"
}
],
"services": [
{
"image": "String (URL)",
"title": "String",
"description": "String",
"features": "String"
}
],
"cta_text": "String",
"appointment_title": "String",
"appointment_subtitle": "String",
"about_label": "String",
"footer_description": "String",
"social_facebook": "String|Null",
"social_instagram": "String|Null",
"social_twitter": "String|Null",
"social_linkedin": "String|Null",
"section_labels": {
"label_key": "String"
},
"seo_title": "String",
"seo_description": "String",
"seo_keywords": "String"
}
}
List active treatments configured in your clinic profile with pricing and image URLs.
/treatments
No additional parameters required for this endpoint.
curl -X GET https://sandbox.dentcare.top/api/v1/treatments \
-H "x-app-key: YOUR_APP_KEY" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
"success": "Boolean",
"data": [
{
"treatment_id": "Number",
"treatment_name": "String",
"description": "String",
"base_fee": "String (Decimal)",
"duration_minutes": "Number",
"image_url": "String (URL)"
}
]
}
View details for a specific active treatment.
/treatments/{id}
No additional parameters required for this endpoint.
curl -X GET https://sandbox.dentcare.top/api/v1/treatments/1 \
-H "x-app-key: YOUR_APP_KEY" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
"success": "Boolean",
"data": {
"treatment_id": "Number",
"treatment_name": "String",
"description": "String",
"base_fee": "String (Decimal)",
"duration_minutes": "Number",
"image_url": "String (URL)"
}
}
Fetch available doctors and profile metadata for directory and booking views.
/dentists
No additional parameters required for this endpoint.
curl -X GET https://sandbox.dentcare.top/api/v1/dentists \
-H "x-app-key: YOUR_APP_KEY" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
"success": "Boolean",
"data": [
{
"doctor_id": "Number",
"doctor_name": "String",
"specialization": "String",
"qualification": "String",
"experience_years": "Number",
"consultation_fee": "String (Decimal)",
"signature_image_url": "String (URL)"
}
]
}
Create a patient appointment for the authenticated clinic account. Requests must be sent as JSON.
/appointments/book
Parameters
Full patient name.
Patient contact number.
Patient address.
Date in YYYY-MM-DD format.
Time in HH:MM format (24h).
Internal doctor ID from /dentists.
Internal treatment ID from /treatments.
Optional appointment note.
curl -X POST https://sandbox.dentcare.top/api/v1/appointments/book \
-H "x-app-key: YOUR_APP_KEY" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"patient_name": "John Doe",
"patient_phone": "01700000000",
"appointment_date": "2026-03-10",
"appointment_time": "15:30",
"doctor_id": 1,
"treatment_id": 5
}'
{
"success": "Boolean",
"message": "String",
"data": {
"appointment_id": "Number"
}
}
Retrieve the current status, patient name, and scheduled time for a specific appointment.
/appointments/status/{id}
No additional parameters required for this endpoint.
curl -X GET https://sandbox.dentcare.top/api/v1/appointments/status/123 \
-H "x-app-key: YOUR_APP_KEY" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
"success": "Boolean",
"message": "String",
"data": {
"status": "String (e.g., Scheduled, Cancelled, Completed)",
"name": "String",
"date": "String (YYYY-MM-DD)",
"time": "String (HH:MM)"
}
}