Desktop plumbing: posts a conversation upload status (message, conversation count, app version and device) to the internal Slack thread of the device's backup, and saves it, with any message selection report, as a notification record. Returns the Slack message ts; data is null or missing when the post failed.
POST
/extraction/notifications/conversation-uploads
curl \
--request POST 'http://api.example.com/extraction/notifications/conversation-uploads' \
--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
}
]
},
"deviceId": "string",
"deviceType": "unknown",
"extractionCode": "string",
"appVersion": "string",
"noOfConversations": 42.0,
"message": "string",
"threadTs": "string"
}'
Request examples
{
"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
}
]
},
"deviceId": "string",
"deviceType": "unknown",
"extractionCode": "string",
"appVersion": "string",
"noOfConversations": 42.0,
"message": "string",
"threadTs": "string"
}
Response examples (201)
{
"data": {
"ts": "1700000000.000100"
},
"statusCode": 201,
"timestamp": "2026-01-15T10:15:00.000Z"
}