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

Admin

Operations

Booking

Operations

Get an Appointment

Request

Retrieves an appointment by its ID.

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

Responses

Ok

Bodyapplication/json
idstring^\d+$required
patient_idstring or null^\d+$
practitioner_idstring^\d+$required
location_idstring^\d+$required
appointment_type_idstring^\d+$required
durationnumber>= 1
start_timestring or null(date-time)required
videoboolean
Default false
in_personboolean
Default false
telephoneboolean
Default false
link_idstring or null
reserved_untilstring or null(date-time)
booking_confirmed_atstring or null(date-time)
can_be_cancelledboolean
Default false
can_be_rescheduledboolean
Default false
cancellation_policy_hoursnumber
suppress_mailboolean
Default false
Response
application/json
{ "id": "string", "patient_id": "string", "practitioner_id": "string", "location_id": "string", "appointment_type_id": "string", "duration": 1, "start_time": "2019-08-24T14:15:22Z", "video": false, "in_person": false, "telephone": false, "link_id": "string", "reserved_until": "2019-08-24T14:15:22Z", "booking_confirmed_at": "2019-08-24T14:15:22Z", "can_be_cancelled": false, "can_be_rescheduled": false, "cancellation_policy_hours": 0, "suppress_mail": false }

Edit an Appointment

Request

Edit a non-confirmed appointment

Path
idstringrequired
Bodyapplication/jsonrequired
start_timestring or null(date-time)required

ISO 8601 date format

Example: "1989-04-11"
durationnumberrequired
practitioner_idstring^\d+$required
suppress_availability_checkboolean
suppress_mailboolean
curl -i -X PUT \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/appointments/{id}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE' \
  -d '{
    "start_time": "1989-04-11",
    "duration": 0,
    "practitioner_id": "string",
    "suppress_availability_check": true,
    "suppress_mail": true
  }'

Responses

Ok

Response
No content

Create an Appointment

Request

Create an appointment reservation.

Bodyapplication/jsonrequired
appointment_type_idstring^\d+$required
location_idstring^\d+$required
practitioner_idstring^\d+$required
durationnumberrequired
start_timestring or null(date-time)required

ISO 8601 date format

Example: "1989-04-11"
patient_idstring^\d+$
billpayer_idstring^\d+$
reasonstring
suppress_mailboolean
suppress_availability_checkboolean
curl -i -X POST \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/appointments \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE' \
  -d '{
    "appointment_type_id": "string",
    "location_id": "string",
    "practitioner_id": "string",
    "duration": 0,
    "start_time": "1989-04-11",
    "patient_id": "string",
    "billpayer_id": "string",
    "reason": "string",
    "suppress_mail": true,
    "suppress_availability_check": true
  }'

Responses

Ok

Bodyapplication/json
idstring^\d+$required
reserved_untilstring or null(date-time)required
Response
application/json
{ "id": "string", "reserved_until": "2019-08-24T14:15:22Z" }

Book an Appointment

Request

Book an created appointment reservation.

Path
idstringrequired
Bodyapplication/jsonrequired
reasonstring
patient_idstring^\d+$required
billpayer_idstring^\d+$
suppress_invoiceboolean
suppress_availability_checkboolean
curl -i -X PATCH \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/appointments/{id}/book' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE' \
  -d '{
    "reason": "string",
    "patient_id": "string",
    "billpayer_id": "string",
    "suppress_invoice": true,
    "suppress_availability_check": true
  }'

Responses

Ok

Response
No content

Cancel an Appointment

Request

Book an created appointment reservation.

Path
idstringrequired
Bodyapplication/jsonrequired
suppress_mailboolean
suppress_cancellation_policyboolean
curl -i -X PATCH \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/appointments/{id}/cancel' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE' \
  -d '{
    "suppress_mail": true,
    "suppress_cancellation_policy": true
  }'

Responses

Ok

Response
No content

Reschedule an Appointment

Request

Reschedule a confirmed appointment

Path
idstringrequired
Bodyapplication/jsonrequired
start_timestring or null(date-time)required

ISO 8601 date format

Example: "1989-04-11"
durationnumberrequired
practitioner_idstring^\d+$required
suppress_availability_checkboolean
suppress_mailboolean
curl -i -X PATCH \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/appointments/{id}/reschedule' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE' \
  -d '{
    "start_time": "1989-04-11",
    "duration": 0,
    "practitioner_id": "string",
    "suppress_availability_check": true,
    "suppress_mail": true
  }'

Responses

Ok

Response
No content

List Bookable Slots

Request

Retrieves a list of all bookable slots for the requesting practice group.

Query
location_idstring
practitioner_idstring
start_datestring
end_datestring
appointment_type_idstringrequired
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/slots?appointment_type_id=string&end_date=string&location_id=string&practitioner_id=string&start_date=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[].​practitioner_idstring^\d+$required
data[].​appointment_type_idstring^\d+$required
data[].​location_idstring^\d+$required
data[].​start_timestring(date-time)required
data[].​finish_timestring(date-time)required
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

Check slot availability

Request

Retrieves the availability of a given slot.

Bodyapplication/jsonrequired
practitioner_idstring^\d+$required
appointment_type_idstring^\d+$required
location_idstring^\d+$required
start_timestring(date-time)required

ISO 8601 date format

Example: "1989-04-11"
durationnumberrequired
curl -i -X POST \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/slots/availability \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE' \
  -d '{
    "practitioner_id": "string",
    "appointment_type_id": "string",
    "location_id": "string",
    "start_time": "1989-04-11",
    "duration": 0
  }'

Responses

Ok

Bodyapplication/json
availablebooleanrequired
Response
application/json
{ "available": true }

Count Bookable Slots

Request

Count of all bookable slots for the requesting practice group.

Query
appointment_type_idArray of stringsrequired
location_idArray of strings
practitioner_idArray of strings
start_datestring
end_datestring
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/slots/count?appointment_type_id=string&end_date=string&location_id=string&practitioner_id=string&start_date=string' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
countnumberrequired
Response
application/json
{ "count": 0 }

List Appointments

Request

Retrieves a list of all appointments.

Query
page_indexstring
page_sizestring
order_bystring
Enum"patient_id""patient_first_name""patient_last_name""patient_full_name""practitioner_first_name""practitioner_last_name""practitioner_full_name""appointment_template_name""appointment_source""location_name"
order_descendingboolean
patient_idstring
patient_first_namestring
patient_last_namestring
patient_full_namestring
practitioner_first_namestring
practitioner_last_namestring
practitioner_full_namestring
appointment_template_namestring
location_namestring
has_been_cancelledboolean
appointment_sourcestring
Enum"Hero patient led""Hero admin led""Hero booking link""Hero booking API""EMIS""Cliniko"
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v2/appointments?appointment_source=Hero%20patient%20led&appointment_template_name=string&has_been_cancelled=true&location_name=string&order_by=patient_id&order_descending=true&page_index=string&page_size=string&patient_first_name=string&patient_full_name=string&patient_id=string&patient_last_name=string&practitioner_first_name=string&practitioner_full_name=string&practitioner_last_name=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[].​idstring^\d+$required
data[].​patientobject or null
data[].​practitionerobject or null
data[].​location_idstring^\d+$required
data[].​start_timestring or null(date-time)required
data[].​reserved_untilstring or null(date-time)
data[].​booking_confirmed_atstring or null(date-time)
data[].​can_be_cancelledboolean
Default false
data[].​can_be_rescheduledboolean
Default false
data[].​cancellation_policy_hoursnumber
data[].​appointment_template_namestring or null
data[].​cancelled_atstring or null(date-time)
data[].​confirmed_atstring or null(date-time)
data[].​appointment_sourcestring or null
data[].​videoboolean or null
Default false
data[].​in_personboolean
Default false
data[].​telephoneboolean
Default false
data[].​location_namestring or null
data[].​servicestring or null
data[].​sourcestring or null
data[].​statusstring or null
data[].​appointment_type_idstring or null
data[].​durationnumber or null
data[].​patient_uidstring or null
data[].​practitioner_idstring or null
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

List Automated messages

Request

Retrieves a list of automated appointment messages.

Query
page_indexstring
page_sizestring
orderBystring
Enum"createdAt""sentAt"
order_descendingstring
Enumtruefalse
recipient_idstring
statusstring or Array of strings
One of:
string
Enum"INVALIDATED""QUEUED""SENT""SUCCESS""ERROR"
notification_typestring or Array of strings
One of:
string
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v2/automated_messages?notification_type=string&orderBy=createdAt&order_descending=true&page_index=string&page_size=string&recipient_id=string&status=INVALIDATED' \
  -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[].​recipientobject or null
data[].​channelstring or null
data[].​contact_detailstring or null
data[].​sent_atstring or null(date-time)
data[].​statusstring or null
data[].​message_typestring or null
data[].​appointment_idstring or null
data[].​appointment_typestring or null
data[].​appointment_start_timestring or null(date-time)
data[].​notification_typestring or null
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

Utilities

Operations

Messages

Operations

Booking - HCA

Operations

Care Navigation

Operations

Form

Operations

Form Response

Operations

Invoicing

Operations

Patients

Operations

Prescription

Operations

Subscriptions

Operations

Task

Operations

Webhooks

Operations

Prescriptions

Operations