# Individual messages

Send SMS, email, NHS App, and Hero-only messages to patients. Supports write-to-record to persist messages in the patient's EHR.

 - [GET /v1/messages/{id}](https://developer.herohealth.net/apis/public-api/openapi/individual-messages/getmessage.md): Retrieves a message by its ID. An acting admin without the required policy still receives the message, with the link removed from every attachment.
 - [POST /v1/messages/send](https://developer.herohealth.net/apis/public-api/openapi/individual-messages/sendmessage.md): Send a message to a patient via SMS, email, NHS App, or as a Hero-only audit record. **Message types:** - `sms` — Sent via the practice's configured SMS provider (e.g. Firetext) - `email` — Sent via H
 - [GET /v1/messages/{id}/status](https://developer.herohealth.net/apis/public-api/openapi/individual-messages/getstatus.md): Retrieve message write to record and send status
 - [GET /v1/messages/assignee/collection](https://developer.herohealth.net/apis/public-api/openapi/individual-messages/assigneecollections.md): Retrieve a list of all assignees including Admin or AdminTeam for the requesting practice group and admin
 - [GET /v1/snomed](https://developer.herohealth.net/apis/public-api/openapi/individual-messages/searchsnomed.md): Searches by code when `query` is numeric (a single code or a comma-separated list of codes), otherwise searches by free-text term.
 - [GET /v1/templates](https://developer.herohealth.net/apis/public-api/openapi/individual-messages/listtemplates.md): Retrieves a list of message templates for the requesting practice group.
 - [GET /v2/automated_messages/{id}](https://developer.herohealth.net/apis/public-api/openapi/individual-messages/getautomatedmessage.md): Retrieve automated message for the given ID.
 - [GET /v2/sent_messages](https://developer.herohealth.net/apis/public-api/openapi/individual-messages/listsentmessages.md): Retrieves a list of all sent messages.
 - [POST /v1/snomed/validate](https://developer.herohealth.net/apis/public-api/openapi/individual-messages/validatesnomed.md): Deprecated. Use `GET /v1/snomed` with the code as the `query` parameter to validate a SNOMED code instead — a non-empty result confirms the code is valid.
