Updated on 2025-10-22 GMT+08:00

Listing Change Records

Function

List change records.

Authorization Information

No identity policy-based permission required for calling this API.

URI

POST /koodrive/ose/v1/syncDir/listChange

Request Parameters

Table 1 Request header parameters

Parameter

Mandatory

Type

Description

Authorization

Yes

String

Access token. Token authentication is used to call KooDrive APIs. A token indicates the permission. When an API is called, the token is added to the request header to obtain the operation permission. For details about how to obtain an access token, see the corresponding developer guide. The format is Bearer+{access_token}.

X-User-Id

Yes

String

User ID, which is used for app authentication.

X-Date

Yes

String

Date, which is used for app authentication.

Host

Yes

String

Address, which is used for app authentication.

X-Traceid

No

String

Message log trace ID. The value contains 58 bits.

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

container

Yes

String

Space ID.

syncDirId

Yes

String

Synchronization drive ID.

deviceId

Yes

String

Device ID.

cursor

Yes

String

Start cursor.

pageSize

Yes

Integer

Number of records on each page.

Value range: 1 to 100

Default: 10

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

fileChangeList

Array of FileChangeInfo objects

List of file change records.

nextCursor

String

Next cursor for pagination query.

hasMore

Boolean

Whether there are more change records.

Table 4 FileChangeInfo

Parameter

Type

Description

policy

String

Cloud space address. The value is fixed at aggregate.

File change information generation policy. Currently, only full, latest, and aggregate are supported.

full: All file change information is returned. If a file is changed for multiple times, multiple change records are returned.

latest: The latest file status snapshot after the file is changed is returned. If a file is changed for multiple times, only the final file status is returned.

aggregate: The change information is aggregated by change type. If a file is changed for multiple times, the change information of each type is returned.

changeType

String

Change type.

fileInfo

File object

Cloud space file metadata.

deviceId

String

ID of the device that initiates the change.

extInfo

FileChangeExtInfo object

Extension information.

Table 5 File

Parameter

Type

Description

category

String

Category.

id

String

File ID.

fileName

String

File name, which contains up to 160 bytes.

fileType

String

File type, which is input externally.

mimeType

String

Content type.

description

String

File description. The value contains up to 512 characters and cannot contain emojis or invalid characters.

favorite

Boolean

Whether the file is added to favorites.

recycled

Boolean

Whether the file is moved to the recycle bin.

directlyRecycled

Boolean

Whether the file is directly moved to the recycle bin. If the folder containing this file is deleted, the value is false. If the file is directly deleted, the value is true.

recyclingUser

User object

User that deletes the file.

recycledTime

String

Time when the file is moved to the recycle bin.

parentFolder

Array of strings

List of the parent directory IDs. Currently, only the first ID is used.

properties

Map<String,String>

Common user-defined attributes of the file. The number of key-value pairs cannot exceed 30. A single key-value pair can contain up to 124 characters.

appSettings

Map<String,String>

User-defined app attributes. The number of key-value pairs cannot exceed 30. A single key-value pair can contain up to 124 characters.

containers

Array of strings

Space ID.

version

Integer

Version number.

createdTime

String

File creation time.

editedTime

String

File modification time.

editedByMeTime

String

Time when you modify the file.

editedByMe

Boolean

Whether the file is modified by you.

sharedWithMeTime

String

Time when the file is shared to you.

sharer

User object

User who shares the file.

owners

Array of User objects

Owner.

lastEditor

User object

Last editor.

hasShared

Boolean

Whether the file is shared.

ownedByMe

Boolean

Whether the file is uploaded by you.

capabilities

Capabilities object

Capabilities.

viewersHasCopyContentPermission

Boolean

Whether a viewer can copy content.

writerHasCopyPermission

Boolean

Whether the writer permission is required for replication.

writersHasSharePermission

Boolean

Whether a user with the write permission can share the file.

originalFilename

String

Original file name, which contains up to 80 characters. The value cannot contain <>|:"*? /\ or emojis. The value cannot be two periods (..), a period (.), or a space.

fullFileSuffix

String

Complete file name extension, which is the characters following the first period (.) in the name.

fileSuffix

String

File name extension, which is the last character string of fullFileExtension.

size

Integer

File size.

pictureMetadata

PictureMetadata object

Image metadata.

videoMetadata

VideoMetadata object

Video metadata.

audioMetadata

AudioMetadata object

Audio metadata.

sha256

String

SHA256 of the file.

lastHistoryVersionId

String

ID of the latest historical version.

attachments

Array of Attachment objects

Attachment (Usage, Attachment). Only the app ID of the risk control service is returned.

iconDownloadLink

String

Icon link.

existThumbnail

Boolean

Whether a thumbnail is available.

privateKey

String

Special folder ID. The usage rules are as follows:

  • The name cannot be _default.

  • This parameter can be specified only when the folder is created in the space root directory.

  • This parameter can be specified only when a folder is created.

  • The value must be unique in the same space.

signedDownloadLink

String

Download link of the FileProxy signature, which is used for online playback.

downloadLinks

Array of DownloadLink objects

Link for downloading FileProxy files.

localPath

String

ID path of the top-level parent directory during change (the first 10 levels are used). This parameter is returned for change record and file query.

sortName

String

Sorting name after filename conversion.

userProperties

PrivateProperties object

User attributes.

Table 6 User

Parameter

Type

Description

category

String

Type. The value is drive#user.

userId

String

Huawei user ID.

displayName

String

Display name of the user.

me

Boolean

Whether you are the user.

permissionId

String

Permission ID.

Table 7 Capabilities

Parameter

Type

Description

addChildNodePermission

Boolean

Whether a sub-directory or sub-file can be added.

writerHasChangeCopyPermission

Boolean

Whether the write permission is required for change and replication.

commentPermission

Boolean

Whether comments can be made.

copyPermission

Boolean

Whether the file can be copied.

deletePermission

Boolean

Whether the file can be deleted.

downloadPermission

Boolean

Whether the content can be downloaded.

editPermission

Boolean

Whether the file can be edited.

listChildNodePermission

Boolean

Whether sub-directories or sub-files can be listed.

editContentPermission

Boolean

Whether the content can be modified.

readHistoryVersionPermission

Boolean

Whether a backup can be read.

removeChildNodePermission

Boolean

Whether a sub-directory can be moved.

renameFilePermission

Boolean

Whether the file can be renamed.

shareFilePermission

Boolean

Whether the file can be shared.

recyclePermission

Boolean

Whether the file can be moved to the recycle bin.

unrecyclePermission

Boolean

Whether moving a sub-file to the recycle bin can be withdrawn.

Table 8 PictureMetadata

Parameter

Type

Description

width

Integer

Photo width.

height

Integer

Photo height.

rotation

Integer

Photo rotation angle. This parameter is not available currently.

location

Location object

Location information.

exifTime

String

Time of the photo. The value is an EXIF DateTime.

cameraMaker

String

Camera manufacturer.

cameraModel

String

Camera model.

exposureTime

Float

Exposure time, in seconds.

aperture

Float

Aperture f-number.

flashUsed

Boolean

Whether the flash is used.

focalLength

Float

Focal length, in millimeters.

isoSpeed

Integer

ISO speed.

meteringMode

String

Metering mode.

sensor

String

Sensor type.

exposureMode

String

Exposure mode.

colorSpace

String

Color space.

whiteBalance

String

White balance mode.

exposureBias

Float

Exposure bias. The value is an APEX value.

maxApertureValue

Float

Maximum aperture. The value is an APEX value.

subjectDistance

Integer

Distance to subject, in meters. This parameter is not available currently.

lens

String

Lens.

Table 9 Location

Parameter

Type

Description

latitude

Double

Latitude.

longitude

Double

Longitude.

altitude

Double

Altitude.

Table 10 VideoMetadata

Parameter

Type

Description

width

Integer

Width.

height

Integer

Altitude.

durationTime

Integer

Duration, in milliseconds.

position

String

Longitude and latitude information. The format is "x":"111","y":"222","z":"2222".

rotation

Integer

Rotation angle. Value range: 1 to 8.

format

String

Video encoding format, for example, H.264, H.265, VP8, VP9, Ogg, and MPEG-4 AVC.

dynamicRange

String

SDR or HDR.

snapshotTime

String

Shooting time.

Table 11 AudioMetadata

Parameter

Type

Description

durationTime

Integer

Duration, in milliseconds.

sampleRate

String

Sampling rate, for example, 16,000 or 48,000.

encoding

String

Audio encoding format, for example, PCM, AAC, AMR, or AMR-WB.

codeRate

Number

Bit rate, in kbit/s. Example: 12.8.

rateModel

String

Bit rate mode, for example, CBR.

languageCode

String

Language code, for example, en.

Table 12 Attachment

Parameter

Type

Description

usage

String

Default usage: content or thumbnail. This parameter is customizable.

assetId

String

Asset ID

length

Long

File size.

versionId

String

Asset version ID.

mimeType

String

MIME type.

hash

String

Hash of the resource associated with the asset.

sha256

String

SHA256 of the resource associated with the asset.

createdTime

String

Time when the data is created.

modifiedTime

String

Time when the data is last modified.

attributes

Map<String,Object>

Type attributes.

asset

Asset object

Asset.

Table 13 Asset

Parameter

Type

Description

id

String

Asset ID

versionId

String

Asset version ID.

version

Long

Version number.

mimeType

String

MIME type

keepPolicy

Integer

Storage policy of historical versions.

  • 0: automatic clearance. Two versions are retained. The earliest version is deleted when the third version is added. (This prevents obtaining failures in concurrent scenarios.)

  • 1: permanent storage.

state

Integer

Data status.

  • 0: available.

  • 1: unavailable.

  • 2: temporary.

  • 3: retained (flash upload unsupported).

  • 4: to be cut over.

createdTime

String

Time when the data is created.

modifiedTime

String

Time when the data is last modified.

lastModifyingUser

String

UPID of the user that last modifies the data.

resource

Resource object

Resource.

cipher

Cipher object

Cipher.

attributes

Map<String,Object>

Type attributes. A key consists of letters and digits and starts with a letter. A value cannot contain emojis. The size of an attribute is not limited, but the total size cannot exceed 16 KB. Attribute options:

  • pictureMetadata: image attribute data. For details, see the definition of PictureMetadata.

  • videoMetadata: video attribute data. For details, see the definition of VideoMetadata.

  • audioMetadata: audio attribute data. For details, see the definition of AudioMetadata.

  • contentDisposition: used when response-content-disposition is not specified for the downloaded attachment (valid when resource.type is set to 12).

properties

Map<String,String>

Extended attributes.

Table 14 Resource

Parameter

Type

Description

id

String

ID of the file resource.

hash

String

Hash of the file resource.

length

Long

Size of the file resource.

sha256

String

SHA256 of the file (used for integrity check).

type

Integer

Resource type.

  • 0: ciphertext multipart file.

  • 3: plaintext multipart file.

  • 12: plaintext single-part file.

state

Integer

Data status.

  • 0: available.

  • 1: unavailable.

  • 2: temporary.

  • 3: retained (flash upload unsupported).

  • 4: to be cut over.

sliceSize

Long

Part size.

hfek

String

Hash of the FEK of the encrypted file. This parameter is applicable when type is set to 0.

iv

String

IV of the encrypted file. This parameter is applicable when type is set to 0.

createdTime

String

Time when the data is created.

modifiedTime

String

Time when the data is last modified.

objects

Array of SliceObject objects

Part object, which is applicable when type is set to 0 or 3.

attributes

Map<String,Object>

Type attributes.

properties

Map<String,String>

Extended attributes.

Table 15 SliceObject

Parameter

Type

Description

id

String

Part ID.

number

Integer

Part No., starting from 0. This parameter is not applicable when type is set to 12.

start

Long

Start position of a part, which is not applicable when type is set to 12.

sha256

String

SHA256 of the part (or SHA256 of the ciphertext if the part is encrypted.)

length

Long

Part length (or ciphertext length if the part is encrypted).

bucket

String

OBS bucket information.

createdTime

String

Time when the data is created.

modifiedTime

String

Time when the data is last modified.

uploadUrl

EndpointURL object

Upload URL.

downloadUrl

EndpointURL object

Download URL.

uploadId

String

Multipart upload ID. This parameter is applicable when type is set to 12 and uploadMode is set to multipart.

attributes

Map<String,Object>

Type attributes.

properties

Map<String,String>

Extended attributes.

images

Array of Images objects

Thumbnail.

Table 16 EndpointURL

Parameter

Type

Description

url

String

URL.

method

String

Request method.

headers

Map<String,String>

Request header.

forms

Map<String,String>

Form parameter, which is applicable when type is set to 12 and uploadMode is set to post.

partId

String

Multipart parameter, which is applicable when type is set to 12 and uploadMode is set to multipart.

Table 17 Images

Parameter

Type

Description

process

String

File resource name.

downloadUrl

EndpointURLMetadata object

URL structure for file upload or download.

Table 18 EndpointURLMetadata

Parameter

Type

Description

url

String

URL.

method

String

Request method.

Table 19 Cipher

Parameter

Type

Description

algorithm

String

Encryption algorithm.

hfek

String

Hash of the FEK of the encrypted file. This parameter is applicable when type is set to 0 or 4.

iv

String

IV of the encrypted file. This parameter is applicable when type is set to 0 or 4.

dataType

Integer

Data type.

  • 11: sync drive.

keychains

Array of Keychain objects

Keychain.

Table 20 Keychain

Parameter

Type

Description

id

String

Key UUID.

type

Integer

Key type.

  • 1: efek.

  • 2: zfek.

  • 3: sfek.

algorithm

String

Encryption algorithm.

ekey

String

Encrypted key.

Table 22 PrivateProperties

Parameter

Type

Description

attributes

Map<String,Object>

Type attributes (The size of a single attribute is not limited, but the total size cannot exceed 16 KB.)

properties

Map<String,String>

Extended attributes (The size of a single attribute is not limited, but the total size cannot exceed 16 KB.)

Table 23 FileChangeExtInfo

Parameter

Type

Description

moveType

Integer

File movement type.

1: move in the synchronization directory

2: move out of the synchronization directory

3: move to the synchronization directory

Note: This parameter is returned only when changeType is set to 5.

srcParentFileId

String

Parent directory ID before the file change.

Note: This parameter is returned only when changeType is set to 4, 5, or 6.

idPath

String

Full path of the file ID after the change.

Note: This parameter is returned only when changeType is set to 4, 5, or 6.

localOperatedAt

Long

Local file operation time, in milliseconds.

Example Requests

Example for listing change records.

POST /koodrive/ose/v1/syncDir/listChange

{
  "container" : "K*****",
  "syncDirId" : "K*****",
  "deviceId" : "K*****",
  "cursor" : "0",
  "pageSize" : "10"
}

Example Responses

Status code: 200

Response to the request for listing change records.

{
  "fileChangeList" : [ {
    "policy" : "full",
    "changeType" : "add",
    "fileInfo" : {
      "id" : "FmZxJyIQz5B1DtzgjM4FCuI94CpzrMZMd",
      "fileName" : "test.txt",
      "favorite" : false,
      "mimeType" : "text/plain",
      "fileSuffix" : "txt",
      "recycled" : false,
      "hidden" : false,
      "size" : 4,
      "directlyRecycled" : false,
      "parentFolder" : [ "FhrBCdI6kLcSzy5hGs7FPGZBUASDhplrE" ],
      "containers" : [ "IAAE0gxbkQ1RvAncA1649517393090925824" ],
      "properties" : {
        "localCreatedAt" : "",
        "localUpdatedAt" : ""
      },
      "sha256" : "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
      "attachments" : [ {
        "assetId" : "1765316142659898496",
        "versionId" : "1765316142659898497",
        "attributes" : {
          "fileName" : "test.txt",
          "localCreatedAt" : "",
          "createdBy" : "c937ff95eeb44494a5a967e21d1852ae",
          "resource" : {
            "id" : "1762995278538867328",
            "object" : {
              "bucket" : "obs-koodrive-test-2",
              "objectId" : "2c9c760947e3454c8693a1718b5c2081086"
            }
          },
          "localUpdatedAt" : ""
        },
        "hash" : "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
        "length" : 4,
        "mimeType" : "text/plain",
        "usage" : "content",
        "sha256" : "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
        "createdTime" : "2025-09-01T08:08:03.357Z",
        "modifiedTime" : "2025-09-01T08:08:03.357Z"
      } ],
      "owners" : [ {
        "category" : "drive#user",
        "me" : true,
        "permissionId" : "1649517393443190528",
        "userId" : "YzkzN2ZmOTVlZWI0NDQ5NGE1YTk2N2UyMWQxODUyYWUtMTY0OTUxNzI5MTIwMjg5MzA1Nw"
      } ],
      "lastEditor" : {
        "category" : "drive#user",
        "me" : true,
        "permissionId" : "1649517393443190528",
        "userId" : "YzkzN2ZmOTVlZWI0NDQ5NGE1YTk2N2UyMWQxODUyYWUtMTY0OTUxNzI5MTIwMjg5MzA1Nw"
      },
      "fileType" : "26",
      "createdTime" : "2025-09-01T08:08:03.092Z",
      "editedTime" : "2025-09-01T08:08:03.847Z",
      "userProperties" : {
        "properties" : {
          "hidden" : "false"
        }
      },
      "creatingUser" : "YzkzN2ZmOTVlZWI0NDQ5NGE1YTk2N2UyMWQxODUyYWUtMTY0OTUxNzI5MTIwMjg5MzA1Nw"
    },
    "extInfo" : {
      "idPath" : "FmZxJyIQz5B1DtzgjM4FCuI94CpzrMZMd"
    }
  } ],
  "hasMore" : false,
  "code" : 0,
  "msg" : "Success"
}

Status Codes

Status Code

Description

200

Response to the request for listing change records.