Support Case Status Updated

Fires when a support case changes — either its status (via a Jira webhook) or its assignee. The two triggers emit different eventData shapes under the same eventType, support_case_status_updated. ownerEntity is the Affiliate; targetEntity is the Case.

Field guarantees

FieldGuarantee
eventData (status-change firing)⚠️ Conditional — 6 case fields, with the external/Jira ones falling back to ""
eventData (assignee-change firing)⚠️ Conditional — a different shape keyed on assignee fields
Case fields in v2✅ Now delivered — support_case_id, support_case_status, support_case_name, support_case_category, external_case_identifier, external_case_status, external_case_url
📘

Two shapes under the same event type. Status-change firings carry internalCaseStatus/externalCaseStatus, while assignee-change firings carry assignedJiraAccountId/assignedDisplayName instead. Both now include case-identifying fields in v2. Assignee details (assignedUser, assignedDisplayName) are not included in v2 (PHI-adjacent).

v1 payload (legacy) — status-change firing

The more common firing, from a Jira webhook changing the case's status. eventData mirrors the key case fields.

{
  "ownerEntityModel": "Affiliate",
  "targetEntityModel": "Case",
  "deleted": false,
  "ownerEntity": { "id": "aff::81fdb635-xxxx-xxxx-xxxx-3568ba573d7d", "name": "<AFFILIATE_NAME>", "…": "affiliate document" },
  "targetEntity": {
    "externalCaseIdentifier": "SUP-4821",
    "externalCaseUrl": "https://jira.example.com/browse/SUP-4821",
    "externalCaseStatus": "In Progress",
    "internalCaseStatus": "Affiliate Review",
    "assignedUser": "usr::3f6d2c1b-xxxx-xxxx-xxxx-1c2d3e4f5a6b",
    "assignedDisplayName": "Jordan Reyes",
    "targetEntityModel": "Order",
    "targetEntityId": "order::7a2c1e3d-xxxx-xxxx-xxxx-13f5e2a55f21",
    "id": "case::c19d2e4a-xxxx-xxxx-xxxx-6f2b8d5a11c3"
  },
  "eventTitle": "Support Case Status Updated",
  "eventDescription": "Support case status updated to In Progress",
  "eventType": "support_case_status_updated",
  "eventData": {
    "internalCaseId": "case::c19d2e4a-xxxx-xxxx-xxxx-6f2b8d5a11c3",
    "internalCaseStatus": "Affiliate Review",
    "externalCaseIdentifier": "SUP-4821",
    "externalCaseStatus": "In Progress",
    "externalCaseUrl": "https://jira.example.com/browse/SUP-4821",
    "internalCaseCreatorId": "usr::a53e1c4b-xxxx-xxxx-xxxx-a6595eb8c3f4"
  },
  "_id": "event::7d4d747b-xxxx-xxxx-xxxx-9ba306c833d5",
  "createdAt": "2026-06-26T09:44:31.904Z",
  "updatedAt": "2026-06-26T09:44:31.904Z",
  "id": "event::7d4d747b-xxxx-xxxx-xxxx-9ba306c833d5"
}
eventData fieldTypeAlways?Notes
internalCaseId, internalCaseStatus, internalCaseCreatorIdstring✅ (status firing)Present on the status-change firing
externalCaseIdentifier, externalCaseStatus, externalCaseUrlstring⚠️"" when the Jira response omits them

Assignee-change firing

When only the assignee changes, the same eventType fires with a different eventData, keyed on assignee fields (assignedJiraAccountId, assignedDisplayName, assignedUser) rather than the status fields above. Detect it by the presence of assignee keys.

v2 payload (status-change firing)

Sanitized envelope with case-identifying fields.

{
  "event_type": "support_case_status_updated",
  "event_id": "event::7d4d747b-xxxx-xxxx-xxxx-9ba306c833d5",
  "api_version": "2026-08-09",
  "timestamp": "2026-05-30T14:00:00.000Z",
  "affiliate_id": "aff::81fdb635-xxxx-xxxx-xxxx-3568ba573d7d",
  "patient_marketing_consent": false,
  "is_returning_patient": false,
  "support_case_id": "case::c19d2e4a-xxxx-xxxx-xxxx-6f2b8d5a11c3",
  "support_case_status": "Affiliate Review",
  "support_case_name": "Order Issue - Payment Failed",
  "support_case_category": "Billing",
  "order_id": "order::7a2c1e3d-xxxx-xxxx-xxxx-13f5e2a55f21",
  "external_case_identifier": "SUP-4821",
  "external_case_status": "In Progress",
  "external_case_url": "https://jira.example.com/browse/SUP-4821"
}
FieldDelivered in v2Notes
Envelope
Patient identifiers⚠️Affiliate-owned event — patient_id/patient_external_id absent; the boolean enrichment fields (patient_marketing_consent, is_returning_patient) are still present, defaulting to false
support_case_id, support_case_status, support_case_name, support_case_categoryCase-identifying fields now delivered in v2
external_case_identifier, external_case_status, external_case_url⚠️Jira integration fields; may be empty if Jira is not configured
Assignee details (assignedUser, assignedDisplayName, assignedJiraAccountId)Not delivered in v2 (PHI-adjacent) — present in v1 on assignee-change firings only