Give time back to your team
Automate repetitive administration and data entry, so clinicians and operational teams can spend less time copying records and more time with patients.
Connect systems that your organisation operates to Carebit with our secure JSON API and signed webhooks. Build private integrations for your organisation’s own use.
You can use AI agents as part of a private integration that your organisation deploys, controls and operates. Do not give custom-integration credentials to third-party products. Reviewed third-party products will use the Carebit App Store authorization process when it becomes available.
Make Carebit work your way
Automate repetitive work, connect systems that your organisation operates, and create private experiences tailored to your patients and clinicians.
Automate repetitive administration and data entry, so clinicians and operational teams can spend less time copying records and more time with patients.
Combine API actions and real-time events with your own logic. Fully customise the way your practice runs and build bespoke experiences.
Turn your existing patient and clinical data into custom apps, dashboards, portals, calendars, and tools designed around your organisation.
Keep bookings, patient details, letters, and results moving securely between Carebit and systems that your organisation controls.
Learn the platform
Introduction
Getting started
Create a developer project, mint a credential, set up webhooks, exchange it for an access token, and make your first request.
Introduction
Authentication
OAuth2 client credentials and refresh tokens, plus how to revoke a token or rotate a credential.
Testing
Testing your integration
Create a safe example patient, send fabricated webhook events, and verify your integration without using real patient data.
API
Pagination and filtering
Cursor pagination, page sizes, and how to filter list endpoints.
API
Idempotency and retries
Required Idempotency-Key on every POST create and PATCH update. Replays return the stored response.
API
Validation errors
Error response envelope, HTTP status meanings, and how to correlate a support ticket.
API
Rate limits
Per-token, per-project, per-Organization, and per-IP limits applied at the Cloudflare edge.
API
Creating and connecting Patients
How POST /v1/patients creates a Patient, reuses a connected match, or opens a PatientConnectionRequest that your organisation explicitly acts on.
API
File uploads and imports
Upload Base64 file bytes or import files from public URLs, then track asynchronous validation and malware scanning.
Webhooks
Webhook setup
Register an HTTPS endpoint, subscribe to events, and receive signed deliveries.
Webhooks
Webhook signatures
Verify Carebit webhook signatures with a constant-time HMAC-SHA256 compare across every active v1 digest.
Webhooks
Webhook retries
How the dispatcher retries a failed delivery, when it gives up, and how manual resend works.
Support
Support diagnostics
Attach a request id, correlate a webhook delivery, and share the minimum context we need to help.
Conventions
Changelog and versioning
Path-versioned. Additive-only inside a major version. Deprecations announced in advance.
Marketing & analytics
Google Tag Manager
Load your GTM container on the Patient Portal booking flow and fire a conversion when a booking is confirmed.
Complete reference
113 endpoints across 35 resource groups, each with copyable cURL, JavaScript, Python, Ruby, and PHP examples.
Browse the full reference/oauth/revoke/oauth/token/v1/alternative_payors/v1/alternative_payors/:id/v1/availability_periods/v1/availability_periods/:id/v1/availability_periods/:id/v1/availability_slots/v1/booking_forms/v1/booking_forms/v1/booking_forms/:id/v1/booking_forms/:id/v1/bookings/v1/bookings/v1/bookings/:id/v1/bookings/:id/v1/bookings/:id/cancellations/v1/clinician_agenda/v1/clinicians/v1/clinicians/:id/v1/credit_notes/v1/credit_notes/v1/credit_notes/:id/v1/credit_notes/:id/v1/credit_notes/:id/v1/digital_form_responses/v1/digital_form_responses/v1/digital_form_responses/:id/v1/digital_forms/v1/digital_forms/v1/digital_forms/:id/v1/expirable_files/v1/expirable_files/:id/v1/human_tasks/v1/human_tasks/v1/human_tasks/:id/v1/human_tasks/:id/v1/human_tasks/:id/comments/v1/insurance_companies/v1/insurance_companies/:id/v1/invoices/v1/invoices/v1/invoices/:id/v1/lead_form_responses/v1/lead_form_responses/:id/v1/lead_pipelines/v1/leads/v1/leads/v1/leads/:id/v1/leads/:id/v1/letter_batches/v1/letters/v1/letters/v1/letters/:id/v1/lists/v1/lists/v1/lists/:id/v1/lists/:id/v1/lists/:id/v1/lists/:list_id/members/v1/lists/:list_id/members/v1/lists/:list_id/members/:id/v1/locations/v1/locations/:id/v1/next_availability_slot/v1/notes/v1/notes/v1/notes/:id/v1/notes/:id/v1/organization/v1/organizations/v1/patient_connection_requests/v1/patient_connection_requests/:id/v1/patient_connection_requests/:id/actions/v1/patients/v1/patients/v1/patients/:id/v1/patients/:id/v1/patients/:id/payment_methods/v1/patients/:patient_id/connections/v1/patients/:patient_id/connections/v1/patients/:patient_id/connections/:id/v1/patients/:patient_id/connections/:id/v1/patients/:patient_id/payors/v1/patients/:patient_id/payors/v1/patients/:patient_id/payors/:id/v1/patients/:patient_id/payors/:id/v1/payments/v1/payments/v1/payments/:id/refunds/v1/photos/v1/photos/v1/photos/:id/v1/photos/:id/v1/quotes/v1/recall_programmes/v1/recall_programmes/:id/v1/remote_file_import_batches/:id/v1/reports/v1/service_variants/v1/service_variants/:id/v1/services/v1/services/v1/services/:id/v1/services/:id/v1/staff_members/v1/staff_members/:id/v1/test_result_batches/v1/test_results/v1/test_results/v1/test_results/:id/v1/token/v1/transmissionsReal-time updates
Keep your integration synchronized with signed, retryable events.
booking.arrivedbooking.canceledbooking.confirmedbooking.did_not_attendbooking.end_time_reachedbooking.updateddigital_form_response.completedexpirable_file.availableinvoice.finalizedinvoice.overdueinvoice.paidinvoice.sentinvoice.settledlead.converted_to_patientlead.createdlead.form_response_submittedlead.stage_changedlead.updatedlist.member_addedlist.member_removedpatient_connection.createdpatient_connection_request.createdpatient_connection_request.deniedpatient_connection_request.expiredpatient_connection_request.grantedpayment.paidquote.acceptedquote.createdrefund.createdrefund.failed