HB Compliance Hub APIs V2
Authentication
Hub (core)
Account
- GETList webhook endpoints
/api/v2/webhooks - POSTCreate a webhook endpoint
/api/v2/webhooks - GETList the events an endpoint can receive
/api/v2/webhooks/events - GETGet one webhook endpoint
/api/v2/webhooks/{webhook} - PUTUpdate a webhook endpoint
/api/v2/webhooks/{webhook} - DELDelete a webhook endpoint
/api/v2/webhooks/{webhook} - GETList the deliveries of an endpoint
/api/v2/webhooks/{webhook}/deliveries - POSTRedeliver an event
/api/v2/webhooks/{webhook}/deliveries/{delivery}/redeliver - POSTRotate the signing secret
/api/v2/webhooks/{webhook}/rotate-secret - POSTSend a test event
/api/v2/webhooks/{webhook}/test
Online Training
- A combined training certificate was supplied for a candidate
online-training.certificate.issued - Courses were assigned to a candidate
online-training.course.assigned - A candidate passed a course
online-training.course.completed - A candidate completed all their assigned training
online-training.training.completed - A candidate was sent a reminder that their training has expired
online-training.training.expired - A candidate was sent a reminder that their training is due for renewal
online-training.training.expiring - GETList candidates with training
/api/v2/online-training/candidates - GETGet a candidate's training
/api/v2/online-training/candidates/{candidate_ref} - GETDownload a certificate
/api/v2/online-training/candidates/{candidate_ref}/certificate - PUTSet the courses of a candidate
/api/v2/online-training/candidates/{candidate_ref}/courses - POSTSend a reminder email to a candidate
/api/v2/online-training/candidates/{candidate_ref}/emails - GETList the modules of a candidate's courses
/api/v2/online-training/candidates/{candidate_ref}/modules - GETList a candidate's practical training results
/api/v2/online-training/candidates/{candidate_ref}/practical-results - GETList a candidate's course results
/api/v2/online-training/candidates/{candidate_ref}/results - GETGet one course result
/api/v2/online-training/candidates/{candidate_ref}/results/{course_id} - GETList the courses the account can assign
/api/v2/online-training/courses - GETGet the credit balance
/api/v2/online-training/credits - GETList credit transactions
/api/v2/online-training/credits/transactions - GETGet the dashboard numbers
/api/v2/online-training/dashboard - GETGet the Online Training account
/api/v2/online-training/profile - POSTCreate an embed session for a course or test
/api/v2/online-training/embed/sessions - POSTRefresh an embed session
/api/v2/online-training/embed/sessions/{session_id}/refresh - A candidate payment link expired unpaid
online-training.access.payment_link.expired - A candidate's training access was taken back (a refunded payment)
online-training.access.revoked - A candidate's training access was switched on (agency credits, free or candidate payment)
online-training.access.started - A candidate's manual renewal was approved and their access renewed
online-training.renewal.approved - A candidate's manual renewal request was declined
online-training.renewal.declined - A manual renewal was requested for a candidate (by the candidate, by you through the API or by an embed session)
online-training.renewal.requested - A candidate accepted the Hub terms, in the Hub or inside an embedded frame
online-training.terms.accepted - GETGet a candidate's training access
/api/v2/online-training/candidates/{candidate_ref}/access - GETGet a candidate payment link's status
/api/v2/online-training/candidates/{candidate_ref}/access/payments/{payment_id} - POSTStart a candidate's training access
/api/v2/online-training/candidates/{candidate_ref}/access/start - GETGet a candidate's renewal
/api/v2/online-training/candidates/{candidate_ref}/renewal - POSTApprove a candidate's renewal
/api/v2/online-training/candidates/{candidate_ref}/renewal/approve - POSTDecline a candidate's renewal
/api/v2/online-training/candidates/{candidate_ref}/renewal/decline - POSTAsk for a candidate's renewal
/api/v2/online-training/candidates/{candidate_ref}/renewal/request - GETList renewal requests
/api/v2/online-training/renewals
Occupational Health
- A Fit to Work certificate or fail letter was added to a request
occupational-health.document.available - A candidate was sent a renewal reminder
occupational-health.renewal.due - A request is waiting for the candidate to complete the questionnaire
occupational-health.request.awaiting_candidate - A request ended in a fail (not fit)
occupational-health.request.fail - Full clearance was issued
occupational-health.request.full_clearance - The candidate completed the online questionnaire
occupational-health.request.questionnaire_completed - A request was rejected
occupational-health.request.rejected - A request was submitted to Healthier Business
occupational-health.request.submitted - Temporary clearance was issued
occupational-health.request.temporary_clearance - GETList alerts
/api/v2/occupational-health/alerts - POSTDismiss all alerts
/api/v2/occupational-health/alerts/clear - POSTDismiss one alert
/api/v2/occupational-health/alerts/dismiss - GETList candidates
/api/v2/occupational-health/candidates - GETGet a candidate with their request history
/api/v2/occupational-health/candidates/{candidate_ref} - POSTSend the health questionnaire reminder email
/api/v2/occupational-health/candidates/{candidate_ref}/reminder - GETList clearance types
/api/v2/occupational-health/clearance-types - GETGet the questionnaire of a clearance type
/api/v2/occupational-health/clearance-types/{clearance_type}/questionnaire - GETGet the credit balance
/api/v2/occupational-health/credits - GETList credit packages
/api/v2/occupational-health/credits/packages - GETList credit transactions
/api/v2/occupational-health/credits/transactions - GETList questionnaires
/api/v2/occupational-health/forms - GETGet one questionnaire
/api/v2/occupational-health/forms/{shortcode} - GETGet the Occupational Health account
/api/v2/occupational-health/profile - GETList the reports
/api/v2/occupational-health/reports - POSTStart generating a report
/api/v2/occupational-health/reports/{type}/generate - GETDownload a generated report
/api/v2/occupational-health/reports/{type}/{format} - GETGet the choices and upload limits of a new request
/api/v2/occupational-health/request-options - GETList requests
/api/v2/occupational-health/requests - POSTCreate a request
/api/v2/occupational-health/requests - GETDownload the requests as a CSV file
/api/v2/occupational-health/requests/export - GETGet the request counts
/api/v2/occupational-health/requests/stats - GETGet one request
/api/v2/occupational-health/requests/{id} - GETList the questionnaire answers of a request
/api/v2/occupational-health/requests/{id}/answers - GETList the documents of a request
/api/v2/occupational-health/requests/{id}/documents - GETDownload a supporting document
/api/v2/occupational-health/requests/{id}/documents/{file} - GETDownload a Fit to Work certificate or fail letter
/api/v2/occupational-health/requests/{id}/ftw/{ftw} - GETGet the questionnaire of a request
/api/v2/occupational-health/requests/{id}/questionnaire - POSTSubmit the answers to a questionnaire for a candidate
/api/v2/occupational-health/requests/{id}/questionnaire/{shortcode}/answers - GETGet the Occupational Health settings
/api/v2/occupational-health/settings - POSTCreate an embed session for a health questionnaire
/api/v2/occupational-health/embed/sessions - POSTRefresh an embed session
/api/v2/occupational-health/embed/sessions/{session_id}/refresh
References
- Candidate Submitted Referee Details
references.candidate.referees.submitted - All References Completed
references.reference.all_completed - Reference Declined
references.reference.declined - Reference Expired
references.reference.expired - Reminder Sent to Referee
references.reference.reminder.sent - Reference Request Created
references.reference.request.created - Reference Submitted
references.reference.submitted - GETGet a referee's reference
/api/v2/references/referees/{uuid} - GETDownload a reference as a PDF
/api/v2/references/referees/{uuid}/pdf - POSTRemind one referee
/api/v2/references/referees/{uuid}/reminder - GETList reference requests
/api/v2/references/requests - POSTCreate a reference request
/api/v2/references/requests - GETGet a reference request
/api/v2/references/requests/{uuid} - POSTCancel a reference request
/api/v2/references/requests/{uuid}/cancel - POSTExtend a reference request
/api/v2/references/requests/{uuid}/extend - POSTAdd a referee to a request
/api/v2/references/requests/{uuid}/referees - POSTRemind the referees of a request
/api/v2/references/requests/{uuid}/reminders - GETList reference forms
/api/v2/references/templates
Practical Training
- The booking balance ran out
practical-training.balance.depleted - The booking balance is low
practical-training.balance.low - Attendance was recorded on the last day
practical-training.booking.attendance_marked - A booking was cancelled or refunded
practical-training.booking.cancelled - A certificate is available
practical-training.booking.certificate_available - A booking was confirmed (paid)
practical-training.booking.confirmed - A booking was created
practical-training.booking.created - A candidate did not attend
practical-training.booking.no_show - A booking was rescheduled
practical-training.booking.rescheduled - A booking invitation was opened
practical-training.booking_invite.opened - A booking invitation was sent
practical-training.booking_invite.sent - A booking invitation was used to book
practical-training.booking_invite.used - A course ran out of credits
practical-training.credits.depleted - A course has few credits left
practical-training.credits.low - A held place expired
practical-training.slot_hold.expired - A session is nearly full
practical-training.training_event.seats_low - GETList booking invitations
/api/v2/practical-training/booking-invites - POSTInvite a candidate
/api/v2/practical-training/booking-invites - GETGet a booking invitation
/api/v2/practical-training/booking-invites/{invite} - DELWithdraw an invitation
/api/v2/practical-training/booking-invites/{invite} - GETGet the booking link
/api/v2/practical-training/booking-link - GETList bookings
/api/v2/practical-training/bookings - POSTCreate a booking
/api/v2/practical-training/bookings - GETList no-shows
/api/v2/practical-training/bookings/no-shows - GETGet a booking
/api/v2/practical-training/bookings/{booking} - POSTCancel a booking
/api/v2/practical-training/bookings/{booking}/cancel - GETDownload a certificate
/api/v2/practical-training/bookings/{booking}/certificate - GETList the courses
/api/v2/practical-training/courses - GETGet the booking credits and balance
/api/v2/practical-training/credits - GETList the credit and balance movements
/api/v2/practical-training/credits/transactions - GETList the locations
/api/v2/practical-training/locations - GETGet the account profile
/api/v2/practical-training/profile - GETList the training sessions
/api/v2/practical-training/training-events - DELRelease a hold
/api/v2/practical-training/training-events/hold/{hash} - GETGet a training session
/api/v2/practical-training/training-events/{event} - POSTHold a place
/api/v2/practical-training/training-events/{event}/hold
Virtual BLS Training
- Attendance was recorded
virtual-bls-training.booking.attendance_marked - A booking was cancelled or refunded
virtual-bls-training.booking.cancelled - A certificate is available
virtual-bls-training.booking.certificate_available - A booking was confirmed (paid)
virtual-bls-training.booking.confirmed - A booking was created
virtual-bls-training.booking.created - The training kit is overdue for return
virtual-bls-training.booking.equipment_late - A booking was rescheduled
virtual-bls-training.booking.rescheduled - GETGet the booking link
/api/v2/virtual-bls-training/booking-url - GETList bookings
/api/v2/virtual-bls-training/bookings - POSTCreate a booking
/api/v2/virtual-bls-training/bookings - GETGet a booking
/api/v2/virtual-bls-training/bookings/{booking} - POSTCancel a booking
/api/v2/virtual-bls-training/bookings/{booking}/cancel - GETDownload a certificate
/api/v2/virtual-bls-training/bookings/{booking}/certificate - POSTReschedule a booking
/api/v2/virtual-bls-training/bookings/{booking}/reschedule - GETList courses
/api/v2/virtual-bls-training/courses - GETGet the booking credits and balance
/api/v2/virtual-bls-training/credits - GETList credit and balance transactions
/api/v2/virtual-bls-training/credits/transactions - GETGet the account profile
/api/v2/virtual-bls-training/profile - GETList free timeslots
/api/v2/virtual-bls-training/timeslots - POSTHold a timeslot
/api/v2/virtual-bls-training/timeslots/hold - DELRelease a held timeslot
/api/v2/virtual-bls-training/timeslots/hold/{hash}
Clinical Interviews
- Attendance was recorded
clinical-interviews.booking.attendance_marked - A booking was cancelled
clinical-interviews.booking.cancelled - A booking was confirmed (paid)
clinical-interviews.booking.confirmed - A booking was created
clinical-interviews.booking.created - An interview was completed, missed or ended incomplete
clinical-interviews.booking.interview_completed - The interviewer submitted the interview report
clinical-interviews.booking.interview_report_available - A booking was rescheduled
clinical-interviews.booking.rescheduled - GETList bookings
/api/v2/clinical-interviews/bookings - POSTBook a held slot
/api/v2/clinical-interviews/bookings - GETGet a booking
/api/v2/clinical-interviews/bookings/{booking} - POSTCancel a booking
/api/v2/clinical-interviews/bookings/{booking}/cancel - GETDownload the interview report
/api/v2/clinical-interviews/bookings/{booking}/interview-report - POSTReschedule a booking
/api/v2/clinical-interviews/bookings/{booking}/reschedule - GETGet credits and balance
/api/v2/clinical-interviews/credits - GETList credit transactions
/api/v2/clinical-interviews/credits/transactions - GETList interview types
/api/v2/clinical-interviews/interview-types - GETGet the account profile
/api/v2/clinical-interviews/profile - GETList free timeslots
/api/v2/clinical-interviews/timeslots - POSTHold a timeslot
/api/v2/clinical-interviews/timeslots/hold - DELRelease a hold
/api/v2/clinical-interviews/timeslots/hold/{hash}
Registration Monitoring
- A worker registration was verified for the first time
registration-monitoring.worker.initial_verification - A worker registration status changed
registration-monitoring.worker.status_changed - GETList alerts
/api/v2/registration-monitoring/alerts - POSTAcknowledge several alerts
/api/v2/registration-monitoring/alerts/acknowledge - GETShow an alert
/api/v2/registration-monitoring/alerts/{alert} - POSTAcknowledge an alert
/api/v2/registration-monitoring/alerts/{alert}/acknowledge - GETList bills
/api/v2/registration-monitoring/billing/bills - GETDownload a bill's invoice
/api/v2/registration-monitoring/billing/bills/{bill}/invoice - GETShow billing and usage
/api/v2/registration-monitoring/billing/usage - GETShow an evidence file
/api/v2/registration-monitoring/evidence/{file} - GETDownload an evidence file
/api/v2/registration-monitoring/evidence/{file}/download - GETShow the raw data of a registration check
/api/v2/registration-monitoring/registration-checks/{check}/raw-data - GETShow team roles and permissions
/api/v2/registration-monitoring/team/roles - POSTCheck several workers now
/api/v2/registration-monitoring/verify/batch - GETShow the progress of a verification job
/api/v2/registration-monitoring/verify/jobs/{job} - GETList worker imports
/api/v2/registration-monitoring/worker-imports - POSTStart a worker import
/api/v2/registration-monitoring/worker-imports - POSTPreview a worker import
/api/v2/registration-monitoring/worker-imports/preview - GETShow the import template
/api/v2/registration-monitoring/worker-imports/template - GETShow a worker import
/api/v2/registration-monitoring/worker-imports/{import} - GETList monitored registrations
/api/v2/registration-monitoring/workers - POSTAdd a registration to monitor
/api/v2/registration-monitoring/workers - POSTChange the monitoring settings of several workers
/api/v2/registration-monitoring/workers/monitoring-settings/bulk - GETShow a monitored registration
/api/v2/registration-monitoring/workers/{worker} - PUTChange a monitored registration
/api/v2/registration-monitoring/workers/{worker} - PATCHChange a monitored registration
/api/v2/registration-monitoring/workers/{worker} - DELStop monitoring a registration
/api/v2/registration-monitoring/workers/{worker} - GETList the evidence files of a registration
/api/v2/registration-monitoring/workers/{worker}/evidence - PATCHChange the monitoring settings of a worker
/api/v2/registration-monitoring/workers/{worker}/monitoring-settings - GETList the check history of a worker
/api/v2/registration-monitoring/workers/{worker}/verification - POSTCheck a worker now
/api/v2/registration-monitoring/workers/{worker}/verify
DBS & Right To Work
- A DBS or right to work alert was raised
dbs-rtw.alert.raised - A worker DBS Update Service status changed
dbs-rtw.dbs.status_changed - A worker right to work status changed
dbs-rtw.rtw.status_changed - GETList alerts
/api/v2/dbs-rtw/alerts - POSTAcknowledge several alerts
/api/v2/dbs-rtw/alerts/acknowledge - GETShow an alert
/api/v2/dbs-rtw/alerts/{alert} - POSTAcknowledge an alert
/api/v2/dbs-rtw/alerts/{alert}/acknowledge - GETList bills
/api/v2/dbs-rtw/billing/bills - GETDownload a bill's invoice
/api/v2/dbs-rtw/billing/bills/{bill}/invoice - GETShow billing and usage
/api/v2/dbs-rtw/billing/usage - GETShow the raw data of a DBS check
/api/v2/dbs-rtw/dbs-checks/{check}/raw-data - GETDownload a DBS certificate PDF
/api/v2/dbs-rtw/evidence/dbs/{check} - GETDownload a right to work screenshot
/api/v2/dbs-rtw/evidence/rtw/{check} - GETShow the raw data of a right to work check
/api/v2/dbs-rtw/rtw-checks/{check}/raw-data - GETShow team roles and permissions
/api/v2/dbs-rtw/team/roles - POSTCheck several workers now
/api/v2/dbs-rtw/verify/batch - GETShow the progress of a verification job
/api/v2/dbs-rtw/verify/jobs/{job} - GETList worker imports
/api/v2/dbs-rtw/worker-imports - POSTStart a worker import
/api/v2/dbs-rtw/worker-imports - POSTPreview a worker import
/api/v2/dbs-rtw/worker-imports/preview - GETShow the import template
/api/v2/dbs-rtw/worker-imports/template - GETShow a worker import
/api/v2/dbs-rtw/worker-imports/{import} - GETList DBS and right to work workers
/api/v2/dbs-rtw/workers - POSTAdd a worker to DBS and right to work monitoring
/api/v2/dbs-rtw/workers - POSTChange the monitoring settings of several workers
/api/v2/dbs-rtw/workers/monitoring-settings/bulk - GETShow a DBS and right to work worker
/api/v2/dbs-rtw/workers/{worker} - PUTChange a DBS and right to work worker
/api/v2/dbs-rtw/workers/{worker} - PATCHChange a DBS and right to work worker
/api/v2/dbs-rtw/workers/{worker} - DELStop monitoring a worker
/api/v2/dbs-rtw/workers/{worker} - GETList the evidence of a DBS and right to work worker
/api/v2/dbs-rtw/workers/{worker}/evidence - GETDownload an uploaded passport image or document
/api/v2/dbs-rtw/workers/{worker}/evidence/{kind} - PATCHChange the monitoring settings of a worker
/api/v2/dbs-rtw/workers/{worker}/monitoring-settings - PUTRenew a right to work share code
/api/v2/dbs-rtw/workers/{worker}/share-code - GETList the check history of a worker
/api/v2/dbs-rtw/workers/{worker}/verification - POSTCheck a worker now
/api/v2/dbs-rtw/workers/{worker}/verify
Clinical Appraisals
- A booking was confirmed (paid)
clinical-appraisals.booking.confirmed - A booking was created
clinical-appraisals.booking.created - GETList appraisal types
/api/v2/clinical-appraisals/appraisal-types - GETList bookings
/api/v2/clinical-appraisals/bookings - POSTBook an appraisal
/api/v2/clinical-appraisals/bookings - GETGet a booking
/api/v2/clinical-appraisals/bookings/{booking} - GETDownload the evaluation report
/api/v2/clinical-appraisals/bookings/{booking}/evaluation-report - GETGet credits and balance
/api/v2/clinical-appraisals/credits - GETList credit transactions
/api/v2/clinical-appraisals/credits/transactions - GETGet the account profile
/api/v2/clinical-appraisals/profile
Training Verification
- Training Verification API: overviewTraining Verification checks a training certificate against what Healthier Business holds. You send a certificate (a PDF or an image) with the candidate's name and email address and the agency named on it. Hub reads it a...
- Who pays for whatThe API charges your credits and balances only. There is no card payment through the API: top-ups and credit purchases are made in Hub. The rules are those of the Hub form, read from your account, never from anything you...
- Submitting a certificatePOST /api/v2/training-verification/verifications submits one certificate for verification and answers 202 Accepted with the verification in status pending. The check runs afterwards. The key needs the scope training-veri...
- Statuses and resultsEvery verification has a status. The first two are working states; the other four are final.
- WebhooksWebhooks tell you the moment a verification changes, so you do not have to ask the API over and over. There are seven events, picked per endpoint like every Hub event.
- ErrorsEvery error has the same body: error (a stable code to program against), message (a sentence for a person), details when there is something to point at, and requestid. Quote the requestid (also in the X-Request-Id header...
- Sandbox behaviourA sandbox runs the whole Training Verification API with made-up data. Nothing is charged, nobody reads your certificate and no email is sent. This page says how the sandbox decides what happens, so you can test every out...
- A verification failed
training-verification.failed - A certificate could not be matched to a record
training-verification.not_found - A verification started processing
training-verification.processing - The charge of a verification was refunded
training-verification.refunded - A verification was rejected or cancelled
training-verification.rejected - A certificate verification was submitted
training-verification.submitted - A certificate was verified
training-verification.verified - GETGet the balances
/api/v2/training-verification/credits - GETList ledger transactions
/api/v2/training-verification/credits/transactions - GETGet the price of each request type
/api/v2/training-verification/pricing - GETGet the Training Verification account
/api/v2/training-verification/profile - GETList verifications
/api/v2/training-verification/verifications - POSTRequest a verification
/api/v2/training-verification/verifications - GETGet a verification
/api/v2/training-verification/verifications/{verification} - POSTCancel a verification
/api/v2/training-verification/verifications/{verification}/cancel - GETDownload the certificate file
/api/v2/training-verification/verifications/{verification}/certificate - GETList the events of a verification
/api/v2/training-verification/verifications/{verification}/events - GETDownload the verification report
/api/v2/training-verification/verifications/{verification}/report
