Help Center/ CodeArts Repo/ API Reference/ APIs/ V4/ MergeRequest/ Obtaining the File Change Tree of a Merge Request
Updated on 2026-04-28 GMT+08:00

Obtaining the File Change Tree of a Merge Request

Function

This API is used to obtain the file change list tree of a merge request.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

URI

GET https://{hostURL}/v4/repositories/{repository_id}/merge-requests/{merge_request_iid}/changes-trees

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

repository_id

Yes

Integer

Definition

You can query the project list to obtain the repository ID by calling the API used to query user's all repositories.

Constraints

N/A.

Value range:

1~2147483647

merge_request_iid

Yes

Integer

Definition

MR internal ID (IID).

Value range:

1~2147483647

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

approval_user_id

No

Integer

Definition

Approver ID.

commit_id

Yes

String

Definition

commit ID.

Range

1–40 characters.

from_diff_id

No

Integer

Definition

ID of the source version for file change comparison.

to_diff_id

No

Integer

Definition

ID of the target version for file change comparison.

offset

No

Integer

Definition

Offset, which starts from 0.

Value range:

0~2147483647

Default value:

0

limit

No

Integer

Definition

Number of returned records.

Value range:

1~100

Default value:

20

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token. Obtain a token by calling the IAM API for obtaining a user token. The value of X-Subject-Token in the response header is the user token.

Constraints

Mandatory.

Range

1–100,000 characters.

Default Value

N/A.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

[items]

Array of ChangesTreeDto objects

MR file change list details

Table 5 ChangesTreeDto

Parameter

Type

Description

can_show_my_approval_files

Boolean

Definition

Display the approval file.

tree

Array of ChangesTreeObjectDto objects

Definition

Change tree.

Table 6 ChangesTreeObjectDto

Parameter

Type

Description

title

String

Definition

Change file name.

level

Integer

Definition

File level.

file_path

String

Definition

File path.

file_type

String

Definition

File type.

diff

ChangesTreeObjectDiffDto object

Definition

File change comparison.

items

Array of ChangesTreeObjectDto objects

Definition

Subfile change.

Table 7 ChangesTreeObjectDiffDto

Parameter

Type

Description

diff

String

Definition

Change content.

new_path

String

Definition

New change path.

old_path

String

Definition

Old change path.

a_mode

String

Definition

Old file permissions.

b_mode

String

Definition

New file permissions.

new_file

Boolean

Definition

New file or not.

renamed_file

Boolean

Definition

Renamed file or not.

deleted_file

Boolean

Definition

Deleted file or not.

too_large

Boolean

Definition

Whether the content is too long.

Status code: 400

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Status code: 401

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Example Requests

/v4/repositories/2111976239/merge-requests/6/changes

Example Responses

Status code: 200

OK

{
  "can_show_my_approval_files" : null,
  "tree" : [ {
    "title" : "test2",
    "level" : 1,
    "file_path" : "test2",
    "file_type" : "file",
    "diff" : {
      "diff" : "",
      "new_path" : "test2",
      "old_path" : "test2",
      "a_mode" : "0",
      "b_mode" : "100644",
      "new_file" : true,
      "renamed_file" : false,
      "deleted_file" : false,
      "too_large" : false
    }
  } ]
}

Status code: 400

Bad Request

{
  "error_code" : "CH.00405011",
  "error_msg" : "Request error."
}

Status code: 401

Unauthorized

{
  "error_code" : "DEV.00000003",
  "error_msg" : "Authentication information expired."
}

Status Codes

Status Code

Description

200

OK

400

Bad Request

401

Unauthorized

Error Codes

See Error Codes.