Introduction
Overview of the CBCTHub API v1
CBCTHub is a cloud platform for dental imaging centers. The REST API v1 lets your external system (PMS, marketplace, in-house software) upload DICOM scans and get a branded 3D viewer link in a few lines of code.
ℹ Quick start
- Create a free account and generate an API key under Settings → API.
- Call POST /api/v1/exams with patient metadata + file list.
- Upload DICOM files with PUT to the presigned URLs and finalize with /confirm.
The full integration takes ~2 hours with a senior dev, or 1 day with a junior.
What the API solves for you
- Direct upload to R2 (no proxy): fast even with 500 MB+ scans
- Shareable link branded as your imaging center (logo, colors, domain)
- 3D viewer embeddable via iframe
- Activity log: know when and who opened each exam
- Generous rate limits: Free 100/h, Pro 1,000/h, Clinic 5,000/h, Ultra 10,000/h, Enterprise custom
- Idempotent confirm: your integration can retry safely without duplicating
- Real-time webhooks: HMAC SHA-256, automatic retries, audit log
- Reports API: upload PDFs + electronic signature with public QR
- Sandbox / Test mode: isolated cbct_test_* keys, no storage charged, no plan quota used
- Server-side ZIP upload: 1 GB ZIP per exam, up to 1.6 TB per individual extracted file
- Official OpenAPI 3.1 at /openapi.json: importable into Postman/Insomnia/Bruno, generates SDKs
- X-CBCTHub-Version header: pin the version and migrate calmly when we ship changes
Endpoints at a glance
/api/v1/meVerify key + account info
/api/v1/examsCreate exam + get upload URLs (files or zip mode)
/api/v1/examsList exams (paginated)
/api/v1/exams/{id}Get exam details
/api/v1/exams/{id}/confirmMark upload as finished (files mode)
/api/v1/exams/{id}/process-zipServer-side unzip + mark ready (zip mode)
/api/v1/exams/{id}Delete exam
/api/v1/exams/{id}/reportUpload PDF report
/api/v1/exams/{id}/reportRead active report + signature
/api/v1/exams/{id}/reportDelete report (idempotent)
/api/v1/exams/{id}/report/signElectronically sign report
/api/v1/webhooksCreate webhook subscription
/api/v1/webhooksList webhook subscriptions
/api/v1/webhooks/{id}Update events, enabled_live/test, description
/api/v1/webhooks/{id}Delete webhook subscription
/api/v1/webhooks/{id}/testSend a test.ping to your endpoint
/api/v1/webhooks/{id}/deliveriesAudit log of the last 50 deliveries
Try it in 30 seconds
curl https://cbcthub.com/api/v1/me \
-H "Authorization: Bearer cbct_live_..."Subscribe to events with webhooks
Receive a POST to your URL when an exam is confirmed or a report is signed. HMAC SHA-256 signature + automatic retries.
curl -X POST https://cbcthub.com/api/v1/webhooks \
-H "Authorization: Bearer cbct_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://miclinica.com/webhooks/cbcthub",
"events": ["exam.confirmed", "report.signed"]
}'Where to next
For developers →
Start with authentication and the 3-step flow
For B2B integrators →
Real use cases and how to architect the integration
Contact
If your system is a dental PMS, a marketplace of imaging centers, or in-house clinical software, email soporte@cbcthub.com or WhatsApp +56 9 7632 9096. We build custom integrations for Clinic, Ultra and Enterprise customers.