1. Submissions
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
      • Create a booking
      • List no-show bookings
      • Get a booking
      • Cancel a booking
      • Download completion certificate (PDF)
    • 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
  • Clinical Interview 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
    • Interview Types
      • List active interview types
    • Timeslots
      • List available timeslots
      • Hold a timeslot
      • Release a slot hold
    • Bookings
      • List bookings
      • Create a booking
      • Get a single booking
      • Download interview report
    • 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
      • Interview completed
      • Interview report available
      • 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
      • Documents
        • Get required documents for a submission
        • List documents uploaded against a submission
        • Upload a document against a submission
        • Delete an uploaded document
      • Submissions
        • Finalise a submission after required documents have been uploaded
          POST
      • Get Available Forms
        GET
      • Get Form Fields
        GET
      • Creating a new submission
        POST
      • Modifying the details of an existing submission (Upload Documents)
        PATCH
      • Make final form submission (after uploading documents)
        POST
      • Get submission list
        GET
      • Retrieve submission result details
        GET
      • Retrieve the submission result documents for the employer
        GET
    • 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
    • InterviewTypeItem
    • RequiredDocument
    • Pagination
    • TokenResponse
    • ReferenceRequest
    • RefreshRequest
    • RequiredDocumentsResponse
    • BookingsResponse
    • Reference
    • MessageResponse
    • RequiredDocumentsEnvelope
    • BookingLinksResponse
    • ReferenceDetail
    • TokenInfo
    • ErrorResponse
    • ClientProfile
    • UploadedDocument
    • CreateReferenceRequest
    • Worker
    • CreditsResponse
    • ListDocumentsEnvelope
    • RefereeInput
    • WorkerResponse
    • SlotItem
    • Transaction
    • UploadDocumentEnvelope
    • Template
    • WorkerPaginatedResponse
    • TimeslotsResponse
    • TransactionListResponse
    • DeleteDocumentEnvelope
    • StoreWorkerRequest
    • HoldRequest
    • Course
    • EmptySuccessEnvelope
    • CreateWebhookEndpoint
    • UpdateWorkerRequest
    • HoldResponse
    • Location
    • ApiError
    • UpdateWebhookEndpoint
    • VerificationCheck
    • CreateBookingRequest
    • LocationListResponse
    • ErrorEnvelope
    • 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
    • WebhookEnvelope
    • ConflictHold
    • PaginationLinks
    • UpdateMonitoringSettingsRequest
    • CandidateInfo
    • Booking
    • PaginationMeta
    • BulkUpdateMonitoringSettingsRequest
    • EvidenceFile
    • BookingDetail
    • EvidenceFilePaginatedResponse
    • BookingListResponse
    • BillingUsageResponse
    • StoreWorkerImportRequest
    • BookingInviteRef
    • BookingInvite
    • WorkerImport
    • WorkerImportPaginatedResponse
    • BookingInviteListResponse
    • TeamUser
    • CreateBookingInviteRequest
    • TeamUserPaginatedResponse
    • StoreTeamUserRequest
    • WebhookEndpointWithSecret
    • UpdateTeamUserRequest
    • WebhookEndpointListResponse
    • WebhookEndpoint
    • CreateWebhookEndpointRequest
    • WebhookEndpointPaginatedResponse
    • StoreWebhookEndpointRequest
    • UpdateWebhookEndpointRequest
    • CreateWebhookEndpointResponse
    • RotateWebhookSecretResponse
    • WebhookTestRequest
    • WebhookTestQueuedResponse
    • WebhookEventStatusChanged
    • WebhookEventInitialVerification
    • ValidationErrorResponse
Home
HB PortalRequest API access
Home
HB PortalRequest API access
X
Instagram
LinkedIn
  1. Submissions

Finalise a submission after required documents have been uploaded

POST
/api/submissions/{submission_id}/submit
Submissions
Last modified:2026-07-27 09:06:51
Maintainer:Not configured
Final submission step for a form that required document upload. Internally routed to the same handler as the legacy POST /api/submit-form/{submission_ref} endpoint - this path just also accepts the raw submission_id instead of requiring the generated submission_ref (which does not exist yet for a still-pending, docs-required submission). Rejects with 403 'You must upload the requested documents before you can submit the form' if documents are still required at call time. Also rejects with 403 'Form already submitted' for any submission that never required document upload in the first place (those are finalised immediately at creation), so in practice this endpoint is only ever usefully callable for submissions that came back from creation with docs_required=true. On success: marks the submission as fully submitted, generates and stores its submission_ref, updates the candidate record, and sends the completion notification email (with any uploaded documents attached, subject to max_attachment_size).

Request

Authorization
API Key
Add parameter in header
API-KEY
Example:
API-KEY: ********************
or
Path Params

Header Params

Responses

🟢200
application/json
Submission finalised and notification email sent. The response body is an array containing a single empty string, matching this controller's existing convention for no-content success responses.
Bodyapplication/json

🟠403
🟠401Unauthorised
🟠404SubmissionNotFound
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/submissions//submit' \
--header 'API-VERSION;' \
--header 'API-KEY: <api-key>'
Response Response Example
200 - Example 1
[
    ""
]
Modified at 2026-07-27 09:06:51
Previous
Delete an uploaded document
Next
Get Available Forms
Built with