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[].​assignee_idstring or null^\d+$required
data[].​assignee_typestring or nullrequired
Enum"Admin""AdminTeam"
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_ip_address_internalstring 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
data_source_prioritiesArray of stringsrequired
Items Enum"hero""emis""pds""gha""systm_one"
js_booking_servicebooleanrequired
prescription_partner_enabledbooleanrequired
prescription_partnerstring or nullrequired
Enum"signature_rx""chem4u""pharmacierge"
prescription_partner_credentialsobject or null
addressobject or nullrequired
address.​line_1stringrequired
address.​postcodestringrequired
address.​line_2string or null
address.​line_3string or null
address.​townstring or null
address.​countystring or null
address.​countrystring or null
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
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_ip_address_internal": "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, "data_source_priorities": [ "hero" ], "js_booking_service": true, "prescription_partner_enabled": true, "prescription_partner": "signature_rx", "prescription_partner_credentials": { "email": "string" }, "address": { "line_1": "string", "postcode": "string", "line_2": "string", "line_3": "string", "town": "string", "county": "string", "country": "string" }, "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": [] } }

Update a Practice Group

Request

Updates a practice group using the provided parameters.

Bodyapplication/jsonrequired
namestring
prescription_partner_enabledboolean
prescription_partnerstring or null
Enum"signature_rx""chem4u""pharmacierge"
prescription_partner_credentialsobject or null
addressobject or null
curl -i -X PATCH \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/me \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE' \
  -d '{
    "name": "string",
    "prescription_partner_enabled": true,
    "prescription_partner": "signature_rx",
    "prescription_partner_credentials": {
      "email": "string",
      "password": "string"
    },
    "address": {
      "line_1": "string",
      "line_2": "string",
      "line_3": "string",
      "town": "string",
      "county": "string",
      "postcode": "string",
      "country": "string"
    }
  }'

Responses

Ok

Bodyapplication/json
practice_group_idstringrequired
Response
application/json
{ "practice_group_id": "string" }

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""subscriptions""invoicing""pds_trace"
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 }

Get NHS CIS2 Connection Status

Request

Retrieves the authenticated Admin NHS CIS2 connection status.

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

Responses

Ok

Bodyapplication/json
statusstringrequired
Enum"need_authentication""connected"
login_urlstring or nullrequired
Response
application/json
{ "status": "need_authentication", "login_url": "string" }

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[].​titlestring or null
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

ApiKey

Operations

Booking

Operations

Utilities

Operations

Messages

Operations

Booking - HCA

Operations

Care Navigation

Operations

Consultations

Operations

Episode

Operations

Form

Operations

Form Response

Operations

Invoicing

Operations

Partner

Operations

Partners

Operations

Patients

Operations

Prescription

Operations

Subscriptions

Operations

Task

Operations

Webhooks

Operations

Prescriptions

Operations