Skip to main content
Complete reference of all webhook events sent by Parchment, including payload structures and examples.

Event Structure

All webhooks follow this standard structure:

Root Event Fields

Data Object (Common Fields)

Reserved Metadata Fields

Every webhook includes a top-level metadata object carrying three reserved fields. They are opaque pass-through values for partner use: you supply them and Parchment echoes them back unchanged on the resulting webhook, so you can correlate an event to your own context (an order id, session, etc.). How they are populated: append reserved_1 / reserved_2 / reserved_3 as query parameters on the redirect_path when generating an SSO token (see Embedded iframe → Reserved parameters). Each field is delivered on the webhook only when present and non-empty; absent fields arrive as null, and values longer than 30 characters are truncated.

Example: SSO request → webhook metadata

A telehealth partner tying a prescription back to their own booking, consultation, and acquisition channel generates the SSO token with those values on the redirect_path:
When the clinician completes the action (e.g. creating a prescription), those values are echoed on the webhook metadata so the partner can reconcile the event against their booking system:

Prescription Events

prescription.created

Sent when a new prescription is created in Parchment.
Root Fields: Data Fields: When to expect:
  • After a prescription is successfully created via the Parchment portal or iFrame
  • Sent immediately after prescription creation is complete
Common use cases:
  • Update your system with the new prescription SCID
  • Use the SCID to fetch full prescription details via the Get Patient Prescriptions API endpoint
  • Sync prescription data to your platform
  • Trigger follow-up workflows (e.g., patient notifications)
The webhook provides the SCID (Script Control Identifier) which you can use to retrieve the complete prescription details by calling the Get Patient Prescriptions API endpoint with the partner_patient_id.

prescription.ceased

Sent when an active prescription is ceased (stopped) in Parchment.
Root Fields: Data Fields: When to expect:
  • After an active prescription is ceased via the Parchment portal or iFrame
  • Sent immediately after the cease action is complete
Common use cases:
  • Mark the prescription as no longer active in your system
  • Stop any follow-up workflows tied to the ceased prescription
  • Use the SCID to fetch the latest prescription state via the Get Patient Prescriptions API endpoint

prescription.cancelled

Sent when a prescription is cancelled in Parchment.
Root Fields: Data Fields: When to expect:
  • After a prescription is cancelled via the Parchment portal or iFrame
  • Sent immediately after the cancel action is complete
Common use cases:
  • Mark the prescription as cancelled in your system
  • Reverse or void any workflow tied to the cancelled prescription
  • Use the SCID to fetch the latest prescription state via the Get Patient Prescriptions API endpoint

prescription.reissued

Sent when a prescription is reissued in Parchment (the prescription token is re-delivered; the SCID is unchanged).
Root Fields: Data Fields: When to expect:
  • After a prescription token is reissued via the Parchment portal or iFrame
  • Sent immediately after the reissue action is complete
Common use cases:
  • Notify the patient that the prescription token has been re-sent
  • Refresh any cached prescription token / delivery details in your system
  • Use the SCID to fetch the latest prescription state via the Get Patient Prescriptions API endpoint
The fetched prescription includes a delivery object describing how and where it was sent (channel, recipient type, destination, and the pharmacy identity for pharmacy sends). delivery always reflects the current version, so a reissue overwrites it. To build a full delivery history (e.g. an original send followed by reissues to different addresses), fetch the prescription in response to each prescription.created / prescription.reissued notification — every fetch returns the delivery state as at that event. The webhook payload itself carries IDs only.

Event Filtering

By Event Type

Process only specific event types: