Desktop plumbing: records a device activity event (plugged in, backup started or finished, upload progress). A repeat of the same event within a short window is skipped.
Body
Required
-
Values are
unknown,android,ios,facebook_dump,instagram_dump,threads_dump, oremail. -
Values are
plugged-in,unplugged,backup-started,backup-completed,backup-failed,resync-started,resync-completed,resync-failed,conversation-upload-started,conversation-upload-completed,conversation-upload-failed,conversation-search,device-hash-saved,device-hash-matched,device-hash-not-matched,device-backup-deleted,case-export,conversation-added-to-case,conversation-removed-from-case,device-message-added-to-collection,device-message-removed-from-collection,comment-added-to-device-message,comment-removed-from-device-message,tag-added-to-device-message,tag-removed-from-device-message,device-backup-created, orconversation-uploaded. -
ISO date string
-
Required if type is either conversation-upload-completed or conversation-upload-started
-
App version
-
Set by app builds that already send the structured (v2) telemetry event for this activity, so the legacy activity-log translation is skipped and the activity is not recorded twice.
curl \
--request POST 'http://api.example.com/device-activity-log' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"messageSelectionReport": {
"version": 42.0,
"uploadAttemptId": "string",
"phase": {},
"platformImportAccepted": true,
"coverage": "string",
"eligibleScope": "string",
"conversations": [
{
"app": "message",
"conversationId": 42.0,
"mode": "string",
"selectedMessageCount": 42.0,
"eligibleMessageCount": 42.0,
"includedMessageCount": 42.0,
"omittedEligibleMessageCount": 42.0,
"selectedNotIncludedCount": 42.0,
"totalMessageCount": 42.0
}
]
},
"systemId": "string",
"deviceId": "string",
"deviceType": "unknown",
"type": "plugged-in",
"date": "string",
"conversationNames": [
"string"
],
"appVersion": "string",
"organizationId": "string",
"deviceMetadata": {},
"backupMetadata": {},
"extractionCode": "string",
"caseId": "string",
"osDetails": {
"arch": "string",
"platform": "string",
"version": "string",
"osType": "string",
"machine": "string",
"totalMemory": 42.0,
"cpus": {},
"extraInformation": {}
},
"addImmediate": true,
"failedReason": "string",
"telemetryV2": true
}'
{
"messageSelectionReport": {
"version": 42.0,
"uploadAttemptId": "string",
"phase": {},
"platformImportAccepted": true,
"coverage": "string",
"eligibleScope": "string",
"conversations": [
{
"app": "message",
"conversationId": 42.0,
"mode": "string",
"selectedMessageCount": 42.0,
"eligibleMessageCount": 42.0,
"includedMessageCount": 42.0,
"omittedEligibleMessageCount": 42.0,
"selectedNotIncludedCount": 42.0,
"totalMessageCount": 42.0
}
]
},
"systemId": "string",
"deviceId": "string",
"deviceType": "unknown",
"type": "plugged-in",
"date": "string",
"conversationNames": [
"string"
],
"appVersion": "string",
"organizationId": "string",
"deviceMetadata": {},
"backupMetadata": {},
"extractionCode": "string",
"caseId": "string",
"osDetails": {
"arch": "string",
"platform": "string",
"version": "string",
"osType": "string",
"machine": "string",
"totalMemory": 42.0,
"cpus": {},
"extraInformation": {}
},
"addImmediate": true,
"failedReason": "string",
"telemetryV2": true
}
{
"data": {
"message": "Done",
"isSuccess": true
},
"statusCode": 201,
"timestamp": "2026-01-15T10:15:00.000Z"
}