Help Center/ CodeArts Repo/ API Reference/ APIs/ V4/ MergeRequest/ Reviewing a Merge Request
Updated on 2026-04-28 GMT+08:00

Reviewing a Merge Request

Function

This API is used to review 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

PUT https://{hostURL}/v4/repositories/{repository_id}/merge-requests/{merge_request_iid}/approval-review

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

Request Parameters

Table 2 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.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

action_type

No

String

Definition

Approving/Review.

  • approve: approving passed

  • reject: approving failed

  • complete: review passed

  • reset: reset approving or review result

approver_comment

No

String

Definition

Approving remarks.

Range

N/A.

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

[items]

Array of ApproverBasicDto objects

Get a merge request approver info

Table 5 ApproverBasicDto

Parameter

Type

Description

id

Integer

Definition

User ID.

Value range:

1~2147483647

name

String

Definition

Username.

username

String

Definition

Username.

name_cn

String

Definition

Name (CN).

Range

N/A.

email

String

Definition

Email.

Range

N/A.

state

String

Definition

Status.

  • optional: optional (approver and reviewer) (not approved or reviewed)

  • required: mandatory (approver and reviewer) (not approved or reviewed)

  • approve: approving passed

  • true: review passed

  • passed: approved or reviewed by others (not personally approved or reviewed)

  • reject: approving failed

updated_at

String

Definition

Update time.

Range

N/A.

avatar_url

String

Definition

Profile picture link.

Range

N/A.

nick_name

String

Definition

Alias.

Range

N/A.

tenant_name

String

Definition

Tenant name.

Range

N/A.

approver_comment

String

Definition

Approving remarks.

Range

N/A.

Status code: 401

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Status code: 403

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Example Requests

PUT https://{endpoint}/v4/projects/a642c851d4dc4853b595e5c8a5e56df7/hooks/1

[ {
  "action_type" : "complete"
}, {
  "approver_comment" : ""
} ]

Example Responses

Status code: 201

OK

[ {
  "id" : 10311,
  "avatar_url" : "",
  "email" : "",
  "name" : "dev1",
  "name_cn" : "Test account 1",
  "nick_name" : "dev1_nick",
  "state" : true,
  "tenant_name" : "example_name",
  "updated_at" : "2025-04-27T19:35:16.708+08:00",
  "username" : "dev2"
} ]

Status code: 401

Unauthorized

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

Status code: 403

Bad Request

{
  "error_code" : "CH.004403",
  "error_msg" : "Insufficient permissions. Apply for the required permissions and try again."
}

Status Codes

Status Code

Description

201

OK

401

Unauthorized

403

Bad Request

Error Codes

See Error Codes.