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

Medical Record

Operations

Episode

Operations

Form

Operations

Form Response

Operations

Invoicing

Operations

Partners

Operations

Patients

Operations

Prescription

Operations

Subscriptions

Operations

Task

Operations

Webhooks

Operations

Prescriptions

Operations