Teladoc · AsyncAPI Specification
Teladoc Webhooks
Version
View Spec
View on GitHub
CompanyHealth TechTelehealthTelemedicineVirtual CareHealthcareBehavioral HealthWebhookAsyncAPIEvents
AsyncAPI Specification
generated: '2026-07-21'
method: searched
source: https://intouchhealth.github.io/solo-slate/
spec_type: Webhooks
api: Teladoc Health Solo External API
registration:
endpoint: POST /qapi/v1/webhooks
manage:
- GET /qapi/v1/webhooks
- GET /qapi/v1/webhooks/{webhookId}
- DELETE /qapi/v1/webhooks/{webhookId}
model: >-
Subscribers register a callback URL and select event types. On creation the
API returns an encryption key used to decrypt delivered payloads.
security:
payload_encryption: >-
Webhook payloads are encrypted with AES-256-CBC; the key is derived as a
sha256 hash from a salted secret supplied at webhook creation time.
events:
- name: patient:created
category: patient
- name: patient:updated
category: patient
- name: patient:deactivated
category: patient
- name: appointment:scheduled
category: appointment
- name: appointment:rescheduled
category: appointment
- name: appointment:cancelled
category: appointment
- name: appointment:completed
category: appointment
- name: appointment:incompleted
category: appointment
- name: appointment:no-show
category: appointment
- name: appointment:lwbs
category: appointment
note: left without being seen
- name: episode:created
category: episode
- name: episode:updated
category: episode
- name: intake:completed
category: intake
subscription_note: >-
Subscribing to intake:completed additionally requires an intakeQuestionIds[]
array on the webhook registration body, selecting which intake questions are
delivered.
payload_shape: fhir-diagnostic-report
payload_note: >-
Unlike every other event — which delivers a minimal {"event": ..., "data":
{"patientId"|"appointmentId": int}} envelope — intake:completed delivers a
FHIR-shaped resource: a DiagnosticReport with status, subject.identifier
(system "SPID"), encounter.identifier (system "SAID"), issued, and a
contained[] array of Observation resources, each carrying an id (the
question id), code.text (the question) and valueString (the answer). The
documentation never uses the word FHIR and names no version or profile.
payload_envelopes:
- scope: patient events
example: '{"event": {"type": "string"}, "data": {"patientId": {"type": "int"}}}'
- scope: appointment events
example: '{"event": {"type": "string"}, "data": {"appointmentId": {"type": "int"}}}'
- scope: intake:completed
example: FHIR DiagnosticReport with contained Observation resources (see payload_note).
registration_body:
endpoint: string — the subscriber callback URL
events: array of event names
intakeQuestionIds: array — only when intake:completed is subscribed
delivery:
retries: undocumented
signature_header: none
note: >-
No delivery-retry policy, no HMAC signature header and no replay endpoint are
documented; authenticity rests entirely on the AES-256-CBC payload
encryption key returned at subscription time.
last_verified: '2026-08-15'
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/teladoc-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.