Desktop plumbing: creates the device from the app's device metadata, or updates it, links it to the caller's extraction code, organization and case, and creates or updates the case's data-source status for it. Returns the device without the lists of organizations and extraction codes it is linked to.
POST
/extraction/device/add-update-device
curl \
--request POST 'http://api.example.com/extraction/device/add-update-device' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"deviceId": "string",
"deviceType": "unknown",
"deviceMetadata": {}
}'
Request examples
{
"deviceId": "string",
"deviceType": "unknown",
"deviceMetadata": {}
}
Response examples (201)
{
"data": {
"createdAt": "2026-01-15T14:30:00.000Z",
"updatedAt": "2026-01-15T14:30:00.000Z",
"id": "507f1f77bcf86cd799439011",
"deviceId": "3F2504E0-4F89-11D3-9A0C-0305E82C3301",
"serialNumber": "F2LXK0QJHG7F",
"name": "Jane's iPhone",
"type": "ios",
"nonDeviceType": "string",
"model": "iPhone 15",
"timeZone": "America/New_York",
"osVersion": "18.0",
"owner": {},
"devicePhoneNumber": "+15555550100",
"availableData": {
"messages": true,
"calls": false
}
},
"statusCode": 201,
"timestamp": "2026-01-15T10:15:00.000Z"
}