Introduction

Overview of the CBCTHub API v1

All systems operational·cbcthub.com/en/status

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

  1. Create a free account and generate an API key under Settings → API.
  2. Call POST /api/v1/exams with patient metadata + file list.
  3. 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

GET/api/v1/me

Verify key + account info

POST/api/v1/exams

Create exam + get upload URLs (files or zip mode)

GET/api/v1/exams

List exams (paginated)

GET/api/v1/exams/{id}

Get exam details

POST/api/v1/exams/{id}/confirm

Mark upload as finished (files mode)

POST/api/v1/exams/{id}/process-zip

Server-side unzip + mark ready (zip mode)

DELETE/api/v1/exams/{id}

Delete exam

POST/api/v1/exams/{id}/report

Upload PDF report

GET/api/v1/exams/{id}/report

Read active report + signature

DELETE/api/v1/exams/{id}/report

Delete report (idempotent)

POST/api/v1/exams/{id}/report/sign

Electronically sign report

POST/api/v1/webhooks

Create webhook subscription

GET/api/v1/webhooks

List webhook subscriptions

PATCH/api/v1/webhooks/{id}

Update events, enabled_live/test, description

DELETE/api/v1/webhooks/{id}

Delete webhook subscription

POST/api/v1/webhooks/{id}/test

Send a test.ping to your endpoint

GET/api/v1/webhooks/{id}/deliveries

Audit log of the last 50 deliveries

Try it in 30 seconds

curl
curl https://cbcthub.com/api/v1/me \
  -H "Authorization: Bearer cbct_live_..."

Try API now

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
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

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.