1. Bookings
Healthier Business Group
  • Healthier Business Group
  • Integrations
  • Virtual BLS APIs
    • Authentication
      • Exchange credentials for a token pair
      • Refresh an access token
      • Inspect the current token
      • Revoke the current token
    • Client
      • Get your unique booking URL
      • Get credit and money balances
      • List wallet transactions
    • Timeslots
      • List available timeslots
      • Hold a timeslot
      • Release a slot hold
    • Bookings
      • List bookings
      • Create a booking
      • Get a single booking
      • Download a certificate
    • Webhook Endpoints
      • List webhook endpoints
      • Create a webhook endpoint
      • Get a webhook endpoint
      • Update a webhook endpoint
      • Delete a webhook endpoint
      • Rotate the signing secret
      • Send a test event
    • Webhook Events
      • Booking created
      • Booking confirmed — candidate paid
      • Booking rescheduled
      • Booking cancelled
      • Attendance marked
      • Equipment return overdue
      • Certificate available
      • Test event
    • Courses
      • List active courses
  • Practical Training APIs
    • Authentication
      • Exchange credentials for a token pair
      • Refresh an access token
      • Inspect the current token
      • Revoke the current token
    • Client
      • Get your unique booking URL
      • Get account profile
      • Get credit and money balances
      • List wallet transactions
    • Courses
      • List active courses
    • Locations
      • List training locations
    • Training Events
      • List upcoming training events
      • Get a training event
      • Hold a seat (30 minutes)
      • Release a seat hold
    • Bookings
      • List bookings
        GET
      • Create a booking
        POST
      • List no-show bookings
        GET
      • Get a booking
        GET
      • Cancel a booking
        POST
      • Download completion certificate (PDF)
        GET
    • Booking Invites
      • List booking invites
      • Create and send a booking invite
      • Get a booking invite
    • Webhook Endpoints
      • List webhook endpoints
      • Register a webhook endpoint
      • Get a webhook endpoint
      • Update a webhook endpoint
      • Delete a webhook endpoint
      • Rotate the signing secret
      • Send a test delivery
    • Webhook Events
      • Booking Created
      • Booking Confirmed (Stripe Payment)
      • Booking Rescheduled
      • Booking Cancelled
      • Attendance Marked
      • Candidate No-Show
      • Certificate Available
      • Booking Invite Sent
      • Booking Invite Opened
      • Booking Invite Used
      • Credit Balance Low
      • Credit Balance Depleted
      • Money Balance Low
      • Money Balance Depleted
      • Training Event Seats Running Low
      • Seat Hold Expired
      • Test Event
  • Registration Assurance Monitoring APIs
    • Authentication
      • Obtain access token
      • Refresh access token
      • Get token info
      • Revoke current token
    • Workers
      • List workers
      • Create worker
      • Get worker
      • Update worker
      • Partially update worker
      • Delete worker
    • Verification
      • Verify single worker
      • Get worker verification history
      • Batch verify all workers
      • Get verification job status
    • Alerts
      • List alerts
      • Get alert
      • Acknowledge single alert
      • Acknowledge alerts in bulk
    • Monitoring
      • Update worker monitoring settings
      • Bulk update monitoring settings
    • Evidence
      • List worker evidence files
      • Get evidence metadata
      • Download evidence file
    • Billing
      • Get billing and usage summary
    • Imports
      • List worker imports
      • Upload worker CSV import
      • Get worker import status
    • Team
      • List available team roles
      • List team users
      • Create team user
      • Get team user
      • Update team user
      • Delete team user
    • Webhooks
      • List webhook endpoints
      • Create webhook endpoint
      • Get webhook endpoint
      • Update webhook endpoint
      • Delete webhook endpoint
      • Rotate webhook secret
      • Queue test webhook delivery
  • HB Portal APIs V2
    • Authentication
      • Get access token
      • Refresh access token
      • Get token info
      • Revoke current token
    • Reference Requests
      • References
        • Get reference detail
        • Download reference PDF
      • List reference requests
      • Create reference request
      • Get reference request
      • Cancel reference request
      • Add referee to request
      • Send reminders
    • Candidate Requests
    • Training Requests
    • OH Requests
    • Practical Training Requests
    • BLS Requests
    • Appraisal Requests
    • Certificate Requests
    • Training Verification Requests
    • Webhooks
      • List webhook endpoints
      • Create webhook endpoint
      • Update webhook endpoint
      • Delete webhook endpoint
      • View webhook call logs
      • Send test webhook
    • Templates
      • List form templates
  • HB Portal APIs V1 - Deprecated
    • Candidate Requests
      • Get All Candidates
      • Get Candidate Data
      • Create New Candidate
      • Update Candidate Details
    • Training Requests
      • Get Available Trainings
      • Get Candidate Course Result
      • Get Candidate Training Report
      • Get Candidate Training Report - Unassigned
    • OH Requests
      • Get Available Forms
      • Get Form Fields
      • Creating a new submission
      • Modifying the details of an existing submission (Upload Documents)
      • Make final form submission (after uploading documents)
      • Get submission list
      • Retrieve submission result details
      • Retrieve the submission result documents for the employer
    • Certificates Requests
      • Get Training Certificate
      • Get Training Certificate - including expired
      • Get Training Certificate - including non-assigned courses, but excluding expired
      • Get Training Certificate - All available courses
      • Get Training Certificate - Specific Course
    • Webhooks
      • Training Completion
      • Course Completion
  • HB Services APIs
    • List Interview Bookings
  • Practical Training Legacy APIs - Deprecated
    • Bookings
      • Get Past Bookings
      • Get Upcoming Bookings
      • Search Bookings by Date
    • Booking Links
      • Search Booking Links
  • Schemas
    • InterviewBooking
    • TokenRequest
    • CourseItem
    • Pagination
    • TokenResponse
    • ReferenceRequest
    • RefreshRequest
    • BookingsResponse
    • Reference
    • TokenInfo
    • MessageResponse
    • BookingLinksResponse
    • ReferenceDetail
    • ClientProfile
    • CreateReferenceRequest
    • Worker
    • CreditsResponse
    • RefereeInput
    • WorkerResponse
    • SlotItem
    • Transaction
    • Template
    • WorkerPaginatedResponse
    • TimeslotsResponse
    • TransactionListResponse
    • StoreWorkerRequest
    • HoldRequest
    • Course
    • CreateWebhookEndpoint
    • UpdateWorkerRequest
    • HoldResponse
    • Location
    • UpdateWebhookEndpoint
    • VerificationCheck
    • LocationListResponse
    • WebhookCall
    • VerificationCheckPaginatedResponse
    • BookingResource
    • CourseRef
    • WebhookPayload
    • VerifyQueuedResponse
    • PaginatedBookings
    • LocationRef
    • VerifyBatchResponse
    • PaginatedTransactions
    • TrainerRef
    • VerificationJobStatus
    • CreateWebhookRequest
    • TrainingEvent
    • Error
    • Alert
    • UpdateWebhookRequest
    • TrainingEventDetail
    • RateLimitError
    • AlertPaginatedResponse
    • WebhookEndpointResource
    • TrainingEventListResponse
    • ValidationError
    • BulkAcknowledgeAlertsRequest
    • WebhookCreatedResponse
    • SlotHoldResponse
    • AcknowledgeCountResponse
    • ConflictHold
    • UpdateMonitoringSettingsRequest
    • CandidateInfo
    • Booking
    • BulkUpdateMonitoringSettingsRequest
    • EvidenceFile
    • BookingDetail
    • EvidenceFilePaginatedResponse
    • BookingListResponse
    • BillingUsageResponse
    • CreateBookingRequest
    • StoreWorkerImportRequest
    • BookingInviteRef
    • BookingInvite
    • WorkerImport
    • WorkerImportPaginatedResponse
    • BookingInviteListResponse
    • TeamUser
    • CreateBookingInviteRequest
    • WebhookEndpoint
    • TeamUserPaginatedResponse
    • StoreTeamUserRequest
    • WebhookEndpointWithSecret
    • UpdateTeamUserRequest
    • WebhookEndpointListResponse
    • CreateWebhookEndpointRequest
    • WebhookEndpointPaginatedResponse
    • UpdateWebhookEndpointRequest
    • StoreWebhookEndpointRequest
    • WebhookEnvelope
    • PaginationMeta
    • PaginationLinks
    • CreateWebhookEndpointResponse
    • RotateWebhookSecretResponse
    • ErrorResponse
    • ValidationErrorResponse
    • WebhookTestRequest
    • WebhookTestQueuedResponse
    • WebhookEventStatusChanged
    • WebhookEventInitialVerification
Home
HB PortalRequest API access
Home
HB PortalRequest API access
X
Instagram
LinkedIn
  1. Bookings

Create a booking

POST
/bookings
Bookings
Last modified:2026-06-05 10:12:55
Maintainer:Not configured
Creates a confirmed booking using a previously held seat. You must call POST /training-events/{id}/hold first to obtain a hold_hash.

Payment Options#

pay_optionBehaviour
creditsDeducts 1 booking credit for the course. Confirmed immediately.
balanceDeducts the course cost from your GBP money balance. Confirmed immediately.
invRaised as an invoice. Confirmed immediately. Requires invoice_payments enabled on your account.
candidate_paysCandidate receives a Stripe checkout link via email. Booking is pending until payment completes. The payment_url is included in the response.

PMVA Bookings#

PMVA (course 3) bookings created through this API will be set to pending and require admin review before confirmation.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Body Params application/jsonRequired

Examples

Responses

🟢201
application/json
Booking created. For candidate_pays, booking_status will be pending and payment_url is included.
Bodyapplication/json

🟠401Unauthorized
🟠422UnprocessableEntity
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location '/bookings' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "hold_hash": "Xy7kRtQmNpLsWvBzJcFdEaHgUiOeYtAn",
    "first_name": "Jane",
    "last_name": "Smith",
    "email": "jane.smith@nhsstaff.co.uk",
    "phone": "+441234567890",
    "job_role": "Registered Nurse",
    "pay_option": "credits",
    "agency_contact_name": "John Doe",
    "agency_contact_email": "john.doe@acme.co.uk",
    "agency_email": "invoices@acme.co.uk"
}'
Response Response Example
201 - Confirmed booking (credits)
{
    "id": 95759,
    "candidate": {
        "name": "Jane Smith",
        "email": "jane.smith@nhsstaff.co.uk",
        "phone": "+441234567890",
        "job_role": "Registered Nurse"
    },
    "course": {
        "id": 1,
        "name": "CSTF All-In-One Mandatory Practical Training"
    },
    "location": {
        "id": 3,
        "name": "Glasgow",
        "address": "Abbey Mill Business Centre, Paisley"
    },
    "trainer": {
        "id": 5,
        "name": "David Rankin"
    },
    "start_date": "2026-07-15T10:00:00+01:00",
    "end_date": "2026-07-15T17:00:00+01:00",
    "booking_status": "booked",
    "pay_status": "completed",
    "pay_option": "credits",
    "booked_by": "Agency",
    "attendance": null,
    "certificate_available": false,
    "created_at": "2026-06-05T10:00:00+00:00"
}
Modified at 2026-06-05 10:12:55
Previous
List bookings
Next
List no-show bookings
Built with