# Hero Health Public API Version: 1.0.0 ## Servers Staging ``` https://api.staging.htech.app ``` Production ``` https://api.herohealth.net ``` ## Security ### apiKeyAuth Type: apiKey In: header Name: x-api-key ### practiceGroupId Type: apiKey In: header Name: x-practice-group-id ## Download OpenAPI description [Hero Health Public API](https://developer.herohealth.net/_bundle/apis/public-api/openapi.yaml) ## Practice Group ### Create an Access Token - [POST /v1/access_token](https://developer.herohealth.net/apis/public-api/openapi/practice-group/createaccesstoken.md): Generate an Access Token to utilize Hero Health SDKs. Note that this endpoint is only available for server-side requests. ### List Appointment Types - [GET /v1/appointment_types](https://developer.herohealth.net/apis/public-api/openapi/practice-group/listappointmenttypes.md): Retrieves a list of all appointment types configured for the requesting practice group. ### List Locations - [GET /v1/locations](https://developer.herohealth.net/apis/public-api/openapi/practice-group/listlocations.md): Retrieves a list of all locations configured for online booking on Hero Health. ### Get Practice Group - [GET /v1/me](https://developer.herohealth.net/apis/public-api/openapi/practice-group/getpracticegroupbyid.md): Retrieves information regarding the authenticated Practice Group. ### Update a Practice Group - [PATCH /v1/me](https://developer.herohealth.net/apis/public-api/openapi/practice-group/updatepracticegroup.md): Updates a practice group using the provided parameters. ### Get Practice Group Capabilities - [GET /v1/me/capabilities](https://developer.herohealth.net/apis/public-api/openapi/practice-group/getcapabilities.md): Retrieves capabilities of the authenticated Practice Group. ### Get Practice Group Configuration - [GET /v1/me/configuration](https://developer.herohealth.net/apis/public-api/openapi/practice-group/getconfiguration.md): Retrieves configuration settings of the authenticated Practice Group. ### List Network Practices - [GET /v1/network](https://developer.herohealth.net/apis/public-api/openapi/practice-group/listnetworkpractices.md): List practice groups from the same network as the authenticated Practice Group. ### Get Practice Group SMS credit count - [GET /v1/me/sms-credits](https://developer.herohealth.net/apis/public-api/openapi/practice-group/getsmscreditcount.md): Retrieves the authenticated Practice Group's SMS credit count. ### Get NHS CIS2 Connection Status - [GET /v1/me/connections/cis2](https://developer.herohealth.net/apis/public-api/openapi/practice-group/getcis2status.md): Retrieves the authenticated Admin NHS CIS2 connection status. ### List Practitioners - [GET /v1/practitioners](https://developer.herohealth.net/apis/public-api/openapi/practice-group/listpractitioners.md): Retrieves a list of practitioners configured for online booking on Hero Health. ## Admin ### List Admins - [GET /v1/admins](https://developer.herohealth.net/apis/public-api/openapi/admin/listadmins.md): Retrieves a list of all admins. ### Update an Admin - [PATCH /v1/admins/{id}](https://developer.herohealth.net/apis/public-api/openapi/admin/updateadmin.md): Updates an admin using the provided parameters. ### Upsert Admin In-Context Signature - [POST /v1/admin/signature](https://developer.herohealth.net/apis/public-api/openapi/admin/upsertadminsignature.md): Insert or update a signature for Admin in context. ### Upsert Admin In-Context Preferences - [PATCH /v1/admin/preferences](https://developer.herohealth.net/apis/public-api/openapi/admin/upsertadminpreferences.md): Insert or update preferences for the given Admin. ### Get prescriber details - [GET /v1/admins/{id}/prescriber](https://developer.herohealth.net/apis/public-api/openapi/admin/getprescriber.md): Retrieves prescriber details for the admin. ### List Admin Teams - [GET /v1/admin_teams](https://developer.herohealth.net/apis/public-api/openapi/admin/listadminteams.md): Retrieves a list of all admin teams. ## ApiKey ### List API Keys - [GET /v1/api_keys](https://developer.herohealth.net/apis/public-api/openapi/apikey/listapikeys.md): Retrieves a paginated list of API keys for the authenticated practice group. ### Create API Key for Partner - [POST /v1/api_keys](https://developer.herohealth.net/apis/public-api/openapi/apikey/createapikey.md): Creates a new API key for the given partner under the authenticated practice group. ### Get an API Key - [GET /v1/api_keys/{id}](https://developer.herohealth.net/apis/public-api/openapi/apikey/getapikey.md): Retrieves an ApiKey by its ID. ## Booking ### Get an Appointment - [GET /v1/appointments/{id}](https://developer.herohealth.net/apis/public-api/openapi/booking/getappointment.md): Retrieves an appointment by its ID. ### Edit an Appointment - [PUT /v1/appointments/{id}](https://developer.herohealth.net/apis/public-api/openapi/booking/editappointment.md): Edit a non-confirmed appointment ### Create an Appointment - [POST /v1/appointments](https://developer.herohealth.net/apis/public-api/openapi/booking/createappointment.md): Create an appointment reservation. ### Book an Appointment - [PATCH /v1/appointments/{id}/book](https://developer.herohealth.net/apis/public-api/openapi/booking/bookappointment.md): Book an created appointment reservation. ### Cancel an Appointment - [PATCH /v1/appointments/{id}/cancel](https://developer.herohealth.net/apis/public-api/openapi/booking/cancelappointment.md): Book an created appointment reservation. ### Reschedule an Appointment - [PATCH /v1/appointments/{id}/reschedule](https://developer.herohealth.net/apis/public-api/openapi/booking/rescheduleappointment.md): Reschedule a confirmed appointment ### Get Booking Link - [GET /v1/booking_links/{id}](https://developer.herohealth.net/apis/public-api/openapi/booking/getbookinglink.md): Get a booking link and its fields. ### Count Bookable Slots - [GET /v1/slots/count](https://developer.herohealth.net/apis/public-api/openapi/booking/countslots.md): Count of all bookable slots for the requesting practice group. ### Get Bookable Slot - [GET /v1/slots/{id}](https://developer.herohealth.net/apis/public-api/openapi/booking/getslot.md): Retrieves a single bookable slot by its ID for the requesting practice group. ### List Bookable Slots - [GET /v1/slots](https://developer.herohealth.net/apis/public-api/openapi/booking/listslots.md): Retrieves a list of all bookable slots for the requesting practice group. ### Check slot availability - [POST /v1/slots/availability](https://developer.herohealth.net/apis/public-api/openapi/booking/checkslotsavailability.md): Retrieves the availability of a given slot. ### List Appointments - [GET /v2/appointments](https://developer.herohealth.net/apis/public-api/openapi/booking/listappointments.md): Retrieves a list of all appointments. ### List Automated messages - [GET /v2/automated_messages](https://developer.herohealth.net/apis/public-api/openapi/booking/listautomatedmessages.md): Retrieves a list of automated appointment messages. ### List Booking links - [GET /v2/bookinglinks](https://developer.herohealth.net/apis/public-api/openapi/booking/listbookinglinks.md): Retrieves a list of shortlinks filtered by 'booking' link type and version 2. ## Links ### Create an Attachment Link - [POST /v1/attachment_links](https://developer.herohealth.net/apis/public-api/openapi/links/createattachmentlink.md): Creates a attachment link using the provided parameters. ### Create a Booking Link - [POST /v1/booking_links](https://developer.herohealth.net/apis/public-api/openapi/links/createbookinglink.md): Creates a booking link using the provided parameters. ### Update a Booking Link - [PATCH /v1/booking_links/{id}](https://developer.herohealth.net/apis/public-api/openapi/links/updatebookinglink.md): Updates a booking link using the provided parameters. ### Create a Form Link - [POST /v1/form_links](https://developer.herohealth.net/apis/public-api/openapi/links/createformlink.md): Creates a form link using the provided parameters. ### Get Link Status - [GET /v1/links/status](https://developer.herohealth.net/apis/public-api/openapi/links/getlinkstatus.md): Get the status of a given link. ### Create a Video Link - [POST /v1/video_links](https://developer.herohealth.net/apis/public-api/openapi/links/createvideolink.md): Creates a video link using the provided parameters. ## Utilities ### Get Address Autocomplete Suggestions - [GET /v1/suggestions/address](https://developer.herohealth.net/apis/public-api/openapi/utilities/getaddressautocompletesuggestions.md): Retrieve a list of address suggestions based on the provided search term. ### Get Address by Autocomplete Suggestion - [GET /v1/suggestions/address/{id}](https://developer.herohealth.net/apis/public-api/openapi/utilities/getaddressdetails.md): Retrieve the complete address details for selected ID ## Messages ### Create a Batch Message - [POST /v1/batch_message](https://developer.herohealth.net/apis/public-api/openapi/messages/createbatchmessage.md): Create a Batch Message ### List Batch Messages - [GET /v1/batch_message](https://developer.herohealth.net/apis/public-api/openapi/messages/listbatchmessages.md): List Batch Messages ### Send a Batch Message - [PATCH /v1/batch_message/{id}/send](https://developer.herohealth.net/apis/public-api/openapi/messages/sendbatchmessage.md): Send a Batch Message ### Get a Batch Message - [GET /v1/batch_message/{id}](https://developer.herohealth.net/apis/public-api/openapi/messages/getbatchmessage.md): Get a Batch Message ### List Batch Message Recipients - [GET /v1/batch_message/{id}/recipients](https://developer.herohealth.net/apis/public-api/openapi/messages/listrecipients.md): List Batch Message Recipients ### List Batch Message Sends - [GET /v1/batch_message/{id}/messages](https://developer.herohealth.net/apis/public-api/openapi/messages/listbatchmessagesends.md): List Batch Message Sends ### Get Message - [GET /v1/messages/{id}](https://developer.herohealth.net/apis/public-api/openapi/messages/getmessage.md): Retrieves a message by its ID. ### Send a Message - [POST /v1/messages/send](https://developer.herohealth.net/apis/public-api/openapi/messages/sendmessage.md): Sends a message for a given patient to Hero. It has optional parameters relating to the message being sent. ### Get Message Status - [GET /v1/messages/{id}/status](https://developer.herohealth.net/apis/public-api/openapi/messages/getstatus.md): Retrieve message write to record and send status ### List Assignee Collection - [GET /v1/messages/assignee/collection](https://developer.herohealth.net/apis/public-api/openapi/messages/assigneecollections.md): Retrieve a list of all assignees including Admin or AdminTeam for the requesting practice group and admin ### Validate a SNOMED Code - [POST /v1/snomed/validate](https://developer.herohealth.net/apis/public-api/openapi/messages/validatesnomed.md) ### List Templates - [GET /v1/templates](https://developer.herohealth.net/apis/public-api/openapi/messages/listtemplates.md): Retrieves a list of message templates for the requesting practice group. ### Get Automated Message - [GET /v2/automated_messages/{id}](https://developer.herohealth.net/apis/public-api/openapi/messages/getautomatedmessage.md): Retrieve automated message for the given ID. ### List Sent Messages - [GET /v2/sent_messages](https://developer.herohealth.net/apis/public-api/openapi/messages/listsentmessages.md): Retrieves a list of all sent messages. ## Booking - HCA ### Search HCA Consultants - [GET /v1/booking-hca/consultants](https://developer.herohealth.net/apis/public-api/openapi/booking-hca/searchhcaconsultants.md): Search for consultants in the HCA system by specified fields. ### Get HCA Consultant Details - [GET /v1/booking-hca/consultants/{gmc_number}](https://developer.herohealth.net/apis/public-api/openapi/booking-hca/gethcaconsultantdetails.md): Retrieves consultant details from the HCA system. ### Get HCA Consultant Availability - [GET /v1/booking-hca/consultants/{crm_id}/availability](https://developer.herohealth.net/apis/public-api/openapi/booking-hca/gethcaconsultantavailability.md): Retrieves consultant availability from the HCA system. ### Create HCA Diary Booking - [POST /v1/booking-hca/appointments](https://developer.herohealth.net/apis/public-api/openapi/booking-hca/createhcadiarybooking.md): Creates a diary booking in the HCA system. ## Care Navigation ### List Pathways - [GET /v1/care-nav/pathways](https://developer.herohealth.net/apis/public-api/openapi/care-navigation/listpathways.md): Retrieves a list of pathways for the requesting practice group. ### Get Pathway - [GET /v1/care-nav/pathways/{id}](https://developer.herohealth.net/apis/public-api/openapi/care-navigation/getpathway.md): Retrieves a pathway. ### Get Care Navigation Submission - [GET /v1/care-nav/submissions/{id}](https://developer.herohealth.net/apis/public-api/openapi/care-navigation/getcarenavsubmission.md): Get a care navigation submission and its fields. ### List Care Navigation Submissions - [GET /v1/care-nav/submissions](https://developer.herohealth.net/apis/public-api/openapi/care-navigation/listcarenavsubmissions.md): Retrieves a list of all care navigation submissions. ### Create Care Nav Submission - [POST /v1/care-nav/submission](https://developer.herohealth.net/apis/public-api/openapi/care-navigation/createsubmission.md): Create a Care Nav Submission. ### List Submission Types - [GET /v1/care-nav/submission-types](https://developer.herohealth.net/apis/public-api/openapi/care-navigation/listsubmissiontype.md): Retrieves a list of submission types for the requesting practice group. ### Get Submission Type - [GET /v1/care-nav/submission-types/{id}](https://developer.herohealth.net/apis/public-api/openapi/care-navigation/getsubmissiontype.md): Retrieves a submission type. ## Consultations ### Get a Consultation - [GET /v1/consultations/{id}](https://developer.herohealth.net/apis/public-api/openapi/consultations/getconsultationbyid.md): Retrieve a consultation by its ID. ### Update a Consultation - [PATCH /v1/consultations/{id}](https://developer.herohealth.net/apis/public-api/openapi/consultations/updateconsultation.md): Update an existing consultation and its elements. ### Delete a Consultation - [DELETE /v1/consultations/{id}](https://developer.herohealth.net/apis/public-api/openapi/consultations/deleteconsultation.md): Deletes a consultation. ### List Consultations for a Patient - [GET /v1/consultations](https://developer.herohealth.net/apis/public-api/openapi/consultations/listconsultations.md): Retrieves consultations for the provided patient. ### Create a Consultation - [POST /v1/consultations](https://developer.herohealth.net/apis/public-api/openapi/consultations/createconsultation.md): Create a new consultation for a patient, including optional elements (notes, codes, observations, attachments). ### Finalise a Consultation - [POST /v1/consultations/{id}/finalise](https://developer.herohealth.net/apis/public-api/openapi/consultations/finaliseconsultation.md): Transition a consultation to final status. ## Episode ### Count Episodes - [GET /v1/episodes/count](https://developer.herohealth.net/apis/public-api/openapi/episode/countepisodes.md): Retrieves a count of all episodes for a practice group. ### List Episodes - [GET /v1/episodes](https://developer.herohealth.net/apis/public-api/openapi/episode/listepisodes.md): Retrieves a list of all episodes for a practice group. ### Get Episode - [GET /v1/episodes/{id}](https://developer.herohealth.net/apis/public-api/openapi/episode/getepisode.md): Retrieve episode information for the given ID. ### Update an episode - [PATCH /v1/episodes/{id}](https://developer.herohealth.net/apis/public-api/openapi/episode/updateepisode.md): Updates an episode using the provided parameters. ## Form ### List Forms - [GET /v1/forms](https://developer.herohealth.net/apis/public-api/openapi/form/listforms.md): Retrieves a list of all forms configured for the requesting practice group. ### Get Form - [GET /v1/forms/{id}](https://developer.herohealth.net/apis/public-api/openapi/form/getform.md): Get a form and its fields. ### Create Form Response - [POST /v1/forms/{id}/response](https://developer.herohealth.net/apis/public-api/openapi/form/createresponse.md): Create a response for a given Form ID. ### Update Form Response - [POST /v1/forms/response/{id}](https://developer.herohealth.net/apis/public-api/openapi/form/updateformresponse.md): Update form response for a given form response ID. ## Form Response ### Get FormResponse - [GET /v1/form_response/{id}](https://developer.herohealth.net/apis/public-api/openapi/form-response/getformresponse.md): Get a form response and its fields. ### Get FormSubmissionResponse - [GET /v1/form_submission_response/{id}](https://developer.herohealth.net/apis/public-api/openapi/form-response/getformsubmissionresponsedata.md): Get a form submission response and its fields. ### List Form Responses - [GET /v2/form_responses](https://developer.herohealth.net/apis/public-api/openapi/form-response/listformresponses.md): Retrieves a list of all form responses. ## Invoicing ### List Coupons - [GET /v1/invoicing/coupons](https://developer.herohealth.net/apis/public-api/openapi/invoicing/listcoupons.md): Retrieves a list of Stripe coupons for the requesting practice group. ### List Customers - [GET /v1/invoicing/customers](https://developer.herohealth.net/apis/public-api/openapi/invoicing/listcustomers.md): Retrieves a list of Stripe customers for the requesting practice group. ### Create Customer - [POST /v1/invoicing/customers](https://developer.herohealth.net/apis/public-api/openapi/invoicing/createcustomer.md): Creates a new Stripe customer for the requesting practice group. ### Get Default Customer - [GET /v1/invoicing/customers/default](https://developer.herohealth.net/apis/public-api/openapi/invoicing/getdefaultcustomer.md): Retrieves the default Stripe customer for a patient. ### Create Membership Policy - [POST /v1/invoicing/membership-policies](https://developer.herohealth.net/apis/public-api/openapi/invoicing/createmembershippolicy.md): Creates a new membership policy for the requesting practice group. ### List Membership Schemes - [GET /v1/invoicing/membership-schemes](https://developer.herohealth.net/apis/public-api/openapi/invoicing/listmembershipschemes.md): Retrieves a list of membership schemes for the requesting practice group. ### List Products - [GET /v1/invoicing/products](https://developer.herohealth.net/apis/public-api/openapi/invoicing/listproducts.md): Retrieves a list of Stripe products for the requesting practice group. ## Partner ### List Partners - [GET /v1/partners](https://developer.herohealth.net/apis/public-api/openapi/partner/listpartners.md): Retrieves a paginated list of partners associated with the authenticated practice group. ## Partners ### Get a Heidi Token - [GET /v1/partners/heidi/token](https://developer.herohealth.net/apis/public-api/openapi/partners/getheiditoken.md): Retrieve a Heidi token for the authenticated admin and practice group. ## Patients ### List Candidates for the Patient on EHR - [GET /v1/patients/{id}/ehr/candidates](https://developer.herohealth.net/apis/public-api/openapi/patients/listpatientehrcandidates.md): Retrieve a list of candidates that can be matched against the patient on EHR ### Connect a Patient to EHR - [POST /v1/patients/{id}/ehr/connect](https://developer.herohealth.net/apis/public-api/openapi/patients/connectpatientehr.md): Connect a patient to an EHR patient ### Preview Patient Merging - [POST /v1/patients/{id}/merge/preview](https://developer.herohealth.net/apis/public-api/openapi/patients/previewpatientmerge.md): Return a preview of a merge between two patients hand provide a merge token ### Merge Patients - [POST /v1/patients/{id}/merge](https://developer.herohealth.net/apis/public-api/openapi/patients/mergepatient.md): Merge one patient with another ### Get a Patient - [GET /v1/patients/{id}](https://developer.herohealth.net/apis/public-api/openapi/patients/getpatientbyid.md): Retrieve patient information. ### List Patient EHR Attachments - [GET /v1/patients/{id}/attachments](https://developer.herohealth.net/apis/public-api/openapi/patients/listpatientattachments.md): Retrieves a list of attachments for the patient. ### List Patients - [GET /v1/patients](https://developer.herohealth.net/apis/public-api/openapi/patients/listpatients.md): Retrieves a list of all patients. ### Register a Patient using PDS - [POST /v1/patients/register_pds](https://developer.herohealth.net/apis/public-api/openapi/patients/registerpatientpds.md): Sends minimal patient information to Hero to allow us to trace a patient against the Spine and return their Hero patient_id.If not existing in Hero, the patient record will also be created for that practice group as part of this request. ### Register a Patient - [POST /v1/patients/register](https://developer.herohealth.net/apis/public-api/openapi/patients/registerpatient.md): Create or update a patient based on the data sent. If a patient with matching NHS number and DOB exists for the practice group, it will be updated. Otherwise, a new patient record is created. ### Get Patient Billing Info - [GET /v1/patients/{id}/billing_info](https://developer.herohealth.net/apis/public-api/openapi/patients/patientbillinginfo.md): Retrieves billing information for the patient. ### List Patient Payment Methods - [GET /v1/patients/{id}/payment_methods](https://developer.herohealth.net/apis/public-api/openapi/patients/listpatientpaymentmethods.md): Retrieves payment methods for default stripe customer of patient. ### Get a Patient - [GET /v2/patients/{id}](https://developer.herohealth.net/apis/public-api/openapi/patients/getpatientbyidv2.md): Retrieve patient information. ### List Patients (v2) - [GET /v2/patients](https://developer.herohealth.net/apis/public-api/openapi/patients/listpatientsv2.md): Retrieves a list of all patients, from either the EHR or HERO. ## Prescription ### Get Prescriber's Pharmacies List - [GET /v1/prescriber/{id}/pharmacies](https://developer.herohealth.net/apis/public-api/openapi/prescription/listprescriberpharmacies.md): Retrieve a list of pharmacies for the prescriber. ### Create Pharmacy - [POST /v1/pharmacies](https://developer.herohealth.net/apis/public-api/openapi/prescription/createpharmacy.md): Create a new Pharmacy for the prescriber. ### Create a Prescription - [POST /v1/prescriptions](https://developer.herohealth.net/apis/public-api/openapi/prescription/createprescription.md): Create a new prescription for a patient. ### Get a Prescription - [GET /v1/prescriptions/{id}](https://developer.herohealth.net/apis/public-api/openapi/prescription/getprescriptionbyid.md): Retrieve details of a specific prescription by its ID. ### Create Prescription with Patient - [POST /v2/prescriptions](https://developer.herohealth.net/apis/public-api/openapi/prescription/createprescriptionwithpatient.md): Creates a new prescription and associates it with a patient. ### Get Prescriber (deprecated) - [GET /v1/prescriber/{id}](https://developer.herohealth.net/apis/public-api/openapi/prescription/getprescriber.md): Retrieves a prescriber by its ID. ## Subscriptions ### List Subscriptions - [GET /v1/subscriptions](https://developer.herohealth.net/apis/public-api/openapi/subscriptions/listsubscriptions.md): Retrieves a list of subscriptions for a practice group. ### List Subscribers - [GET /v1/subscribers](https://developer.herohealth.net/apis/public-api/openapi/subscriptions/listsubscribers.md): Retrieves a list of subscribers for a practice group. ## Task ### Update a task (deprecated) - [PATCH /v1/tasks/{id}](https://developer.herohealth.net/apis/public-api/openapi/task/updatetask.md): Updates a task using the provided parameters. ### Get Task (deprecated) - [GET /v2/tasks/{id}](https://developer.herohealth.net/apis/public-api/openapi/task/gettask.md): Retrieve task information for the given ID. ### List Tasks (deprecated) - [GET /v2/tasks](https://developer.herohealth.net/apis/public-api/openapi/task/listtasks.md): Retrieves a list of all tasks for a practice group. ## Webhooks ### Create a Webhook - [POST /v1/webhooks](https://developer.herohealth.net/apis/public-api/openapi/webhooks/createwebhook.md): Creates a webhook for the authenticated practice group. ### List Webhooks - [GET /v1/webhooks](https://developer.herohealth.net/apis/public-api/openapi/webhooks/listwebhooks.md): Retrieves a list of webhooks for the authenticated practice group. ### Delete a Webhook - [DELETE /v1/webhooks/{id}](https://developer.herohealth.net/apis/public-api/openapi/webhooks/deletewebhook.md): Deletes a webhook by its ID. ### List Webhook Executions - [GET /v1/webhooks/{id}/executions](https://developer.herohealth.net/apis/public-api/openapi/webhooks/listwebhookexecutions.md): Retrieves a list of executions for a specific webhook. ## Prescriptions ### List Prescriptions - [GET /v2/prescriptions](https://developer.herohealth.net/apis/public-api/openapi/prescriptions/listprescriptions.md): Retrieves a list of all prescriptions for a patient.