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/form_response/{id}
- Staginghttps://api.staging.htech.app/v1/form_response/{id}
- Productionhttps://api.herohealth.net/v1/form_response/{id}
- curl
- NodeJS
- Ruby
curl -i -X GET \
'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/form_response/{id}' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-H 'x-practice-group-id: YOUR_API_KEY_HERE'Response
application/json
{ "id": 0, "form_id": 0, "client_id": 0, "appointment_id": 0, "invoice_id": 0, "practice_group_id": 0, "created_at": "2019-08-24T14:15:22Z", "updated_at": "string", "hidden": true, "emis_file_record_at": "string", "short_link_id": 0, "admin_id": 0, "write_to_record_error": "string" }
- Mock serverhttps://developer.herohealth.net/_mock/apis/public-api/openapi/v1/form_submission_response/{id}
- Staginghttps://api.staging.htech.app/v1/form_submission_response/{id}
- Productionhttps://api.herohealth.net/v1/form_submission_response/{id}
- curl
- NodeJS
- Ruby
curl -i -X GET \
'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/form_submission_response/{id}' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-H 'x-practice-group-id: YOUR_API_KEY_HERE'Ok
Enum"questionnaire""response""appointment""care_navigation""intake_form""structured_consult"
Enum"string""integer""boolean""datepicker""text""radio""dropdown""checkboxes""consent""paragraph"
Enum"systolic_blood_pressure""diastolic_blood_pressure""height""weight""body_mass_index"
Enum"asthmatic""type_2_diabetes_mellitus""heart_disease""essential_hypertension""copd""atrial_fibrillation""cerebrovascular_accident""type_1_diabetes""ischaemic_heart_disease""rheumatoid_arthritis"
Enum"administration_of_men_a_c_w135_and_y_vaccine""first_measles_mumps_and_rubella_vaccination_first_mmr""second_measles_mumps_and_rubella_vaccination_second_mmr"
One of:
- string
- number
- boolean
- Array of strings
- string or null
- null
string
Response
application/json
{ "id": "string", "form_type": "questionnaire", "title": "string", "description": "string", "patient_title": "string", "patient_description": "string", "confirmation_message": "string", "snomed_code": "string", "fields": [ { … } ], "patient_id": "string", "emis_file_record_at": "string", "created_at": "2019-08-24T14:15:22Z", "appointment_id": 0, "write_to_record_status": "string" }
- Mock serverhttps://developer.herohealth.net/_mock/apis/public-api/openapi/v2/form_responses
- Staginghttps://api.staging.htech.app/v2/form_responses
- Productionhttps://api.herohealth.net/v2/form_responses
- curl
- NodeJS
- Ruby
curl -i -X GET \
'https://developer.herohealth.net/_mock/apis/public-api/openapi/v2/form_responses?page_index=string&page_size=string&order_by=patient_first_name&status=success&order_descending=true&patient_first_name=string&patient_last_name=string&patient_full_name=string&form_title=string&form_type=string&patient_id=string&created_at%5B%5D=string&service=string' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-H 'x-practice-group-id: YOUR_API_KEY_HERE'