Hero Health Public API (1.0.0)

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/

Practice Group

Operations

Create an Access Token

Request

Generate an Access Token to utilize Hero Health SDKs. Note that this endpoint is only available for server-side requests.

curl -i -X POST \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/access_token \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
access_tokenstringrequired
Response
application/json
{ "access_token": "string" }

List Appointment Types

Request

Retrieves a list of all appointment types configured for the requesting practice group.

Query
location_idsArray of strings
has_availabilityboolean
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/appointment_types?has_availability=true&location_ids=string' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
dataArray of objectsrequired
data[].​idstringrequired
data[].​namestringrequired
data[].​partner_slot_namestringrequired
data[].​next_available_atstring or null(date-time)required
data[].​slot_countnumberrequired
data[].​pricenumberrequired
data[].​sectorstring
Enum"nhs""paid"
data[].​durationnumberrequired
data[].​videoboolean
Default false
data[].​in_personboolean
Default false
data[].​telephoneboolean
Default false
data[].​use_partner_bookable_slotsbooleanrequired
data[].​admin_booking_invoice_requiredboolean
data[].​form_idstring or nullrequired
data[].​practitioner_typestringrequired
Enum"GP""Nurse""Psychologist""Radiologist""Psychiatrist""Health and Exercise Consultant""Personal Trainer""Cognitive Behavioural Therapist""GP – Dermatology Specialist""Rheumatologist"
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

List Locations

Request

Retrieves a list of all locations configured for online booking on Hero Health.

Query
appointment_type_idsArray of strings
has_availabilityboolean
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/locations?appointment_type_ids=string&has_availability=true' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
dataArray of objectsrequired
data[].​idstring^\d+$required
data[].​namestringrequired
data[].​slot_countnumberrequired
data[].​next_available_atstring or null(date-time)required
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

Get Practice Group

Request

Retrieves information regarding the authenticated Practice Group.

curl -i -X GET \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/me \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
idstringrequired
namestringrequired
sectorstringrequired
Enum"nhs""paid"
write_to_recordbooleanrequired
ehr_partnerstring or nullrequired
Enum"emis""systm_one"
ehr_partner_enabledbooleanrequired
ehr_partner_settingsobject or object or nullrequired
One of:
ehr_partner_settings.​emis_ip_addressstring or nullrequired
ehr_partner_settings.​emis_supplier_idstring or nullrequired
ehr_partner_settings.​emis_usernamestring or nullrequired
ehr_partner_settings.​emis_orgidstring or nullrequired
ehr_partner_settings.​emis_user_idstring or nullrequired
ehr_partner_settings.​emis_passwordstring or nullrequired
custom_slot_to_slotbooleanrequired
use_partner_bookable_slotsbooleanrequired
authenticated_asobject or nullrequired
authenticated_as.​idstringrequired
authenticated_as.​first_namestringrequired
authenticated_as.​last_namestringrequired
authenticated_as.​emailstringrequired
authenticated_as.​external_prescriber_idstring or nullrequired
authenticated_as.​signaturestring or nullrequired
authenticated_as.​linked_practitioners_idstring or nullrequired
authenticated_as.​preferencesobjectrequired
authenticated_as.​preferences.​default_notification_channelstringrequired
Enum"email""sms""nhs_app_email""nhs_app_sms"
authenticated_as.​team_membershipsArray of objectsrequired
authenticated_as.​team_memberships[].​idstringrequired
authenticated_as.​team_memberships[].​namestringrequired
js_booking_servicebooleanrequired
Response
application/json
{ "id": "string", "name": "string", "sector": "nhs", "write_to_record": true, "ehr_partner": "emis", "ehr_partner_enabled": true, "ehr_partner_settings": { "emis_ip_address": "string", "emis_supplier_id": "string", "emis_username": "string", "emis_orgid": "string", "emis_user_id": "string", "emis_password": "string" }, "custom_slot_to_slot": true, "use_partner_bookable_slots": true, "authenticated_as": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "external_prescriber_id": "string", "signature": "string", "linked_practitioners_id": "string", "preferences": {}, "team_memberships": [] }, "js_booking_service": true }

Get Practice Group Capabilities

Request

Retrieves capabilities of the authenticated Practice Group.

curl -i -X GET \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/me/capabilities \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
capabilitiesArray of stringsrequired
Items Enum"sms_messaging""questionnaire""booking""ehr_connection""nhs_notify""care_navigation"
Response
application/json
{ "capabilities": [ "sms_messaging" ] }

Get Practice Group Configuration

Request

Retrieves configuration settings of the authenticated Practice Group.

curl -i -X GET \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/me/configuration \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
configurationobjectrequired
configuration.​sidekickobjectrequired
configuration.​sidekick.​elementsArray of stringsrequired
Items Enum"booking""booking-hca""care-nav""inbox""invoice-builder""link-builder""memberships""message-builder""oviva-add-to-sequence""oviva-send-medical-record"
Response
application/json
{ "configuration": { "sidekick": {} } }

List Network Practices

Request

List practice groups from the same network as the authenticated Practice Group.

curl -i -X GET \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/network \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
dataArray of objectsrequired
data[].​idstringrequired
data[].​namestringrequired
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

Get Practice Group SMS credit count

Request

Retrieves the authenticated Practice Group's SMS credit count.

curl -i -X GET \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/me/sms-credits \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
sms_credit_countnumber or null
Response
application/json
{ "sms_credit_count": 0 }

List Practitioners

Request

Retrieves a list of practitioners configured for online booking on Hero Health.

Query
location_idsArray of strings
appointment_type_idsArray of strings
has_availabilityboolean
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/practitioners?appointment_type_ids=string&has_availability=true&location_ids=string' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
dataArray of objectsrequired
data[].​idstringrequired
data[].​namestringrequired
data[].​titlestringrequired
data[].​first_namestringrequired
data[].​last_namestringrequired
data[].​slot_countnumberrequired
data[].​next_available_atstring or null(date-time)required
data[].​emailstring or nullrequired
data[].​contact_numberstring or nullrequired
data[].​typestringrequired
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

Admin

Operations

Booking

Operations

Utilities

Operations

Messages

Operations

Care Navigation

Operations

Form

Operations

Form Response

Operations

Invoicing

Operations

Patients

Operations

Prescription

Operations

Task

Operations

Webhooks

Operations

Prescriptions

Operations