TELUS · AsyncAPI Specification
Telus Chr Event Notifications
Version
View Spec
View on GitHub
TelecommunicationsCanadaMobile Network OperatorBroadbandNetwork APIsCAMARAOpen GatewaySIM SwapIdentity VerificationLocation IntelligenceIoT5GHealthcareElectronic Medical RecordsGraphQLWebhooksGeospatialAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-07-25'
method: searched
source: https://help.inputhealth.com/en/articles/7988802-chr-enterprise-api-event-notifications
spec_type: WebhookCatalog
asyncapi_published: false
asyncapi_note: >-
TELUS publishes no AsyncAPI document for this surface. This file is the captured webhook catalogue
exactly as documented — event topics, delivery mechanism, payload policy, signing and retry — and
is deliberately NOT dressed up as an AsyncAPI specification, because none exists.
description: >-
The TELUS Health CHR Enterprise API ships a real event surface: the Enterprise API Event
Notification Service (ENS), "a feature allowing an API Consumer to receive notifications whenever
one or more specific events occur in your account, via a webhook mechanism." It is the only
push/event surface anywhere in the TELUS estate — the Insights Location API is asynchronous but
uses job polling, not callbacks.
api: TELUS Health CHR Enterprise API
service: Enterprise API Event Notification Service (ENS)
transport: HTTPS webhook (POST to a consumer-supplied URL)
payload_format: JSON
subscription:
managed_in: CHR product UI — Settings > Enterprise API > edit an API Consumer > Subscriptions tab
fields: [name, url, secret, topics]
multiple_subscriptions: true
self_serve_api: false
note: Subscriptions are created in the product, not through the GraphQL API.
security:
signed: true
mechanism: >-
"The CHR signs each notification with a 'secret'. The resulting signature is included in the
request header." The secret is supplied by the consumer at subscription time.
header_name: not published
verification_guidance: Verify the signature header before trusting a notification.
delivery:
retry_policy: >-
"If a notification fails for any reason, the ENS uses a backoff mechanism to retry sending the
request to your endpoint 5 times: after 5, 10, 20, 60 and 120 minutes."
retry_attempts: 5
retry_backoff_minutes: [5, 10, 20, 60, 120]
ordering_guarantee: not published
deduplication: not published
payload_policy:
contains_phi: false
statement: >-
"The notification payload contains only IDs and other fields, no personal information or
personal health information."
common_fields: [topic, subscriptionId, accountDomain, isImporting]
event_fields: >-
Identifiers for the resources involved in the event (for example appointmentId, patientId,
providerId). The consumer is expected to call the GraphQL API with those ids to fetch the
actual record.
pattern: thin-event / claim-check — the webhook is a pointer, the GraphQL API is the payload.
topics:
- topic: appointment.created
domain: Appointments
- topic: appointment.updated
domain: Appointments
- topic: appointment.canceled
domain: Appointments
- topic: appointment.deactivated
domain: Appointments
- topic: patient_demographics.created
domain: Patients
- topic: patient_demographics.updated
domain: Patients
- topic: patient_demographics.archived
domain: Patients
- topic: patient.merged
domain: Patients
- topic: qnaire.completed
domain: Questionnaires
- topic: encounter.created
domain: Encounters
- topic: encounter.signed
domain: Encounters
- topic: encounter.unlocked
domain: Encounters
- topic: encounter.deleted
domain: Encounters
- topic: referral.incoming.created
domain: Referrals
- topic: referral.incoming.updated
domain: Referrals
- topic: referral.internal.created
domain: Referrals
- topic: referral.internal.updated
domain: Referrals
- topic: referral.outgoing.created
domain: Referrals
- topic: referral.outgoing.updated
domain: Referrals
- topic: task.created
domain: Tasks
added: '2026-02'
source: https://help.inputhealth.com/en/articles/13391004-what-s-new-in-the-api-2026
- topic: task.updated
domain: Tasks
added: '2026-02'
source: https://help.inputhealth.com/en/articles/13391004-what-s-new-in-the-api-2026
topic_count: 21
domains: [Appointments, Patients, Questionnaires, Encounters, Referrals, Tasks]
related:
graphql_schema: graphql/telus-chr-enterprise-api.graphql
changelog: changelog/telus-changelog.yml
authentication: authentication/telus-authentication.yml
other_surfaces:
- api: TELUS Insights Location API
events: false
note: >-
Asynchronous by design but poll-based — POST a job, then GET /count/{type}/{jobId} until
status == "COMPLETE". No callbacks, no event catalogue, no AsyncAPI.