Download OpenAPI specification:
Programmatic access to HearLink services.
Creates a new patient.
Field groups (exactly one required per group): - referralId or referralName - primaryClinicId or primaryClinicName - statusId or statusName
| title | string |
| fullName required | string non-empty |
object (Address) Patient address details | |
| referralId | string Provide exactly one of referralId or referralName |
| referralName | string Provide exactly one of referralId or referralName |
| primaryClinicId | string Provide exactly one of primaryClinicId or primaryClinicName |
| primaryClinicName | string Provide exactly one of primaryClinicId or primaryClinicName |
| statusId | string Provide exactly one of statusId or statusName |
| statusName | string Provide exactly one of statusId or statusName |
| primaryPhoneNumber required | string non-empty |
| secondaryPhoneNumber | string |
| emailAddress | string <email> |
| dob | string^\d{4}-\d{2}-\d{2}$ Optional date of birth in YYYY-MM-DD format |
| age | integer >= 0 |
| gender | string |
| notes | string |
required | object (Tracking) Tracking/marketing information |
{- "fullName": "John Smith",
- "primaryPhoneNumber": "07123456789",
- "dob": "1985-07-12",
- "statusName": "Patient Created",
- "primaryClinicName": "Manchester",
- "referralName": "Facebook",
- "tracking": {
- "provider": "facebook",
- "ids": {
- "gclid": "123abc",
- "campaignId": "456def"
}, - "utm_source": "facebook",
- "utm_medium": "cpc",
- "utm_campaign": "spring_sale"
}
}{- "success": true,
- "data": {
- "patientUid": "pat_456"
}
}Webhooks send real-time HTTP POST notifications to a URL you configure whenever events occur in HearLink.
Every delivery wraps entity data in a standard envelope:
{
"id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
"type": "patient.created",
"createdAt": "2026-04-10T14:30:00.000Z",
"data": { ... }
}
| Header | Description |
|---|---|
X-HearLink-Signature |
t=<unix>,v1=<hmac-sha256> — verify authenticity |
X-HearLink-Event |
The event type, e.g. patient.created |
X-HearLink-Delivery |
Unique ID for this delivery attempt |
Compute HMAC-SHA256(secret, "{timestamp}.{raw_body}") and compare to the v1 value.
Node.js example:
const crypto = require('crypto');
function verifySignature(rawBody, secret, signatureHeader) {
const [tPart, v1Part] = signatureHeader.split(',');
const timestamp = tPart.replace('t=', '');
const expected = v1Part.replace('v1=', '');
const computed = crypto
.createHmac('sha256', secret)
.update(`${timestamp}.${rawBody}`)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(computed),
Buffer.from(expected),
);
}
Failed deliveries (non-2xx or timeout after 30s) are retried up to 5 times with exponential back-off. After 50 consecutive failures across any events, the webhook is automatically disabled.
uid, fullName, optional tracking) rather than the full patient document.Fired when a new patient record is created.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "fullName": "string",
- "title": "string",
- "phoneNumber": "string",
- "secondaryPhoneNumber": "string",
- "dob": "2019-08-24T14:15:22Z",
- "gender": "string",
- "maritalStatus": "string",
- "referral": "string",
- "referralSubType": "string",
- "primaryClinic": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postcode": "string",
- "country": "string"
}, - "status": {
- "status": "string",
- "subStatus": "string",
- "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}, - "contactPreference": "string",
- "contactPermissions": [
- "string"
], - "emergencyContactName": "string",
- "emergencyContactNumber": "string",
- "gpDetails": "string",
- "virtualServicingEnabled": true,
- "lastTestDate": "2019-08-24T14:15:22Z",
- "lastFittingDate": "2019-08-24T14:15:22Z",
- "externalSystemId": "string",
- "state": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}, - "customFields": [
- {
- "key": "string",
- "value": "string",
- "values": [
- "string"
], - "type": "string"
}
], - "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a patient record is modified.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "fullName": "string",
- "title": "string",
- "phoneNumber": "string",
- "secondaryPhoneNumber": "string",
- "dob": "2019-08-24T14:15:22Z",
- "gender": "string",
- "maritalStatus": "string",
- "referral": "string",
- "referralSubType": "string",
- "primaryClinic": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postcode": "string",
- "country": "string"
}, - "status": {
- "status": "string",
- "subStatus": "string",
- "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}, - "contactPreference": "string",
- "contactPermissions": [
- "string"
], - "emergencyContactName": "string",
- "emergencyContactNumber": "string",
- "gpDetails": "string",
- "virtualServicingEnabled": true,
- "lastTestDate": "2019-08-24T14:15:22Z",
- "lastFittingDate": "2019-08-24T14:15:22Z",
- "externalSystemId": "string",
- "state": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}, - "customFields": [
- {
- "key": "string",
- "value": "string",
- "values": [
- "string"
], - "type": "string"
}
], - "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a patient record is deleted.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "fullName": "string",
- "title": "string",
- "phoneNumber": "string",
- "secondaryPhoneNumber": "string",
- "dob": "2019-08-24T14:15:22Z",
- "gender": "string",
- "maritalStatus": "string",
- "referral": "string",
- "referralSubType": "string",
- "primaryClinic": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postcode": "string",
- "country": "string"
}, - "status": {
- "status": "string",
- "subStatus": "string",
- "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}, - "contactPreference": "string",
- "contactPermissions": [
- "string"
], - "emergencyContactName": "string",
- "emergencyContactNumber": "string",
- "gpDetails": "string",
- "virtualServicingEnabled": true,
- "lastTestDate": "2019-08-24T14:15:22Z",
- "lastFittingDate": "2019-08-24T14:15:22Z",
- "externalSystemId": "string",
- "state": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}, - "customFields": [
- {
- "key": "string",
- "value": "string",
- "values": [
- "string"
], - "type": "string"
}
], - "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a new appointment is created.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "type": "string",
- "clinic": "string",
- "location": "in_person",
- "assignee": {
- "uid": "string",
- "fullName": "string"
}, - "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "additionalNote": "string",
- "outcome": "string",
- "confirmed": true,
- "cancelled": true,
- "sendConfirmation": true,
- "referral": "string",
- "referralSubType": "string",
- "externalId": "string",
- "arrived": true,
- "noShow": true,
- "rescheduled": true,
- "checkedOut": true,
- "noAnswer": true,
- "voicemailLeft": true,
- "customStatuses": [
- "string"
], - "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when an appointment is modified (including status changes like confirmed, cancelled, arrived, no-show).
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "type": "string",
- "clinic": "string",
- "location": "in_person",
- "assignee": {
- "uid": "string",
- "fullName": "string"
}, - "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "additionalNote": "string",
- "outcome": "string",
- "confirmed": true,
- "cancelled": true,
- "sendConfirmation": true,
- "referral": "string",
- "referralSubType": "string",
- "externalId": "string",
- "arrived": true,
- "noShow": true,
- "rescheduled": true,
- "checkedOut": true,
- "noAnswer": true,
- "voicemailLeft": true,
- "customStatuses": [
- "string"
], - "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when an appointment is deleted.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "type": "string",
- "clinic": "string",
- "location": "in_person",
- "assignee": {
- "uid": "string",
- "fullName": "string"
}, - "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "additionalNote": "string",
- "outcome": "string",
- "confirmed": true,
- "cancelled": true,
- "sendConfirmation": true,
- "referral": "string",
- "referralSubType": "string",
- "externalId": "string",
- "arrived": true,
- "noShow": true,
- "rescheduled": true,
- "checkedOut": true,
- "noAnswer": true,
- "voicemailLeft": true,
- "customStatuses": [
- "string"
], - "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a new invoice is created.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "type": "invoice",
- "orderDate": "2019-08-24T14:15:22Z",
- "orderNumber": "string",
- "audiologist": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "status": "string",
- "discount": 0,
- "vat": 0,
- "subtotal": 0,
- "total": 0,
- "lineItems": [
- { }
], - "dueDate": "2019-08-24T14:15:22Z",
- "billTo": "string",
- "billFrom": "string",
- "clinic": "string",
- "linkedAppointment": {
- "uid": "string",
- "typeUid": "string",
- "clinic": "string"
}, - "additionalInformation": "string",
- "externalId": "string",
- "xeroInvoiceId": "string",
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when an invoice is modified.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "type": "invoice",
- "orderDate": "2019-08-24T14:15:22Z",
- "orderNumber": "string",
- "audiologist": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "status": "string",
- "discount": 0,
- "vat": 0,
- "subtotal": 0,
- "total": 0,
- "lineItems": [
- { }
], - "dueDate": "2019-08-24T14:15:22Z",
- "billTo": "string",
- "billFrom": "string",
- "clinic": "string",
- "linkedAppointment": {
- "uid": "string",
- "typeUid": "string",
- "clinic": "string"
}, - "additionalInformation": "string",
- "externalId": "string",
- "xeroInvoiceId": "string",
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when an invoice is deleted.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "type": "invoice",
- "orderDate": "2019-08-24T14:15:22Z",
- "orderNumber": "string",
- "audiologist": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "status": "string",
- "discount": 0,
- "vat": 0,
- "subtotal": 0,
- "total": 0,
- "lineItems": [
- { }
], - "dueDate": "2019-08-24T14:15:22Z",
- "billTo": "string",
- "billFrom": "string",
- "clinic": "string",
- "linkedAppointment": {
- "uid": "string",
- "typeUid": "string",
- "clinic": "string"
}, - "additionalInformation": "string",
- "externalId": "string",
- "xeroInvoiceId": "string",
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a new transaction (payment or refund) is created.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "transactionType": "string",
- "amount": 0,
- "method": "string",
- "date": "2019-08-24T14:15:22Z",
- "orderUid": "string",
- "externalId": "string",
- "transactionNumber": "string",
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a transaction is modified.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "transactionType": "string",
- "amount": 0,
- "method": "string",
- "date": "2019-08-24T14:15:22Z",
- "orderUid": "string",
- "externalId": "string",
- "transactionNumber": "string",
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a transaction is deleted.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "transactionType": "string",
- "amount": 0,
- "method": "string",
- "date": "2019-08-24T14:15:22Z",
- "orderUid": "string",
- "externalId": "string",
- "transactionNumber": "string",
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a new credit note is created.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "creditNoteNumber": "string",
- "date": "2019-08-24T14:15:22Z",
- "orderUid": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "discount": 0,
- "vat": 0,
- "subtotal": 0,
- "total": 0,
- "lineItems": [
- {
- "type": "string",
- "description": "string",
- "uid": "string",
- "quantity": 0,
- "unitPrice": 0,
- "discount": 0,
- "total": 0,
- "vat": 0
}
], - "externalId": "string",
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a credit note is modified.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "creditNoteNumber": "string",
- "date": "2019-08-24T14:15:22Z",
- "orderUid": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "discount": 0,
- "vat": 0,
- "subtotal": 0,
- "total": 0,
- "lineItems": [
- {
- "type": "string",
- "description": "string",
- "uid": "string",
- "quantity": 0,
- "unitPrice": 0,
- "discount": 0,
- "total": 0,
- "vat": 0
}
], - "externalId": "string",
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a credit note is deleted.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "creditNoteNumber": "string",
- "date": "2019-08-24T14:15:22Z",
- "orderUid": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "discount": 0,
- "vat": 0,
- "subtotal": 0,
- "total": 0,
- "lineItems": [
- {
- "type": "string",
- "description": "string",
- "uid": "string",
- "quantity": 0,
- "unitPrice": 0,
- "discount": 0,
- "total": 0,
- "vat": 0
}
], - "externalId": "string",
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a new hearing test is recorded.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "clinic": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "testDate": "2019-08-24T14:15:22Z",
- "audiologist": "string",
- "durationOfLoss": "string",
- "occupation": "string",
- "familyDeafness": "string",
- "audiometer": "string",
- "notes": "string",
- "audiogram": { },
- "leftEarHealth": { },
- "rightEarHealth": { },
- "hearingLossCauses": { },
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a hearing test is modified.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "clinic": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "testDate": "2019-08-24T14:15:22Z",
- "audiologist": "string",
- "durationOfLoss": "string",
- "occupation": "string",
- "familyDeafness": "string",
- "audiometer": "string",
- "notes": "string",
- "audiogram": { },
- "leftEarHealth": { },
- "rightEarHealth": { },
- "hearingLossCauses": { },
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Fired when a hearing test is deleted.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "uid": "string",
- "clinic": "string",
- "patient": {
- "uid": "string",
- "fullName": "string",
- "tracking": {
- "provider": "string",
- "ids": {
- "gclid": "123abc",
- "campaignId": "summer2025"
}, - "utm_term": "string",
- "utm_campaign": "string",
- "utm_content": "string",
- "utm_medium": "string",
- "utm_source": "string"
}
}, - "testDate": "2019-08-24T14:15:22Z",
- "audiologist": "string",
- "durationOfLoss": "string",
- "occupation": "string",
- "familyDeafness": "string",
- "audiometer": "string",
- "notes": "string",
- "audiogram": { },
- "leftEarHealth": { },
- "rightEarHealth": { },
- "hearingLossCauses": { },
- "created": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}, - "updated": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "uid": "string",
- "fullName": "string"
}
}
}
}Sent when a user clicks the "Test" button in the portal. Not subscribable — always delivered to the webhook being tested.
| id required | string Unique event ID prefixed with |
| type required | string The event type. |
| createdAt required | string <date-time> ISO 8601 timestamp of when the event was created. |
required | object The entity payload. Shape varies by event type. |
{- "id": "evt_d290f1ee-6c54-4b01-90e6-d701748f0851",
- "type": "patient.created",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "message": "This is a test webhook event from HearLink.",
- "triggeredBy": "string"
}
}