PhysicalDeduplicationCopyDto
| Field | Required | Description |
|---|---|---|
assetId | Yes | Duplicate asset owned by a non-retained account |
canView | Yes | Whether the requesting administrator may view this asset and its thumbnail |
checksum | Yes | Hex-encoded SHA-1 checksum of the original file |
checksumMatch | Yes | Whether checksum and byte size match a retained original |
decision | Yes | See definition below |
duration | Yes | Video length in milliseconds, when known |
height | Yes | Height in pixels, when known |
originalFileName | Yes | string |
originalPath | Yes | Path of the duplicate copy on disk |
ownerId | Yes | string |
ownerName | Yes | Display name of the copy owner |
reason | Yes | Present when the decision is skip |
retainedAssetId | Yes | Retained original this copy matches, if any |
sizeInBytes | Yes | integer |
type | Yes | See definition below |
width | Yes | Width in pixels, when known |
Complete definition
required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.
Field definitions: PhysicalDeduplicationDecision, PhysicalDeduplicationSkipReason, AssetTypeEnum
{
"properties": {
"assetId": {
"description": "Duplicate asset owned by a non-retained account",
"type": "string"
},
"canView": {
"description": "Whether the requesting administrator may view this asset and its thumbnail",
"type": "boolean"
},
"checksum": {
"description": "Hex-encoded SHA-1 checksum of the original file",
"type": "string"
},
"checksumMatch": {
"description": "Whether checksum and byte size match a retained original",
"type": "boolean"
},
"decision": {
"$ref": "#/components/schemas/PhysicalDeduplicationDecision"
},
"duration": {
"description": "Video length in milliseconds, when known",
"maximum": 9007199254740991,
"minimum": 0,
"nullable": true,
"type": "integer"
},
"height": {
"description": "Height in pixels, when known",
"maximum": 9007199254740991,
"minimum": 0,
"nullable": true,
"type": "integer"
},
"originalFileName": {
"type": "string"
},
"originalPath": {
"description": "Path of the duplicate copy on disk",
"type": "string"
},
"ownerId": {
"type": "string"
},
"ownerName": {
"description": "Display name of the copy owner",
"type": "string"
},
"reason": {
"allOf": [
{
"$ref": "#/components/schemas/PhysicalDeduplicationSkipReason"
}
],
"description": "Present when the decision is skip",
"nullable": true
},
"retainedAssetId": {
"description": "Retained original this copy matches, if any",
"nullable": true,
"type": "string"
},
"sizeInBytes": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"type": {
"$ref": "#/components/schemas/AssetTypeEnum"
},
"width": {
"description": "Width in pixels, when known",
"maximum": 9007199254740991,
"minimum": 0,
"nullable": true,
"type": "integer"
}
},
"required": [
"assetId",
"canView",
"checksum",
"checksumMatch",
"decision",
"duration",
"height",
"originalFileName",
"originalPath",
"ownerId",
"ownerName",
"reason",
"retainedAssetId",
"sizeInBytes",
"type",
"width"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.