Manage practice group settings, access tokens, and configuration. Use the access token endpoint to generate short-lived JWTs for Hero Elements.
Hero Health Public API (1.0.0)
The Hero Health Public API enables healthtech partners to build products that leverage Hero Health's IM1-assured EMIS/TPP integrated functionality.
- Patient messaging — Send SMS, email, and NHS App messages on behalf of a practice
- Appointment booking — List available slots, create reservations, and confirm bookings
- Patient management — Register and look up patients via PDS (Personal Demographics Service)
- Webhooks — Subscribe to events such as appointment confirmations and write-to-record outcomes
- Booking & form links — Generate sharable links for patient self-service flows
- Elements — Generate access tokens for embedding pre-built Hero UI components
All endpoints require an x-api-key and x-practice-group-id header. API keys are scoped to specific functionality (messaging, booking, booking links). Contact Hero support to request your key.
Download OpenAPI description
Languages
Servers
Mock server
https://developer.herohealth.net/_mock/apis/public-api/openapi/
Staging
https://api.staging.htech.app/
Production
https://api.herohealth.net/
- Mock serverhttps://developer.herohealth.net/_mock/apis/public-api/openapi/v1/booking-hca/consultants
- Staginghttps://api.staging.htech.app/v1/booking-hca/consultants
- Productionhttps://api.herohealth.net/v1/booking-hca/consultants
- curl
- NodeJS
- Ruby
curl -i -X GET \
'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/booking-hca/consultants?search=string&fields=fields%3Dfirst_name%26fields%3Dlast_name' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-H 'x-practice-group-id: YOUR_API_KEY_HERE'- Mock serverhttps://developer.herohealth.net/_mock/apis/public-api/openapi/v1/booking-hca/consultants/{gmc_number}
- Staginghttps://api.staging.htech.app/v1/booking-hca/consultants/{gmc_number}
- Productionhttps://api.herohealth.net/v1/booking-hca/consultants/{gmc_number}
- curl
- NodeJS
- Ruby
curl -i -X GET \
'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/booking-hca/consultants/{gmc_number}?booking_type=initial' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-H 'x-practice-group-id: YOUR_API_KEY_HERE'Response
application/json
{ "hca_consultant_id": "string", "crm_id": "a1cca198-42e1-4e72-a0e1-017dec9db0e1", "provider_type": "string", "professional_registration_number": "string", "provider_main_specialty": "string", "title": "string", "first_name": "string", "last_name": "string", "live_diary_booking_available": true, "availability": [ { … } ] }
- Mock serverhttps://developer.herohealth.net/_mock/apis/public-api/openapi/v1/booking-hca/consultants/{crm_id}/availability
- Staginghttps://api.staging.htech.app/v1/booking-hca/consultants/{crm_id}/availability
- Productionhttps://api.herohealth.net/v1/booking-hca/consultants/{crm_id}/availability
- curl
- NodeJS
- Ruby
curl -i -X GET \
'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/booking-hca/consultants/{crm_id}/availability?location_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&date_from=2019-08-24&date_to=2019-08-24&booking_type=initial' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-H 'x-practice-group-id: YOUR_API_KEY_HERE'Response
application/json
{ "date_from": "2019-08-24T14:15:22Z", "date_to": "2019-08-24T14:15:22Z", "slots": [ { … } ] }