Fires when an order asset (such as a lab kit or uploaded document) is unlocked and made available for fulfillment — automatically, roughly one hour after being locked. targetEntity is the Order. The eventType is order_asset_unlocked.
Field Guarantee eventData.orderAssetId, orderId, unlockedAt✅ Always present (v1) order_asset_id, unlocked_at in v2 ✅ Always present when set in eventData asset_link, order_external_identifier in v2 ⚠️ Conditional — present when the emitting path includes link / externalIdentifier in eventData
JSON
{
"_id": "event::c1a2b3c4-xxxx-xxxx-xxxx-d5e6f7a8b9c0",
"ownerEntity": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
"ownerEntityModel": "Patient",
"targetEntity": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
"targetEntityModel": "Order",
"eventTitle": "Order asset unlocked.",
"eventDescription": "Order asset orderasset::9f8e7d6c-xxxx-xxxx-xxxx-1a2b3c4d5e6f is unlocked and available.",
"eventType": "order_asset_unlocked",
"eventData": {
"orderAssetId": "orderasset::9f8e7d6c-xxxx-xxxx-xxxx-1a2b3c4d5e6f",
"orderId": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
"unlockedAt": { "$date": "2026-01-01T11:00:00.000Z" }
},
"deleted": false,
"createdAt": { "$date": "2026-01-01T12:00:00.000Z" },
"updatedAt": { "$date": "2026-01-01T12:00:00.000Z" },
"__v": 0
}
eventData fieldType Always? Notes orderAssetIdstring ✅ The unlocked asset's id orderIdstring ✅ unlockedAtdate ✅ linkstring ⚠️ Asset download URL — present on some unlock paths externalIdentifierstring ⚠️ Order external identifier — present on some unlock paths
Sanitized envelope. Asset fields from eventData pass through on the ORDER allowlist.
JSON
{
"event_type": "order_asset_unlocked",
"event_id": "event::c1a2b3c4-xxxx-xxxx-xxxx-d5e6f7a8b9c0",
"api_version": "2026-08-09",
"timestamp": "2026-05-30T14:00:00.000Z",
"affiliate_id": "aff::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"patient_id": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
"patient_external_id": "ext-patient-123",
"patient_marketing_consent": false,
"is_returning_patient": true,
"order_id": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
"order_status": "requires_order_processing",
"order_asset_id": "orderasset::9f8e7d6c-xxxx-xxxx-xxxx-1a2b3c4d5e6f",
"unlocked_at": "2026-01-01T11:00:00.000Z",
"asset_link": "https://files.example/asset.pdf",
"order_external_identifier": "ext-order-55"
}
Field Delivered in v2 Notes Envelope + patient identity ✅ order_id, order_status✅ Resolved from the target order order_asset_id, unlocked_at✅ From eventData.orderAssetId / eventData.unlockedAt asset_link, order_external_identifier⚠️ From eventData.link / eventData.externalIdentifier when present